Query Serving
Errors a users might encounter while querying Vitess
These error messages are internal to Vitess. If you are getting other errors from MySQL you can check them on this MySQL error page.
New Errors
ID | Description | Error | MySQL Error Code | SQL State |
---|---|---|---|---|
VT03001 | This aggregation function only takes a single argument. | aggregate functions take a single argument ‘%s’ | 1149 | 42000 |
VT03002 | This schema change is not allowed. You cannot change the keyspace of a table. | changing schema from ‘%s’ to ‘%s’ is not allowed | 1450 | HY000 |
VT03003 | The specified table in this DELETE statement is unknown. | unknown table ‘%s’ in MULTI DELETE | 1109 | 42S02 |
VT03004 | You cannot delete something that is not a real MySQL table. | the target table %s of the DELETE is not updatable | 1288 | HY000 |
VT03005 | The planner does not allow grouping on certain field. For instance, aggregation function. | cannot group on ‘%s’ | 1056 | 42000 |
VT03006 | The number of columns you want to insert do not match the number of columns of your SELECT query. | column count does not match value count at row 1 | 1136 | 21S01 |
VT03007 | You need to add a keyspace qualifier. | keyspace not specified | 0 | |
VT03008 | The given token is not usable in this situation. Please refer to the MySQL documentation to learn more about your token’s syntax. | incorrect usage/placement of ‘%s’ | 1234 | 42000 |
VT03009 | You cannot assign this type to the given variable. | unexpected value type for ‘%s’: %v | 1231 | 42000 |
VT03010 | You cannot set the given variable as it is a read-only variable. | variable ‘%s’ is a read only variable | 1238 | HY000 |
VT03011 | The given value type is not accepted. | invalid value type: %v | 0 | |
VT03012 | The syntax is invalid. Please refer to the MySQL documentation for the proper syntax. | invalid syntax: %s | 0 | |
VT03013 | This table or alias name is already use. Please use another one that is unique. | not unique table/alias: ‘%s’ | 1066 | 42000 |
VT03014 | The given column is unknown. | unknown column ‘%d’ in ‘%s’ | 1054 | 42S22 |
VT03015 | Cannot assign multiple values to a column in an update statement. | column has duplicate set values: ‘%v’ | 0 | |
VT03016 | The given column is unknown in the vindex table. | unknown vindex column: ‘%s’ | 0 | |
VT03017 | This vstream where clause can only be a greater than filter. | where clause can only be of the type ‘pos > | 1149 | 42000 |
VT03018 | You cannot use the NEXT syntax on a table that is not a sequence table. | NEXT used on a non-sequence table | 0 | |
VT03019 | The given column was not found or is not available. | column %s not found | 0 | |
VT03020 | The given column was not found in the subquery. | column %s not found in subquery | 0 | |
VT03021 | The given column is ambiguous. You can use a table qualifier to make it unambiguous. | ambiguous column reference: %v | 0 | |
VT03022 | The given column cannot be found. | column %v not found in %v | 0 | |
VT03023 | When targeting a range of shards, Vitess does not know which shard to send the INSERT to. | INSERT not supported when targeting a key range: %s | 0 | |
VT03024 | The query cannot be prepared using the user defined variable as it does not exists for this session. | ‘%s’ user defined variable does not exists | 0 | |
VT03025 | The execute statement have wrong number of arguments | Incorrect arguments to %s | 1210 | HY000 |
VT05001 | The given database does not exist; Vitess cannot drop it. | cannot drop database ‘%s’; database does not exists | 1008 | HY000 |
VT05002 | The given database does not exist; Vitess cannot alter it. | cannot alter database ‘%s’; unknown database | 1049 | 42000 |
VT05003 | The given database does not exist in the VSchema. | unknown database ‘%s’ in vschema | 1049 | 42000 |
VT05004 | The given table is unknown. | table ‘%s’ does not exist | 1109 | 42S02 |
VT05005 | The given table does not exist in this keyspace. | table ‘%s’ does not exist in keyspace ‘%s’ | 1146 | 42S02 |
VT05006 | The given system variable is unknown. | unknown system variable ‘%s’ | 1193 | HY000 |
VT05007 | Table information is not available. | no table info | 0 | |
VT06001 | The given database name already exists. | cannot create database ‘%s’; database exists | 1007 | HY000 |
VT09001 | the table does not have a primary vindex, the operation is impossible. | table ‘%s’ does not have a primary vindex | 1173 | 42000 |
VT09002 | This type of DML statement is not allowed on a replica target. | %s statement with a replica target | 1874 | HY000 |
VT09003 | A vindex column is mandatory for the insert, please provide one. | INSERT query does not have primary vindex column ‘%v’ in the column list | 0 | |
VT09004 | You need to provide the list of columns you want to insert, or provide a VSchema with authoritative columns. If schema tracking is disabled you can enable it to automatically have authoritative columns. | INSERT should contain column list or the table should have authoritative columns in vschema | 0 | |
VT09005 | A database must be selected. | no database selected: use keyspace<:shard><@type> or keyspace<[range]><@type> (<> are optional) | 1046 | 3D000 |
VT09006 | VITESS_MIGRATION commands work only on primary tablets, you must send such commands to a primary tablet. | %s VITESS_MIGRATION works only on primary tablet | 0 | |
VT09007 | VITESS_THROTTLED_APPS commands work only on primary tablet, you must send such commands to a primary tablet. | %s VITESS_THROTTLED_APPS works only on primary tablet | 0 | |
VT09008 | vexplain queries/all will actually run queries. /vt+ EXECUTE_DML_QUERIES / must be set to run DML queries in vtexplain. Example: vexplain /vt+ EXECUTE_DML_QUERIES / queries delete from t1 | vexplain queries/all will actually run queries | 0 | |
VT09009 | Stream is only supported for primary tablets, please use a stream on those tablets. | stream is supported only for primary tablet type, current type: %v | 0 | |
VT09010 | SHOW VITESS_THROTTLER STATUS works only on primary tablet. | SHOW VITESS_THROTTLER STATUS works only on primary tablet | 0 | |
VT09011 | The prepared statement is not available | Unknown prepared statement handler (%s) given to %s | 1243 | HY000 |
VT09012 | This type of statement is not allowed on the given tablet. | %s statement with %s tablet not allowed | 0 | |
VT09013 | Durability policy wants Vitess to use semi-sync, but the MySQL instances don’t have the semi-sync plugin loaded. | semi-sync plugins are not loaded | 0 | |
VT09014 | The vindex cannot be used as table in DML statement | vindex cannot be modified | 0 | |
VT10001 | Foreign key constraints are not allowed, see https://vitess.io/blog/2021-06-15-online-ddl-why-no-fk/. | foreign key constraints are not allowed | 0 | |
VT12001 | This statement is unsupported by Vitess. Please rewrite your query to use supported syntax. | unsupported: %s | 0 | |
VT13001 | This error should not happen and is a bug. Please file an issue on GitHub: https://github.com/vitessio/vitess/issues/new/choose. | [BUG] %s | 0 | |
VT13002 | This error should not happen and is a bug. Please file an issue on GitHub: https://github.com/vitessio/vitess/issues/new/choose. | unexpected AST struct for query: %s | 0 | |
VT14001 | The connection failed. | connection error | 0 | |
VT14002 | No available connection. | no available connection | 0 | |
VT14003 | No connection for the given tablet. | no connection for tablet %v | 0 | |
VT14004 | The specified keyspace could not be found. | cannot find keyspace for: %s | 0 | |
VT14005 | Failed to read sidecar database identifier. | cannot lookup sidecar database for keyspace: %s | 0 |
Old Errors
Error Number | Error State | Message | Meaning |
---|---|---|---|
1192 | HY000 | Can’t execute the given command because you have an active transaction | The provided statement cannot be executed inside a transaction. |
1231 | 42000 | invalid transaction_mode: %s | Valid transaction_mode values are ‘SINGLE’, ‘MULTI’ or ‘TWOPC’. |
1231 | 42000 | invalid workload: %s | Valid workload values are ‘OLTP’, ‘OLAP’ or ‘DBA’. |
1231 | 42000 | invalid DDL strategy: %s | Valid DDL strategies are gh-ost, pt-osc. |
1690 | 22003 | %s value is out of range in %v [+,-,*,/] %v | Arithmetic operation lead to out of range value for the type. |
1047 | 42000 | connection ID and transaction ID do not exist | The session is pointing to a transaction and/or reserved connection that is not valid. |
1105 | HY000 | %d is not a boolean | Tried setting a system variable to a value that could not be converted a boolean value. |
1105 | HY000 | %s is not a sequence | The given table is not a sequence table. |
1105 | HY000 | %v cannot be converted to a go type | This type can’t be represented as a golang value. |
1105 | HY000 | 2pc is not enabled | This functionality requires 2PC. Read more about ‘transaction_mode’ to learn how to enable it. |
1105 | HY000 | GTIDSet Mismatch: requested source position:%v, current target vrep position: %v | The requested GTIDSet does not exist in the vrep stream. |
1105 | HY000 | No target | TODO https://github.com/vitessio/vitess/blob/9542883311c0849c645cfb1b5c77ac761990b31b/go/vt/vttablet/tabletserver/state_manager.go#L376 |
1105 | HY000 | Unexpected error, DestinationKeyspaceID mapping to multiple shards | This is an internal error. If you see this error, please report it as a bug. |
1105 | HY000 | auto sequence generation can happen through single shard only, it is getting routed to %d shards | A sequence query has to be routed to a single shard, but this query was not. |
1105 | HY000 | could not parse value: ‘%s’ | Tried parsing a value as a number but failed. |
1105 | HY000 | disallowed due to rule: %s | The query was not permitted to execute because the session was lacking permissions to do so. |
1105 | HY000 | invalid increment for sequence %s: %d | The given sequence increment is incorrect it should be equal or greater than zero. |
1105 | HY000 | invalid keyspace %v does not match expected %v | The given keyspace target does not match this tablet’s keyspace name. |
1105 | HY000 | invalid shard %v does not match expected %v | The given shard target does not match this tablet’s shard. |
1105 | HY000 | invalid table name: %s | The table name contains invalid characters. |
1105 | HY000 | [%d,’%s’] is not a boolean | This error will be returned if you try to set a variable to a value that can’t be converted to a boolean value. |
1105 | HY000 | negative number cannot be converted to unsigned: %d | The column or variable is expecting an unsigned int, and negative numbers invalid here. |
1105 | HY000 | query arguments missing for %s | Argument expected but was missing. |
1105 | HY000 | require autocommit to be 1: got %s | Connection needs autocommit to be enabled, but it was not. |
1105 | HY000 | require sql_auto_is_null to be 0: got %s | Vitess requires the connection not use the auto_col functionality. |
1105 | HY000 | require sql_mode to be STRICT_TRANS_TABLES or STRICT_ALL_TABLES: got ‘%s’ | Vitess requires the connection to be in STRICT mode; either or both of these settings need to be enabled. |
1105 | HY000 | unexpected rows from reading sequence %s (possible mis-route): %d | The sequence table used returned invalid results. |
1105 | HY000 | unsigned number overflows int64 value: %d | Tried to convert an unsigned integer into a signed integer, and the value overflows. |