package parser

var helpMessages = map[string]HelpMessageBody{

	`ALTER`: {

		Category: hGroup,

		Text: `ALTER TABLE, ALTER INDEX, ALTER VIEW, ALTER SEQUENCE, ALTER DATABASE, ALTER USER, ALTER ROLE, ALTER DEFAULT PRIVILEGES, ALTER TENANT
`,
	},

	`ALTER TABLE`: {
		ShortDescription: `change the definition of a table`,

		Category: hDDL,

		Text: `
ALTER TABLE [IF EXISTS] <tablename> <command> [, ...]

Commands:
  ALTER TABLE ... ADD [COLUMN] [IF NOT EXISTS] <colname> <type> [<qualifiers...>]
  ALTER TABLE ... ADD <constraint>
  ALTER TABLE ... DROP [COLUMN] [IF EXISTS] <colname> [RESTRICT | CASCADE]
  ALTER TABLE ... DROP CONSTRAINT [IF EXISTS] <constraintname> [RESTRICT | CASCADE]
  ALTER TABLE ... ALTER [COLUMN] <colname> {SET DEFAULT <expr> | DROP DEFAULT}
  ALTER TABLE ... ALTER [COLUMN] <colname> {SET ON UPDATE <expr> | DROP ON UPDATE}
  ALTER TABLE ... ALTER [COLUMN] <colname> DROP NOT NULL
  ALTER TABLE ... ALTER [COLUMN] <colname> DROP STORED
  ALTER TABLE ... ALTER [COLUMN] <colname> [SET DATA] TYPE <type> [COLLATE <collation>]
  ALTER TABLE ... ALTER PRIMARY KEY USING INDEX <name>
  ALTER TABLE ... RENAME TO <newname>
  ALTER TABLE ... RENAME [COLUMN] <colname> TO <newname>
  ALTER TABLE ... VALIDATE CONSTRAINT <constraintname>
  ALTER TABLE ... SET (storage_param = value, ...)
  ALTER TABLE ... SPLIT AT <selectclause> [WITH EXPIRATION <expr>]
  ALTER TABLE ... UNSPLIT AT <selectclause>
  ALTER TABLE ... UNSPLIT ALL
  ALTER TABLE ... SCATTER [ FROM ( <exprs...> ) TO ( <exprs...> ) ]
  ALTER TABLE ... INJECT STATISTICS ...  (experimental)
  ALTER TABLE ... RELOCATE [ LEASE | VOTERS | NONVOTERS ] <selectclause>  (experimental)
  ALTER TABLE ... PARTITION BY RANGE ( <name...> ) ( <rangespec> )
  ALTER TABLE ... PARTITION BY LIST ( <name...> ) ( <listspec> )
  ALTER TABLE ... PARTITION BY NOTHING
  ALTER TABLE ... CONFIGURE ZONE <zoneconfig>
  ALTER TABLE ... SET SCHEMA <newschemaname>
  ALTER TABLE ... SET LOCALITY [REGIONAL BY [TABLE IN <region> | ROW] | GLOBAL]

Column qualifiers:
  [CONSTRAINT <constraintname>] {NULL | NOT NULL | UNIQUE | PRIMARY KEY | CHECK (<expr>) | DEFAULT <expr>}
  FAMILY <familyname>, CREATE [IF NOT EXISTS] FAMILY [<familyname>]
  REFERENCES <tablename> [( <colnames...> )]
  COLLATE <collationname>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,

		SeeAlso: `WEBDOCS/alter-table.html
`,
	},

	`ALTER PARTITION`: {
		ShortDescription: `apply zone configurations to a partition`,

		Category: hDDL,

		Text: `
ALTER PARTITION <name> <command>

Commands:
  -- Alter a single partition which exists on any of a table's indexes.
  ALTER PARTITION <partition> OF TABLE <tablename> CONFIGURE ZONE <zoneconfig>

  -- Alter a partition of a specific index.
  ALTER PARTITION <partition> OF INDEX <tablename>@<indexname> CONFIGURE ZONE <zoneconfig>

  -- Alter all partitions with the same name across a table's indexes.
  ALTER PARTITION <partition> OF INDEX <tablename>@* CONFIGURE ZONE <zoneconfig>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,

		SeeAlso: `WEBDOCS/configure-zone.html
`,
	},

	`ALTER VIEW`: {
		ShortDescription: `change the definition of a view`,

		Category: hDDL,

		Text: `
ALTER [MATERIALIZED] VIEW [IF EXISTS] <name> RENAME TO <newname>
ALTER [MATERIALIZED] VIEW [IF EXISTS] <name> SET SCHEMA <newschemaname>
`,

		SeeAlso: `WEBDOCS/alter-view.html
`,
	},

	`ALTER SEQUENCE`: {
		ShortDescription: `change the definition of a sequence`,

		Category: hDDL,

		Text: `
ALTER SEQUENCE [IF EXISTS] <name>
  [AS <typename>]
  [INCREMENT <increment>]
  [MINVALUE <minvalue> | NO MINVALUE]
  [MAXVALUE <maxvalue> | NO MAXVALUE]
  [START <start>]
  [[NO] CYCLE]
ALTER SEQUENCE [IF EXISTS] <name> RENAME TO <newname>
ALTER SEQUENCE [IF EXISTS] <name> SET SCHEMA <newschemaname>
`,
	},

	`ALTER DATABASE`: {
		ShortDescription: `change the definition of a database`,

		Category: hDDL,

		Text: `
ALTER DATABASE <name> RENAME TO <newname>
ALTER DATABASE <name> CONFIGURE ZONE <zone config>
ALTER DATABASE <name> OWNER TO <newowner>
ALTER DATABASE <name> CONVERT TO SCHEMA WITH PARENT <name>
ALTER DATABASE <name> ADD REGION [IF NOT EXISTS] <region>
ALTER DATABASE <name> DROP REGION [IF EXISTS] <region>
ALTER DATABASE <name> PRIMARY REGION <region>
ALTER DATABASE <name> SURVIVE <failure type>
ALTER DATABASE <name> PLACEMENT { RESTRICTED | DEFAULT }
ALTER DATABASE <name> SET var { TO | = } { value | DEFAULT }
ALTER DATABASE <name> RESET { var | ALL }
`,

		SeeAlso: `WEBDOCS/alter-database.html
`,
	},

	`ALTER RANGE`: {
		ShortDescription: `change the parameters of a range`,

		Category: hDDL,

		Text: `
ALTER RANGE <zonename> <command>

Commands:
  ALTER RANGE ... CONFIGURE ZONE <zoneconfig>
  ALTER RANGE   RELOCATE { VOTERS | NONVOTERS } FROM <store_id> TO <store_id> FOR <selectclause>
  ALTER RANGE r RELOCATE { VOTERS | NONVOTERS } FROM <store_id> TO <store_id>
  ALTER RANGE   RELOCATE LEASE                                  TO <store_id> FOR <selectclause>
  ALTER RANGE r RELOCATE LEASE                                  TO <store_id>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,

		SeeAlso: `ALTER TABLE
`,
	},

	`ALTER INDEX`: {
		ShortDescription: `change the definition of an index`,

		Category: hDDL,

		Text: `
ALTER INDEX [IF EXISTS] <idxname> <command>

Commands:
  ALTER INDEX ... RENAME TO <newname>
  ALTER INDEX ... SPLIT AT <selectclause> [WITH EXPIRATION <expr>]
  ALTER INDEX ... UNSPLIT AT <selectclause>
  ALTER INDEX ... UNSPLIT ALL
  ALTER INDEX ... SCATTER [ FROM ( <exprs...> ) TO ( <exprs...> ) ]
  ALTER INDEX ... RELOCATE [ LEASE | VOTERS | NONVOTERS ] <selectclause>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,

		SeeAlso: `WEBDOCS/alter-index.html
`,
	},

	`ALTER TYPE`: {
		ShortDescription: `change the definition of a type.`,

		Category: hDDL,

		Text: `ALTER TYPE <typename> <command>

Commands:
  ALTER TYPE ... ADD VALUE [IF NOT EXISTS] <value> [ { BEFORE | AFTER } <value> ]
  ALTER TYPE ... RENAME VALUE <oldname> TO <newname>
  ALTER TYPE ... RENAME TO <newname>
  ALTER TYPE ... SET SCHEMA <newschemaname>
  ALTER TYPE ... OWNER TO {<newowner> | CURRENT_USER | SESSION_USER }
  ALTER TYPE ... RENAME ATTRIBUTE <oldname> TO <newname> [ CASCADE | RESTRICT ]
  ALTER TYPE ... <attributeaction> [, ... ]

Attribute action:
  ADD ATTRIBUTE <name> <type> [ COLLATE <collation> ] [ CASCADE | RESTRICT ]
  DROP ATTRIBUTE [IF EXISTS] <name> [ CASCADE | RESTRICT ]
  ALTER ATTRIBUTE <name> [ SET DATA ] TYPE <type> [ COLLATE <collation> ] [ CASCADE | RESTRICT ]

`,

		SeeAlso: `WEBDOCS/alter-type.html
`,
	},

	`REFRESH`: {
		ShortDescription: `recalculate a materialized view`,

		Category: hMisc,

		Text: `
REFRESH MATERIALIZED VIEW [CONCURRENTLY] view_name [WITH [NO] DATA]
`,
	},

	`BACKUP`: {
		ShortDescription: `back up data to external storage`,

		Category: hCCL,

		Text: `

Create a full backup
BACKUP <targets...> INTO <destination...>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]

Append an incremental backup to the most recent backup added to a collection
BACKUP <targets...> INTO LATEST IN <destination...>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]

Append an incremental backup in the <subdir>. This command will create an
incremental backup iff there is a full backup in <destination>
BACKUP <targets...> INTO [<subdir...> IN] <destination>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]

Targets:
   Empty targets list: backup full cluster.
   TABLE <pattern> [, ...]
   DATABASE <databasename> [, ...]

Destination:
   "[scheme]:

Options:
   revision_history: enable revision history
   encryption_passphrase="secret": encrypt backups
   kms="[kms_provider]:
   detached: execute backup job asynchronously, without waiting for its completion
   incremental_location: specify a different path to store the incremental backup

`,

		SeeAlso: `RESTORE, WEBDOCS/backup.html
`,
	},

	`CREATE SCHEDULE FOR BACKUP`: {
		ShortDescription: `backup data periodically`,

		Category: hCCL,

		Text: `
CREATE SCHEDULE [IF NOT EXISTS]
[<description>]
FOR BACKUP [<targets>] INTO <location...>
[WITH <backup_option>[=<value>] [, ...]]
RECURRING [crontab|NEVER] [FULL BACKUP <crontab|ALWAYS>]
[WITH EXPERIMENTAL SCHEDULE OPTIONS <schedule_option>[= <value>] [, ...] ]

All backups run in UTC timezone.

Description:
  Optional description (or name) for this schedule

Targets:
  empty targets: Backup entire cluster
  DATABASE <pattern> [, ...]: comma separated list of databases to backup.
  TABLE <pattern> [, ...]: comma separated list of tables to backup.

Location:
  "[scheme]:
  Backup schedule will create subdirectories under this location to store
  full and periodic backups.

WITH <options>:
  Options specific to BACKUP: See BACKUP options

RECURRING <crontab>:
  The RECURRING expression specifies when we backup.  By default these are incremental
  backups that capture changes since the last backup, writing to the "current" backup.

  Schedule specified as a string in crontab format.
  All times in UTC.
    "5 0 * * *": run schedule 5 minutes past midnight.
    "@daily": run daily, at midnight
  See https:

FULL BACKUP <crontab|ALWAYS>:
  The optional FULL BACKUP '<cron expr>' clause specifies when we'll start a new full backup,
  which becomes the "current" backup when complete.
  If FULL BACKUP ALWAYS is specified, then the backups triggered by the RECURRING clause will
  always be full backups. For free users, this is the only accepted value of FULL BACKUP.

  If the FULL BACKUP clause is omitted, we will select a reasonable default:
     * RECURRING <= 1 hour: we default to FULL BACKUP '@daily';
     * RECURRING <= 1 day:  we default to FULL BACKUP '@weekly';
     * Otherwise: we default to FULL BACKUP ALWAYS.

 SCHEDULE OPTIONS:
  The schedule can be modified by specifying the following options (which are considered
  to be experimental at this time):
  * first_run=TIMESTAMPTZ:
    execute the schedule at the specified time. If not specified, the default is to execute
    the scheduled based on it's next RECURRING time.
  * on_execution_failure='[retry|reschedule|pause]':
    If an error occurs during the execution, handle the error based as:
    * retry: retry execution right away
    * reschedule: retry execution by rescheduling it based on its RECURRING expression.
      This is the default.
    * pause: pause this schedule.  Requires manual intervention to unpause.
  * on_previous_running='[start|skip|wait]':
    If the previous backup started by this schedule still running, handle this as:
    * start: start this execution anyway, even if the previous one still running.
    * skip: skip this execution, reschedule it based on RECURRING (or change_capture_period)
      expression.
    * wait: wait for the previous execution to complete.  This is the default.
  * ignore_existing_backups
    If backups were already created in the destination in which a new schedule references,
    this flag must be passed in to acknowledge that the new schedule may be backing up different
    objects.

`,

		SeeAlso: `BACKUP
`,
	},

	`RESTORE`: {
		ShortDescription: `restore data from external storage`,

		Category: hCCL,

		Text: `
RESTORE <targets...> FROM <location...>
        [ AS OF SYSTEM TIME <expr> ]
        [ WITH <option> [= <value>] [, ...] ]
or
RESTORE SYSTEM USERS FROM <location...>
        [ AS OF SYSTEM TIME <expr> ]
        [ WITH <option> [= <value>] [, ...] ]

Targets:
   TABLE <pattern> [, ...]
   DATABASE <databasename> [, ...]

Locations:
   "[scheme]:

Options:
   into_db: specify target database
   skip_missing_foreign_keys: remove foreign key constraints before restoring
   skip_missing_sequences: ignore sequence dependencies
   skip_missing_views: skip restoring views because of dependencies that cannot be restored
   skip_missing_sequence_owners: remove sequence-table ownership dependencies before restoring
   encryption_passphrase=passphrase: decrypt BACKUP with specified passphrase
   kms="[kms_provider]:
   detached: execute restore job asynchronously, without waiting for its completion
   skip_localities_check: ignore difference of zone configuration between restore cluster and backup cluster
   debug_pause_on: describes the events that the job should pause itself on for debugging purposes.
   new_db_name: renames the restored database. only applies to database restores
`,

		SeeAlso: `BACKUP, WEBDOCS/restore.html
`,
	},

	`IMPORT`: {
		ShortDescription: `load data from file in a distributed manner`,

		Category: hCCL,

		Text: `
-- Import both schema and table data:
IMPORT [ TABLE <tablename> FROM ]
       <format> <datafile>
       [ WITH <option> [= <value>] [, ...] ]

-- Import using specific schema, use only table data from external file:
IMPORT TABLE <tablename>
       { ( <elements> ) | CREATE USING <schemafile> }
       <format>
       DATA ( <datafile> [, ...] )
       [ WITH <option> [= <value>] [, ...] ]

Formats:
   CSV
   DELIMITED
   MYSQLDUMP
   PGCOPY
   PGDUMP

Options:
   distributed = '...'
   sstsize = '...'
   temp = '...'
   delimiter = '...'      [CSV, PGCOPY-specific]
   nullif = '...'         [CSV, PGCOPY-specific]
   comment = '...'        [CSV-specific]

`,

		SeeAlso: `CREATE TABLE
`,
	},

	`EXPORT`: {
		ShortDescription: `export data to file in a distributed manner`,

		Category: hCCL,

		Text: `
EXPORT INTO <format> <datafile> [WITH <option> [= value] [,...]] FROM <query>

Formats:
   CSV
   Parquet

Options:
   delimiter = '...'   [CSV-specific]

`,

		SeeAlso: `SELECT
`,
	},

	`CANCEL`: {

		Category: hGroup,

		Text: `CANCEL JOBS, CANCEL QUERIES, CANCEL SESSIONS
`,
	},

	`CANCEL JOBS`: {
		ShortDescription: `cancel background jobs`,

		Category: hMisc,

		Text: `
CANCEL JOBS <selectclause>
CANCEL JOB <jobid>
`,

		SeeAlso: `SHOW JOBS, PAUSE JOBS, RESUME JOBS
`,
	},

	`CANCEL QUERIES`: {
		ShortDescription: `cancel running queries`,

		Category: hMisc,

		Text: `
CANCEL QUERIES [IF EXISTS] <selectclause>
CANCEL QUERY [IF EXISTS] <expr>
`,

		SeeAlso: `SHOW STATEMENTS
`,
	},

	`CANCEL SESSIONS`: {
		ShortDescription: `cancel open sessions`,

		Category: hMisc,

		Text: `
CANCEL SESSIONS [IF EXISTS] <selectclause>
CANCEL SESSION [IF EXISTS] <sessionid>
`,

		SeeAlso: `SHOW SESSIONS
`,
	},

	`CANCEL ALL JOBS`: {

		Category: hMisc,

		Text: `
CANCEL ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},

	`CREATE`: {

		Category: hGroup,

		Text: `
CREATE DATABASE, CREATE TABLE, CREATE INDEX, CREATE TABLE AS,
CREATE USER, CREATE VIEW, CREATE SEQUENCE, CREATE STATISTICS,
CREATE ROLE, CREATE TYPE, CREATE EXTENSION
`,
	},

	`CREATE EXTENSION`: {

		Category: hCfg,

		Text: `CREATE EXTENSION [IF NOT EXISTS] name
`,
	},

	`CREATE STATISTICS`: {
		ShortDescription: `create a new table statistic`,

		Category: hMisc,

		Text: `
CREATE STATISTICS <statisticname>
  [ON <colname> [, ...]]
  FROM <tablename> [AS OF SYSTEM TIME <expr>]
`,
	},

	`CREATE CHANGEFEED`: {
		ShortDescription: `create change data capture`,

		Category: hCCL,

		Text: `
CREATE CHANGEFEED
FOR <targets> [INTO sink] [WITH <options>]

Sink: Data caputre stream stream destination.  Enterprise only.
`,
	},

	`CREATE REPLICATION STREAM`: {
		ShortDescription: `continuously replicate data`,

		Category: hCCL,

		Text: `
CREATE REPLICATION STREAM FOR <targets> [INTO <sink>] [WITH <options>]

Sink: Replication stream destination.
WITH <options>:
  Options specific to REPLICATION STREAM: See CHANGEFEED options

`,

		SeeAlso: `CREATE CHANGEFEED
`,
	},

	`DELETE`: {
		ShortDescription: `delete rows from a table`,

		Category: hDML,

		Text: `DELETE FROM <tablename> [WHERE <expr>]
              [ORDER BY <exprs...>]
              [LIMIT <expr>]
              [RETURNING <exprs...>]
`,

		SeeAlso: `WEBDOCS/delete.html
`,
	},

	`DISCARD`: {
		ShortDescription: `reset the session to its initial state`,

		Category: hCfg,

		Text: `DISCARD ALL
`,
	},

	`DROP`: {

		Category: hGroup,

		Text: `
DROP DATABASE, DROP INDEX, DROP TABLE, DROP VIEW, DROP SEQUENCE,
DROP USER, DROP ROLE, DROP TYPE
`,
	},

	`DROP VIEW`: {
		ShortDescription: `remove a view`,

		Category: hDDL,

		Text: `DROP [MATERIALIZED] VIEW [IF EXISTS] <tablename> [, ...] [CASCADE | RESTRICT]
`,

		SeeAlso: `WEBDOCS/drop-index.html
`,
	},

	`DROP SEQUENCE`: {
		ShortDescription: `remove a sequence`,

		Category: hDDL,

		Text: `DROP SEQUENCE [IF EXISTS] <sequenceName> [, ...] [CASCADE | RESTRICT]
`,

		SeeAlso: `DROP
`,
	},

	`DROP TABLE`: {
		ShortDescription: `remove a table`,

		Category: hDDL,

		Text: `DROP TABLE [IF EXISTS] <tablename> [, ...] [CASCADE | RESTRICT]
`,

		SeeAlso: `WEBDOCS/drop-table.html
`,
	},

	`DROP INDEX`: {
		ShortDescription: `remove an index`,

		Category: hDDL,

		Text: `DROP INDEX [CONCURRENTLY] [IF EXISTS] <idxname> [, ...] [CASCADE | RESTRICT]
`,

		SeeAlso: `WEBDOCS/drop-index.html
`,
	},

	`DROP DATABASE`: {
		ShortDescription: `remove a database`,

		Category: hDDL,

		Text: `DROP DATABASE [IF EXISTS] <databasename> [CASCADE | RESTRICT]
`,

		SeeAlso: `WEBDOCS/drop-database.html
`,
	},

	`DROP TYPE`: {
		ShortDescription: `remove a type`,

		Category: hDDL,

		Text: `DROP TYPE [IF EXISTS] <type_name> [, ...] [CASCASE | RESTRICT]
`,
	},

	`DROP SCHEMA`: {
		ShortDescription: `remove a schema`,

		Category: hDDL,

		Text: `DROP SCHEMA [IF EXISTS] <schema_name> [, ...] [CASCADE | RESTRICT]
`,
	},

	`DROP ROLE`: {
		ShortDescription: `remove a user`,

		Category: hPriv,

		Text: `DROP ROLE [IF EXISTS] <user> [, ...]
`,

		SeeAlso: `CREATE ROLE, SHOW ROLE
`,
	},

	`ANALYZE`: {
		ShortDescription: `collect table statistics`,

		Category: hMisc,

		Text: `
ANALYZE <tablename>

`,

		SeeAlso: `CREATE STATISTICS
`,
	},

	`EXPLAIN`: {
		ShortDescription: `show the logical plan of a query`,

		Category: hMisc,

		Text: `
EXPLAIN <statement>
EXPLAIN ([PLAN ,] <planoptions...> ) <statement>
EXPLAIN (DISTSQL) <statement>
EXPLAIN ANALYZE [(DISTSQL)] <statement>
EXPLAIN ANALYZE (PLAN <planoptions...>) <statement>

Explainable statements:
    SELECT, CREATE, DROP, ALTER, INSERT, UPSERT, UPDATE, DELETE,
    SHOW, EXPLAIN

Plan options:
    TYPES, VERBOSE, OPT

`,

		SeeAlso: `WEBDOCS/explain.html
`,
	},

	`ALTER CHANGEFEED`: {
		ShortDescription: `alter an existing changefeed`,

		Category: hCCL,

		Text: `
ALTER CHANGEFEED <job_id> {{ADD|DROP <targets...>} | SET <options...>}...
`,
	},

	`ALTER BACKUP`: {
		ShortDescription: `alter an existing backup's encryption keys`,

		Category: hCCL,

		Text: `
ALTER BACKUP <location...>
       [ ADD NEW_KMS = <kms...> ]
       [ WITH OLD_KMS = <kms...> ]
Locations:
   "[scheme]:

KMS:
   "[kms_provider]:
`,
	},

	`PREPARE`: {
		ShortDescription: `prepare a statement for later execution`,

		Category: hMisc,

		Text: `PREPARE <name> [ ( <types...> ) ] AS <query>
`,

		SeeAlso: `EXECUTE, DEALLOCATE, DISCARD
`,
	},

	`EXECUTE`: {
		ShortDescription: `execute a statement prepared previously`,

		Category: hMisc,

		Text: `EXECUTE <name> [ ( <exprs...> ) ]
`,

		SeeAlso: `PREPARE, DEALLOCATE, DISCARD
`,
	},

	`DEALLOCATE`: {
		ShortDescription: `remove a prepared statement`,

		Category: hMisc,

		Text: `DEALLOCATE [PREPARE] { <name> | ALL }
`,

		SeeAlso: `PREPARE, EXECUTE, DISCARD
`,
	},

	`GRANT`: {
		ShortDescription: `define access privileges and role memberships`,

		Category: hPriv,

		Text: `
Grant privileges:
  GRANT {ALL [PRIVILEGES] | <privileges...> } ON <targets...> TO <grantees...>
Grant role membership:
  GRANT <roles...> TO <grantees...> [WITH ADMIN OPTION]

Privileges:
  CREATE, DROP, GRANT, SELECT, INSERT, DELETE, UPDATE, USAGE

Targets:
  DATABASE <databasename> [, ...]
  [TABLE] [<databasename> .] { <tablename> | * } [, ...]
  TYPE <typename> [, <typename>]...
  SCHEMA [<databasename> .]<schemaname> [, [<databasename> .]<schemaname>]...
  ALL TABLES IN SCHEMA schema_name [, ...]

`,

		SeeAlso: `REVOKE, WEBDOCS/grant.html
`,
	},

	`REVOKE`: {
		ShortDescription: `remove access privileges and role memberships`,

		Category: hPriv,

		Text: `
Revoke privileges:
  REVOKE {ALL | <privileges...> } ON <targets...> FROM <grantees...>
Revoke role membership:
  REVOKE [ADMIN OPTION FOR] <roles...> FROM <grantees...>

Privileges:
  CREATE, DROP, GRANT, SELECT, INSERT, DELETE, UPDATE, USAGE

Targets:
  DATABASE <databasename> [, <databasename>]...
  [TABLE] [<databasename> .] { <tablename> | * } [, ...]
  TYPE <typename> [, <typename>]...
  SCHEMA [<databasename> .]<schemaname> [, [<databasename> .]<schemaname]...
  ALL TABLES IN SCHEMA schema_name [, ...]

`,

		SeeAlso: `GRANT, WEBDOCS/revoke.html
`,
	},

	`RESET`: {
		ShortDescription: `reset a session variable to its default value`,

		Category: hCfg,

		Text: `RESET [SESSION] <var>
`,

		SeeAlso: `RESET CLUSTER SETTING, WEBDOCS/set-vars.html
`,
	},

	`RESET CLUSTER SETTING`: {
		ShortDescription: `reset a cluster setting to its default value`,

		Category: hCfg,

		Text: `RESET CLUSTER SETTING <var>
`,

		SeeAlso: `SET CLUSTER SETTING, RESET
`,
	},

	`USE`: {
		ShortDescription: `set the current database`,

		Category: hCfg,

		Text: `USE <dbname>

"USE <dbname>" is an alias for "SET [SESSION] database = <dbname>".
`,

		SeeAlso: `SET SESSION, WEBDOCS/set-vars.html
`,
	},

	`SCRUB`: {
		ShortDescription: `run checks against databases or tables`,

		Category: hExperimental,

		Text: `
EXPERIMENTAL SCRUB TABLE <table> ...
EXPERIMENTAL SCRUB DATABASE <database>

The various checks that ca be run with SCRUB includes:
  - Physical table data (encoding)
  - Secondary index integrity
  - Constraint integrity (NOT NULL, CHECK, FOREIGN KEY, UNIQUE)
`,

		SeeAlso: `SCRUB TABLE, SCRUB DATABASE
`,
	},

	`SCRUB DATABASE`: {
		ShortDescription: `run scrub checks on a database`,

		Category: hExperimental,

		Text: `
EXPERIMENTAL SCRUB DATABASE <database>
                            [AS OF SYSTEM TIME <expr>]

All scrub checks will be run on the database. This includes:
  - Physical table data (encoding)
  - Secondary index integrity
  - Constraint integrity (NOT NULL, CHECK, FOREIGN KEY, UNIQUE)
`,

		SeeAlso: `SCRUB TABLE, SCRUB
`,
	},

	`SCRUB TABLE`: {
		ShortDescription: `run scrub checks on a table`,

		Category: hExperimental,

		Text: `
SCRUB TABLE <tablename>
            [AS OF SYSTEM TIME <expr>]
            [WITH OPTIONS <option> [, ...]]

Options:
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS INDEX ALL
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS INDEX (<index>...)
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS CONSTRAINT ALL
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS CONSTRAINT (<constraint>...)
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS PHYSICAL
`,

		SeeAlso: `SCRUB DATABASE, SRUB
`,
	},

	`SET CLUSTER SETTING`: {
		ShortDescription: `change a cluster setting`,

		Category: hCfg,

		Text: `SET CLUSTER SETTING <var> { TO | = } <value>
`,

		SeeAlso: `SHOW CLUSTER SETTING, RESET CLUSTER SETTING, SET SESSION, SET LOCAL
WEBDOCS/cluster-settings.html
`,
	},

	`ALTER TENANT`: {
		ShortDescription: `alter tenant configuration`,

		Category: hCfg,

		Text: `
ALTER TENANT { <tenant_id> | ALL } SET CLUSTER SETTING <var> { TO | = } <value>
ALTER TENANT { <tenant_id> | ALL } RESET CLUSTER SETTING <var>
`,

		SeeAlso: `SET CLUSTER SETTING
`,
	},

	`SET SESSION`: {
		ShortDescription: `change a session variable`,

		Category: hCfg,

		Text: `
SET [SESSION] <var> { TO | = } <values...>
SET [SESSION] TIME ZONE <tz>
SET [SESSION] CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
SET [SESSION] TRACING { TO | = } { on | off | cluster | kv | results } [,...]

`,

		SeeAlso: `SHOW SESSION, RESET, DISCARD, SHOW, SET CLUSTER SETTING, SET TRANSACTION, SET LOCAL
WEBDOCS/set-vars.html
`,
	},

	`SET LOCAL`: {
		ShortDescription: `change a session variable scoped to the current transaction`,

		Category: hCfg,

		Text: `
SET LOCAL <var> { TO | = } <values...>
SET LOCAL TIME ZONE <tz>

`,

		SeeAlso: `SHOW SESSION, RESET, DISCARD, SHOW, SET CLUSTER SETTING, SET TRANSACTION, SET SESSION
WEBDOCS/set-vars.html
`,
	},

	`SET TRANSACTION`: {
		ShortDescription: `configure the transaction settings`,

		Category: hTxn,

		Text: `
SET [SESSION] TRANSACTION <txnparameters...>

Transaction parameters:
   ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
   PRIORITY { LOW | NORMAL | HIGH }
   AS OF SYSTEM TIME <expr>
   [NOT] DEFERRABLE

`,

		SeeAlso: `SHOW TRANSACTION, SET SESSION, SET LOCAL
WEBDOCS/set-transaction.html
`,
	},

	`SHOW`: {

		Category: hGroup,

		Text: `
SHOW BACKUP, SHOW CLUSTER SETTING, SHOW COLUMNS, SHOW CONSTRAINTS,
SHOW CREATE, SHOW CREATE SCHEDULES, SHOW DATABASES, SHOW ENUMS, SHOW HISTOGRAM, SHOW INDEXES, SHOW
PARTITIONS, SHOW JOBS, SHOW STATEMENTS, SHOW RANGE, SHOW RANGES, SHOW REGIONS, SHOW SURVIVAL GOAL,
SHOW ROLES, SHOW SCHEMAS, SHOW SEQUENCES, SHOW SESSION, SHOW SESSIONS,
SHOW STATISTICS, SHOW SYNTAX, SHOW TABLES, SHOW TRACE, SHOW TRANSACTION,
SHOW TRANSACTIONS, SHOW TRANSFER, SHOW TYPES, SHOW USERS, SHOW LAST QUERY STATISTICS,
SHOW SCHEDULES, SHOW LOCALITY, SHOW ZONE CONFIGURATION, SHOW FULL TABLE SCANS
`,
	},

	`CLOSE`: {
		ShortDescription: `close SQL cursor`,

		Category: hMisc,

		Text: `CLOSE [ ALL | <name> ]
`,

		SeeAlso: `DECLARE, FETCH
`,
	},

	`DECLARE`: {
		ShortDescription: `declare SQL cursor`,

		Category: hMisc,

		Text: `DECLARE <name> [ options ] CURSOR p [ WITH | WITHOUT HOLD ] FOR <query>
`,

		SeeAlso: `CLOSE, FETCH
`,
	},

	`FETCH`: {
		ShortDescription: `fetch rows from a SQL cursor`,

		Category: hMisc,

		Text: `FETCH [ direction [ FROM | IN ] ] <name>
`,

		SeeAlso: `MOVE, CLOSE, DECLARE
`,
	},

	`MOVE`: {
		ShortDescription: `move a SQL cursor without fetching rows`,

		Category: hMisc,

		Text: `MOVE [ direction [ FROM | IN ] ] <name>
`,

		SeeAlso: `FETCH, CLOSE, DECLARE
`,
	},

	`SHOW SESSION`: {
		ShortDescription: `display session variables`,

		Category: hCfg,

		Text: `SHOW [SESSION] { <var> | ALL }
`,

		SeeAlso: `WEBDOCS/show-vars.html
`,
	},

	`SHOW STATISTICS`: {
		ShortDescription: `display table statistics (experimental)`,

		Category: hExperimental,

		Text: `SHOW STATISTICS [USING JSON] FOR TABLE <table_name>

Returns the available statistics for a table.
The statistics can include a histogram ID, which can
be used with SHOW HISTOGRAM.
If USING JSON is specified, the statistics and histograms
are encoded in JSON format.
`,

		SeeAlso: `SHOW HISTOGRAM
`,
	},

	`SHOW HISTOGRAM`: {
		ShortDescription: `display histogram (experimental)`,

		Category: hExperimental,

		Text: `SHOW HISTOGRAM <histogram_id>

Returns the data in the histogram with the
given ID (as returned by SHOW STATISTICS).
`,

		SeeAlso: `SHOW STATISTICS
`,
	},

	`SHOW BACKUP`: {
		ShortDescription: `list backup contents`,

		Category: hCCL,

		Text: `SHOW BACKUP [SCHEMAS|FILES|RANGES] <location>
`,

		SeeAlso: `WEBDOCS/show-backup.html
`,
	},

	`SHOW CLUSTER SETTING`: {
		ShortDescription: `display cluster settings`,

		Category: hCfg,

		Text: `
SHOW CLUSTER SETTING <var> [ FOR TENANT <tenant_id> ]
SHOW [ PUBLIC | ALL ] CLUSTER SETTINGS [ FOR TENANT <tenant_id> ]
`,

		SeeAlso: `WEBDOCS/cluster-settings.html
`,
	},

	`SHOW COLUMNS`: {
		ShortDescription: `list columns in relation`,

		Category: hDDL,

		Text: `SHOW COLUMNS FROM <tablename>
`,

		SeeAlso: `WEBDOCS/show-columns.html
`,
	},

	`SHOW PARTITIONS`: {
		ShortDescription: `list partition information`,

		Category: hDDL,

		Text: `SHOW PARTITIONS FROM { TABLE <table> | INDEX <index> | DATABASE <database> }
`,

		SeeAlso: `WEBDOCS/show-partitions.html
`,
	},

	`SHOW DATABASES`: {
		ShortDescription: `list databases`,

		Category: hDDL,

		Text: `SHOW DATABASES
`,

		SeeAlso: `WEBDOCS/show-databases.html
`,
	},

	`SHOW DEFAULT PRIVILEGES`: {
		ShortDescription: `list default privileges`,

		Category: hDDL,

		Text: `SHOW DEFAULT PRIVILEGES
`,
	},

	`SHOW ENUMS`: {
		ShortDescription: `list enums`,

		Category: hMisc,

		Text: `SHOW ENUMS
`,
	},

	`SHOW TYPES`: {
		ShortDescription: `list user defined types`,

		Category: hMisc,

		Text: `SHOW TYPES
`,
	},

	`SHOW GRANTS`: {
		ShortDescription: `list grants`,

		Category: hPriv,

		Text: `
Show privilege grants:
  SHOW GRANTS [ON <targets...>] [FOR <users...>]
Show role grants:
  SHOW GRANTS ON ROLE [<roles...>] [FOR <grantees...>]

`,

		SeeAlso: `WEBDOCS/show-grants.html
`,
	},

	`SHOW INDEXES`: {
		ShortDescription: `list indexes`,

		Category: hDDL,

		Text: `SHOW INDEXES FROM { <tablename> | DATABASE <database_name> } [WITH COMMENT]
`,

		SeeAlso: `WEBDOCS/show-index.html
`,
	},

	`SHOW CONSTRAINTS`: {
		ShortDescription: `list constraints`,

		Category: hDDL,

		Text: `SHOW CONSTRAINTS FROM <tablename>
`,

		SeeAlso: `WEBDOCS/show-constraints.html
`,
	},

	`SHOW STATEMENTS`: {
		ShortDescription: `list running statements`,

		Category: hMisc,

		Text: `SHOW [ALL] [CLUSTER | LOCAL] STATEMENTS
`,

		SeeAlso: `CANCEL QUERIES
`,
	},

	`SHOW JOBS`: {
		ShortDescription: `list background jobs`,

		Category: hMisc,

		Text: `
SHOW [AUTOMATIC | CHANGEFEED] JOBS [select clause]
SHOW JOBS FOR SCHEDULES [select clause]
SHOW [CHANGEFEED] JOB <jobid>
`,

		SeeAlso: `CANCEL JOBS, PAUSE JOBS, RESUME JOBS
`,
	},

	`SHOW SCHEDULES`: {
		ShortDescription: `list periodic schedules`,

		Category: hMisc,

		Text: `
SHOW [RUNNING | PAUSED] SCHEDULES [FOR BACKUP]
SHOW SCHEDULE <schedule_id>
`,

		SeeAlso: `PAUSE SCHEDULES, RESUME SCHEDULES, DROP SCHEDULES
`,
	},

	`SHOW TRACE`: {
		ShortDescription: `display an execution trace`,

		Category: hMisc,

		Text: `
SHOW [COMPACT] [KV] TRACE FOR SESSION
`,

		SeeAlso: `EXPLAIN
`,
	},

	`SHOW SESSIONS`: {
		ShortDescription: `list open client sessions`,

		Category: hMisc,

		Text: `SHOW [ALL] [CLUSTER | LOCAL] SESSIONS
`,

		SeeAlso: `CANCEL SESSIONS
`,
	},

	`SHOW TABLES`: {
		ShortDescription: `list tables`,

		Category: hDDL,

		Text: `SHOW TABLES [FROM <databasename> [ . <schemaname> ] ] [WITH COMMENT]
`,

		SeeAlso: `WEBDOCS/show-tables.html
`,
	},

	`SHOW TRANSACTIONS`: {
		ShortDescription: `list open client transactions across the cluster`,

		Category: hMisc,

		Text: `SHOW [ALL] [CLUSTER | LOCAL] TRANSACTIONS
`,
	},

	`SHOW SCHEMAS`: {
		ShortDescription: `list schemas`,

		Category: hDDL,

		Text: `SHOW SCHEMAS [FROM <databasename> ]
`,
	},

	`SHOW SEQUENCES`: {
		ShortDescription: `list sequences`,

		Category: hDDL,

		Text: `SHOW SEQUENCES [FROM <databasename> ]
`,
	},

	`SHOW SYNTAX`: {
		ShortDescription: `analyze SQL syntax`,

		Category: hMisc,

		Text: `SHOW SYNTAX <string>
`,
	},

	`SHOW SAVEPOINT`: {
		ShortDescription: `display current savepoint properties`,

		Category: hCfg,

		Text: `SHOW SAVEPOINT STATUS
`,
	},

	`SHOW TRANSACTION`: {
		ShortDescription: `display current transaction properties`,

		Category: hCfg,

		Text: `SHOW TRANSACTION {ISOLATION LEVEL | PRIORITY | STATUS}
`,

		SeeAlso: `WEBDOCS/show-vars.html
`,
	},

	`SHOW TRANSFER`: {
		ShortDescription: `display session state for connection migration`,

		Category: hMisc,

		Text: `SHOW TRANSFER STATE [ WITH '<transfer_key>' ]
`,
	},

	`SHOW CREATE`: {
		ShortDescription: `display the CREATE statement for a table, sequence, view, or database`,

		Category: hDDL,

		Text: `
SHOW CREATE [ TABLE | SEQUENCE | VIEW | DATABASE ] <object_name>
SHOW CREATE ALL SCHEMAS
SHOW CREATE ALL TABLES
SHOW CREATE ALL TYPES
`,

		SeeAlso: `WEBDOCS/show-create.html
`,
	},

	`SHOW CREATE SCHEDULES`: {
		ShortDescription: `list CREATE statements for scheduled jobs`,

		Category: hDDL,

		Text: `
SHOW CREATE ALL SCHEDULES
SHOW CREATE SCHEDULE <schedule_id>
`,

		SeeAlso: `SHOW SCHEDULES, PAUSE SCHEDULES, RESUME SCHEDULES, DROP SCHEDULES
`,
	},

	`SHOW USERS`: {
		ShortDescription: `list defined users`,

		Category: hPriv,

		Text: `SHOW USERS
`,

		SeeAlso: `CREATE USER, DROP USER, WEBDOCS/show-users.html
`,
	},

	`SHOW ROLES`: {
		ShortDescription: `list defined roles`,

		Category: hPriv,

		Text: `SHOW ROLES
`,

		SeeAlso: `CREATE ROLE, ALTER ROLE, DROP ROLE
`,
	},

	`SHOW ZONE CONFIGURATION`: {
		ShortDescription: `display current zone configuration`,

		Category: hCfg,

		Text: `SHOW ZONE CONFIGURATION FROM [ RANGE | DATABASE | TABLE | INDEX ] <name>
SHOW ZONE CONFIGURATION FROM PARTITION OF [ INDEX | TABLE ] <name>
SHOW [ALL] ZONE CONFIGURATIONS
`,

		SeeAlso: `WEBDOCS/show-zone-configurations.html
`,
	},

	`SHOW RANGE`: {
		ShortDescription: `show range information for a row`,

		Category: hMisc,

		Text: `
SHOW RANGE FROM TABLE <tablename> FOR ROW (value1, value2, ...)
SHOW RANGE FROM INDEX [ <tablename> @ ] <indexname> FOR ROW (value1, value2, ...)
`,
	},

	`SHOW RANGES`: {
		ShortDescription: `list ranges`,

		Category: hMisc,

		Text: `
SHOW RANGES FROM TABLE <tablename>
SHOW RANGES FROM INDEX [ <tablename> @ ] <indexname>
`,
	},

	`SHOW SURVIVAL GOAL`: {
		ShortDescription: `shows survival goals`,

		Category: hDDL,

		Text: `
SHOW SURVIVAL GOAL FROM DATABASE
SHOW SURVIVAL GOAL FROM DATABASE <database>
`,
	},

	`SHOW REGIONS`: {
		ShortDescription: `shows regions`,

		Category: hDDL,

		Text: `
SHOW REGIONS
SHOW REGIONS FROM ALL DATABASES
SHOW REGIONS FROM CLUSTER
SHOW REGIONS FROM DATABASE
SHOW REGIONS FROM DATABASE <database>
`,
	},

	`PAUSE`: {

		Category: hMisc,

		Text: `

Pause various background tasks and activities.

PAUSE JOBS, PAUSE SCHEDULES
`,
	},

	`RESUME`: {

		Category: hMisc,

		Text: `

Resume various background tasks and activities.

RESUME JOBS, RESUME SCHEDULES, RESUME ALL BACKUP JOBS
`,
	},

	`RESUME ALL JOBS`: {

		Category: hMisc,

		Text: `
RESUME ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},

	`PAUSE JOBS`: {
		ShortDescription: `pause background jobs`,

		Category: hMisc,

		Text: `
PAUSE JOBS <selectclause>
PAUSE JOB <jobid>
`,

		SeeAlso: `SHOW JOBS, CANCEL JOBS, RESUME JOBS
`,
	},

	`PAUSE SCHEDULES`: {
		ShortDescription: `pause scheduled jobs`,

		Category: hMisc,

		Text: `
PAUSE SCHEDULES <selectclause>
  select clause: select statement returning schedule id to pause.
PAUSE SCHEDULE <scheduleID>
`,

		SeeAlso: `RESUME SCHEDULES, SHOW JOBS, CANCEL JOBS
`,
	},

	`PAUSE ALL JOBS`: {

		Category: hMisc,

		Text: `
PAUSE ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},

	`CREATE SCHEMA`: {
		ShortDescription: `create a new schema`,

		Category: hDDL,

		Text: `
CREATE SCHEMA [IF NOT EXISTS] { [<databasename>.]<schemaname> | [[<databasename>.]<schemaname>] AUTHORIZATION <rolename> }
`,
	},

	`ALTER SCHEMA`: {
		ShortDescription: `alter an existing schema`,

		Category: hDDL,

		Text: `

Commands:
  ALTER SCHEMA ... RENAME TO <newschemaname>
  ALTER SCHEMA ... OWNER TO {<newowner> | CURRENT_USER | SESSION_USER }
`,
	},

	`CREATE TABLE`: {
		ShortDescription: `create a new table`,

		Category: hDDL,

		Text: `
CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE [IF NOT EXISTS] <tablename> ( <elements...> ) [<on_commit>]
CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE [IF NOT EXISTS] <tablename> [( <colnames...> )] AS <source> [<on commit>]

Table elements:
   <name> <type> [<qualifiers...>]
   [UNIQUE | INVERTED] INDEX [<name>] ( <colname> [ASC | DESC] [, ...] )
                           [USING HASH WITH BUCKET_COUNT = <shard_buckets>] [{STORING | INCLUDE | COVERING} ( <colnames...> )]
   FAMILY [<name>] ( <colnames...> )
   [CONSTRAINT <name>] <constraint>

Table constraints:
   PRIMARY KEY ( <colnames...> ) [USING HASH WITH BUCKET_COUNT = <shard_buckets>]
   FOREIGN KEY ( <colnames...> ) REFERENCES <tablename> [( <colnames...> )] [ON DELETE {NO ACTION | RESTRICT}] [ON UPDATE {NO ACTION | RESTRICT}]
   UNIQUE ( <colnames...> ) [{STORING | INCLUDE | COVERING} ( <colnames...> )]
   CHECK ( <expr> )

Column qualifiers:
  [CONSTRAINT <constraintname>] {NULL | NOT NULL | NOT VISIBLE | UNIQUE | PRIMARY KEY | CHECK (<expr>) | DEFAULT <expr> | ON UPDATE <expr> | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [( <opt_sequence_option_list> )]}
  FAMILY <familyname>, CREATE [IF NOT EXISTS] FAMILY [<familyname>]
  REFERENCES <tablename> [( <colnames...> )] [ON DELETE {NO ACTION | RESTRICT}] [ON UPDATE {NO ACTION | RESTRICT}]
  COLLATE <collationname>
  AS ( <expr> ) { STORED | VIRTUAL }

On commit clause:
   ON COMMIT {PRESERVE ROWS | DROP | DELETE ROWS}

`,

		SeeAlso: `SHOW TABLES, CREATE VIEW, SHOW CREATE,
WEBDOCS/create-table.html
WEBDOCS/create-table-as.html
`,
	},

	`CREATE SEQUENCE`: {
		ShortDescription: `create a new sequence`,

		Category: hDDL,

		Text: `
CREATE [TEMPORARY | TEMP] SEQUENCE <seqname>
  [AS <typename>]
  [INCREMENT <increment>]
  [MINVALUE <minvalue> | NO MINVALUE]
  [MAXVALUE <maxvalue> | NO MAXVALUE]
  [START [WITH] <start>]
  [CACHE <cache>]
  [NO CYCLE]
  [VIRTUAL]

`,

		SeeAlso: `CREATE TABLE
`,
	},

	`TRUNCATE`: {
		ShortDescription: `empty one or more tables`,

		Category: hDML,

		Text: `TRUNCATE [TABLE] <tablename> [, ...] [CASCADE | RESTRICT]
`,

		SeeAlso: `WEBDOCS/truncate.html
`,
	},

	`CREATE ROLE`: {
		ShortDescription: `define a new role`,

		Category: hPriv,

		Text: `CREATE ROLE [IF NOT EXISTS] <name> [ [WITH] <OPTIONS...> ]
`,

		SeeAlso: `ALTER ROLE, DROP ROLE, SHOW ROLES
`,
	},

	`ALTER ROLE`: {
		ShortDescription: `alter a role`,

		Category: hPriv,

		Text: `
ALTER ROLE <name> [WITH] <options...>
ALTER ROLE { name | ALL } [ IN DATABASE database_name ] SET var { TO | = } { value | DEFAULT }
ALTER ROLE { name | ALL } [ IN DATABASE database_name ] RESET { var | ALL }
`,

		SeeAlso: `CREATE ROLE, DROP ROLE, SHOW ROLES
`,
	},

	`CREATE VIEW`: {
		ShortDescription: `create a new view`,

		Category: hDDL,

		Text: `CREATE [TEMPORARY | TEMP] [MATERIALIZED] VIEW [IF NOT EXISTS] <viewname> [( <colnames...> )] AS <source>
`,

		SeeAlso: `CREATE TABLE, SHOW CREATE, WEBDOCS/create-view.html
`,
	},

	`CREATE TYPE`: {
		ShortDescription: `- create a type`,

		Category: hDDL,

		Text: `CREATE TYPE [IF NOT EXISTS] <type_name> AS ENUM (...)
`,
	},

	`CREATE INDEX`: {
		ShortDescription: `create a new index`,

		Category: hDDL,

		Text: `
CREATE [UNIQUE | INVERTED] INDEX [CONCURRENTLY] [IF NOT EXISTS] [<idxname>]
       ON <tablename> ( <colname> [ASC | DESC] [, ...] )
       [USING HASH WITH BUCKET_COUNT = <shard_buckets>] [STORING ( <colnames...> )]
       [PARTITION BY <partition params>]
       [WITH <storage_parameter_list] [WHERE <where_conds...>]

`,

		SeeAlso: `CREATE TABLE, SHOW INDEXES, SHOW CREATE,
WEBDOCS/create-index.html
`,
	},

	`ALTER DEFAULT PRIVILEGES`: {
		ShortDescription: `alter default privileges on an object`,

		Category: hDDL,

		Text: `

Commands:
  ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_roles... ] [ IN SCHEMA schema_name...] abbreviated_grant_or_revoke
`,
	},

	`RELEASE`: {
		ShortDescription: `complete a sub-transaction`,

		Category: hTxn,

		Text: `RELEASE [SAVEPOINT] <savepoint name>
`,

		SeeAlso: `SAVEPOINT, WEBDOCS/savepoint.html
`,
	},

	`RESUME JOBS`: {
		ShortDescription: `resume background jobs`,

		Category: hMisc,

		Text: `
RESUME JOBS <selectclause>
RESUME JOB <jobid>
`,

		SeeAlso: `SHOW JOBS, CANCEL JOBS, PAUSE JOBS
`,
	},

	`RESUME SCHEDULES`: {
		ShortDescription: `resume executing scheduled jobs`,

		Category: hMisc,

		Text: `
RESUME SCHEDULES <selectclause>
 selectclause: select statement returning schedule IDs to resume.

RESUME SCHEDULE <scheduleID>

`,

		SeeAlso: `PAUSE SCHEDULES, SHOW JOBS, RESUME JOBS
`,
	},

	`DROP SCHEDULES`: {
		ShortDescription: `destroy specified schedules`,

		Category: hMisc,

		Text: `
DROP SCHEDULES <selectclause>
 selectclause: select statement returning schedule IDs to resume.

DROP SCHEDULE <scheduleID>

`,

		SeeAlso: `PAUSE SCHEDULES, SHOW JOBS, CANCEL JOBS
`,
	},

	`SAVEPOINT`: {
		ShortDescription: `start a sub-transaction`,

		Category: hTxn,

		Text: `SAVEPOINT <savepoint name>
`,

		SeeAlso: `RELEASE, WEBDOCS/savepoint.html
`,
	},

	`BEGIN`: {
		ShortDescription: `start a transaction`,

		Category: hTxn,

		Text: `
BEGIN [TRANSACTION] [ <txnparameter> [[,] ...] ]
START TRANSACTION [ <txnparameter> [[,] ...] ]

Transaction parameters:
   ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
   PRIORITY { LOW | NORMAL | HIGH }

`,

		SeeAlso: `COMMIT, ROLLBACK, WEBDOCS/begin-transaction.html
`,
	},

	`COMMIT`: {
		ShortDescription: `commit the current transaction`,

		Category: hTxn,

		Text: `
COMMIT [TRANSACTION]
END [TRANSACTION]
`,

		SeeAlso: `BEGIN, ROLLBACK, WEBDOCS/commit-transaction.html
`,
	},

	`ROLLBACK`: {
		ShortDescription: `abort the current (sub-)transaction`,

		Category: hTxn,

		Text: `
ROLLBACK [TRANSACTION]
ROLLBACK [TRANSACTION] TO [SAVEPOINT] <savepoint name>
`,

		SeeAlso: `BEGIN, COMMIT, SAVEPOINT, WEBDOCS/rollback-transaction.html
`,
	},

	`CREATE DATABASE`: {
		ShortDescription: `create a new database`,

		Category: hDDL,

		Text: `CREATE DATABASE [IF NOT EXISTS] <name>
`,

		SeeAlso: `WEBDOCS/create-database.html
`,
	},

	`INSERT`: {
		ShortDescription: `create new rows in a table`,

		Category: hDML,

		Text: `
INSERT INTO <tablename> [[AS] <name>] [( <colnames...> )]
       <selectclause>
       [ON CONFLICT {
         [( <colnames...> )] [WHERE <arbiter_predicate>] DO NOTHING |
         ( <colnames...> ) [WHERE <index_predicate>] DO UPDATE SET ... [WHERE <expr>]
       }
       [RETURNING <exprs...>]
`,

		SeeAlso: `UPSERT, UPDATE, DELETE, WEBDOCS/insert.html
`,
	},

	`UPSERT`: {
		ShortDescription: `create or replace rows in a table`,

		Category: hDML,

		Text: `
UPSERT INTO <tablename> [AS <name>] [( <colnames...> )]
       <selectclause>
       [RETURNING <exprs...>]
`,

		SeeAlso: `INSERT, UPDATE, DELETE, WEBDOCS/upsert.html
`,
	},

	`UPDATE`: {
		ShortDescription: `update rows of a table`,

		Category: hDML,

		Text: `
UPDATE <tablename> [[AS] <name>]
       SET ...
       [WHERE <expr>]
       [ORDER BY <exprs...>]
       [LIMIT <expr>]
       [RETURNING <exprs...>]
`,

		SeeAlso: `INSERT, UPSERT, DELETE, WEBDOCS/update.html
`,
	},

	`REASSIGN OWNED BY`: {
		ShortDescription: `change ownership of all objects`,

		Category: hPriv,

		Text: `REASSIGN OWNED BY {<name> | CURRENT_USER | SESSION_USER}[,...]
TO {<name> | CURRENT_USER | SESSION_USER}
`,

		SeeAlso: `DROP OWNED BY
`,
	},

	`DROP OWNED BY`: {
		ShortDescription: `remove database objects owned by role(s).`,

		Category: hPriv,

		Text: `DROP OWNED BY {<name> | CURRENT_USER | SESSION_USER}[,...]
[RESTRICT | CASCADE]
`,

		SeeAlso: `REASSIGN OWNED BY
`,
	},

	`<SELECTCLAUSE>`: {
		ShortDescription: `access tabular data`,

		Category: hDML,

		Text: `
Select clause:
  TABLE <tablename>
  VALUES ( <exprs...> ) [ , ... ]
  SELECT ... [ { INTERSECT | UNION | EXCEPT } [ ALL | DISTINCT ] <selectclause> ]
`,
	},

	`SELECT`: {
		ShortDescription: `retrieve rows from a data source and compute a result`,

		Category: hDML,

		Text: `
SELECT [DISTINCT [ ON ( <expr> [ , ... ] ) ] ]
       { <expr> [[AS] <name>] | [ [<dbname>.] <tablename>. ] * } [, ...]
       [ FROM <source> ]
       [ WHERE <expr> ]
       [ GROUP BY <expr> [ , ... ] ]
       [ HAVING <expr> ]
       [ WINDOW <name> AS ( <definition> ) ]
       [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] <selectclause> ]
       [ ORDER BY <expr> [ ASC | DESC ] [, ...] ]
       [ LIMIT { <expr> | ALL } ]
       [ OFFSET <expr> [ ROW | ROWS ] ]
`,

		SeeAlso: `WEBDOCS/select-clause.html
`,
	},

	`TABLE`: {
		ShortDescription: `select an entire table`,

		Category: hDML,

		Text: `TABLE <tablename>
`,

		SeeAlso: `SELECT, VALUES, WEBDOCS/table-expressions.html
`,
	},

	`VALUES`: {
		ShortDescription: `select a given set of values`,

		Category: hDML,

		Text: `VALUES ( <exprs...> ) [, ...]
`,

		SeeAlso: `SELECT, TABLE, WEBDOCS/table-expressions.html
`,
	},

	`<SOURCE>`: {
		ShortDescription: `define a data source for SELECT`,

		Category: hDML,

		Text: `
Data sources:
  <tablename> [ @ { <idxname> | <indexflags> } ]
  <tablefunc> ( <exprs...> )
  ( { <selectclause> | <source> } )
  <source> [AS] <alias> [( <colnames...> )]
  <source> [ <jointype> ] JOIN <source> ON <expr>
  <source> [ <jointype> ] JOIN <source> USING ( <colnames...> )
  <source> NATURAL [ <jointype> ] JOIN <source>
  <source> CROSS JOIN <source>
  <source> WITH ORDINALITY
  '[' EXPLAIN ... ']'
  '[' SHOW ... ']'

Index flags:
  '{' FORCE_INDEX = <idxname> [, ...] '}'
  '{' NO_INDEX_JOIN [, ...] '}'
  '{' NO_ZIGZAG_JOIN [, ...] '}'
  '{' NO_FULL_SCAN [, ...] '}'
  '{' IGNORE_FOREIGN_KEYS [, ...] '}'
  '{' FORCE_ZIGZAG = <idxname> [, ...]  '}'

Join types:
  { INNER | { LEFT | RIGHT | FULL } [OUTER] } [ { HASH | MERGE | LOOKUP | INVERTED } ]

`,

		SeeAlso: `WEBDOCS/table-expressions.html
`,
	},
}
// Code generated by help.awk. DO NOT EDIT.
// GENERATED FILE DO NOT EDIT

package parser

var helpMessages = map[string]HelpMessageBody{
	//line sql.y: 1594
	`ALTER`: {
		//line sql.y: 1595
		Category: hGroup,
		//line sql.y: 1596
		Text: `ALTER TABLE, ALTER INDEX, ALTER VIEW, ALTER SEQUENCE, ALTER DATABASE, ALTER USER, ALTER ROLE, ALTER DEFAULT PRIVILEGES, ALTER TENANT
`,
	},
	//line sql.y: 1618
	`ALTER TABLE`: {
		ShortDescription: `change the definition of a table`,
		//line sql.y: 1619
		Category: hDDL,
		//line sql.y: 1620
		Text: `
ALTER TABLE [IF EXISTS] <tablename> <command> [, ...]

Commands:
  ALTER TABLE ... ADD [COLUMN] [IF NOT EXISTS] <colname> <type> [<qualifiers...>]
  ALTER TABLE ... ADD <constraint>
  ALTER TABLE ... DROP [COLUMN] [IF EXISTS] <colname> [RESTRICT | CASCADE]
  ALTER TABLE ... DROP CONSTRAINT [IF EXISTS] <constraintname> [RESTRICT | CASCADE]
  ALTER TABLE ... ALTER [COLUMN] <colname> {SET DEFAULT <expr> | DROP DEFAULT}
  ALTER TABLE ... ALTER [COLUMN] <colname> {SET ON UPDATE <expr> | DROP ON UPDATE}
  ALTER TABLE ... ALTER [COLUMN] <colname> DROP NOT NULL
  ALTER TABLE ... ALTER [COLUMN] <colname> DROP STORED
  ALTER TABLE ... ALTER [COLUMN] <colname> [SET DATA] TYPE <type> [COLLATE <collation>]
  ALTER TABLE ... ALTER PRIMARY KEY USING INDEX <name>
  ALTER TABLE ... RENAME TO <newname>
  ALTER TABLE ... RENAME [COLUMN] <colname> TO <newname>
  ALTER TABLE ... VALIDATE CONSTRAINT <constraintname>
  ALTER TABLE ... SET (storage_param = value, ...)
  ALTER TABLE ... SPLIT AT <selectclause> [WITH EXPIRATION <expr>]
  ALTER TABLE ... UNSPLIT AT <selectclause>
  ALTER TABLE ... UNSPLIT ALL
  ALTER TABLE ... SCATTER [ FROM ( <exprs...> ) TO ( <exprs...> ) ]
  ALTER TABLE ... INJECT STATISTICS ...  (experimental)
  ALTER TABLE ... RELOCATE [ LEASE | VOTERS | NONVOTERS ] <selectclause>  (experimental)
  ALTER TABLE ... PARTITION BY RANGE ( <name...> ) ( <rangespec> )
  ALTER TABLE ... PARTITION BY LIST ( <name...> ) ( <listspec> )
  ALTER TABLE ... PARTITION BY NOTHING
  ALTER TABLE ... CONFIGURE ZONE <zoneconfig>
  ALTER TABLE ... SET SCHEMA <newschemaname>
  ALTER TABLE ... SET LOCALITY [REGIONAL BY [TABLE IN <region> | ROW] | GLOBAL]

Column qualifiers:
  [CONSTRAINT <constraintname>] {NULL | NOT NULL | UNIQUE | PRIMARY KEY | CHECK (<expr>) | DEFAULT <expr>}
  FAMILY <familyname>, CREATE [IF NOT EXISTS] FAMILY [<familyname>]
  REFERENCES <tablename> [( <colnames...> )]
  COLLATE <collationname>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,
		//line sql.y: 1663
		SeeAlso: `WEBDOCS/alter-table.html
`,
	},
	//line sql.y: 1679
	`ALTER PARTITION`: {
		ShortDescription: `apply zone configurations to a partition`,
		//line sql.y: 1680
		Category: hDDL,
		//line sql.y: 1681
		Text: `
ALTER PARTITION <name> <command>

Commands:
  -- Alter a single partition which exists on any of a table's indexes.
  ALTER PARTITION <partition> OF TABLE <tablename> CONFIGURE ZONE <zoneconfig>

  -- Alter a partition of a specific index.
  ALTER PARTITION <partition> OF INDEX <tablename>@<indexname> CONFIGURE ZONE <zoneconfig>

  -- Alter all partitions with the same name across a table's indexes.
  ALTER PARTITION <partition> OF INDEX <tablename>@* CONFIGURE ZONE <zoneconfig>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,
		//line sql.y: 1700
		SeeAlso: `WEBDOCS/configure-zone.html
`,
	},
	//line sql.y: 1705
	`ALTER VIEW`: {
		ShortDescription: `change the definition of a view`,
		//line sql.y: 1706
		Category: hDDL,
		//line sql.y: 1707
		Text: `
ALTER [MATERIALIZED] VIEW [IF EXISTS] <name> RENAME TO <newname>
ALTER [MATERIALIZED] VIEW [IF EXISTS] <name> SET SCHEMA <newschemaname>
`,
		//line sql.y: 1710
		SeeAlso: `WEBDOCS/alter-view.html
`,
	},
	//line sql.y: 1719
	`ALTER SEQUENCE`: {
		ShortDescription: `change the definition of a sequence`,
		//line sql.y: 1720
		Category: hDDL,
		//line sql.y: 1721
		Text: `
ALTER SEQUENCE [IF EXISTS] <name>
  [AS <typename>]
  [INCREMENT <increment>]
  [MINVALUE <minvalue> | NO MINVALUE]
  [MAXVALUE <maxvalue> | NO MAXVALUE]
  [START <start>]
  [[NO] CYCLE]
ALTER SEQUENCE [IF EXISTS] <name> RENAME TO <newname>
ALTER SEQUENCE [IF EXISTS] <name> SET SCHEMA <newschemaname>
`,
	},
	//line sql.y: 1748
	`ALTER DATABASE`: {
		ShortDescription: `change the definition of a database`,
		//line sql.y: 1749
		Category: hDDL,
		//line sql.y: 1750
		Text: `
ALTER DATABASE <name> RENAME TO <newname>
ALTER DATABASE <name> CONFIGURE ZONE <zone config>
ALTER DATABASE <name> OWNER TO <newowner>
ALTER DATABASE <name> CONVERT TO SCHEMA WITH PARENT <name>
ALTER DATABASE <name> ADD REGION [IF NOT EXISTS] <region>
ALTER DATABASE <name> DROP REGION [IF EXISTS] <region>
ALTER DATABASE <name> PRIMARY REGION <region>
ALTER DATABASE <name> SURVIVE <failure type>
ALTER DATABASE <name> PLACEMENT { RESTRICTED | DEFAULT }
ALTER DATABASE <name> SET var { TO | = } { value | DEFAULT }
ALTER DATABASE <name> RESET { var | ALL }
`,
		//line sql.y: 1762
		SeeAlso: `WEBDOCS/alter-database.html
`,
	},
	//line sql.y: 1888
	`ALTER RANGE`: {
		ShortDescription: `change the parameters of a range`,
		//line sql.y: 1889
		Category: hDDL,
		//line sql.y: 1890
		Text: `
ALTER RANGE <zonename> <command>

Commands:
  ALTER RANGE ... CONFIGURE ZONE <zoneconfig>
  ALTER RANGE   RELOCATE { VOTERS | NONVOTERS } FROM <store_id> TO <store_id> FOR <selectclause>
  ALTER RANGE r RELOCATE { VOTERS | NONVOTERS } FROM <store_id> TO <store_id>
  ALTER RANGE   RELOCATE LEASE                                  TO <store_id> FOR <selectclause>
  ALTER RANGE r RELOCATE LEASE                                  TO <store_id>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,
		//line sql.y: 1906
		SeeAlso: `ALTER TABLE
`,
	},
	//line sql.y: 1912
	`ALTER INDEX`: {
		ShortDescription: `change the definition of an index`,
		//line sql.y: 1913
		Category: hDDL,
		//line sql.y: 1914
		Text: `
ALTER INDEX [IF EXISTS] <idxname> <command>

Commands:
  ALTER INDEX ... RENAME TO <newname>
  ALTER INDEX ... SPLIT AT <selectclause> [WITH EXPIRATION <expr>]
  ALTER INDEX ... UNSPLIT AT <selectclause>
  ALTER INDEX ... UNSPLIT ALL
  ALTER INDEX ... SCATTER [ FROM ( <exprs...> ) TO ( <exprs...> ) ]
  ALTER INDEX ... RELOCATE [ LEASE | VOTERS | NONVOTERS ] <selectclause>

Zone configurations:
  DISCARD
  USING <var> = <expr> [, ...]
  USING <var> = COPY FROM PARENT [, ...]
  { TO | = } <expr>

`,
		//line sql.y: 1931
		SeeAlso: `WEBDOCS/alter-index.html
`,
	},
	//line sql.y: 2574
	`ALTER TYPE`: {
		ShortDescription: `change the definition of a type.`,
		//line sql.y: 2575
		Category: hDDL,
		//line sql.y: 2576
		Text: `ALTER TYPE <typename> <command>

Commands:
  ALTER TYPE ... ADD VALUE [IF NOT EXISTS] <value> [ { BEFORE | AFTER } <value> ]
  ALTER TYPE ... RENAME VALUE <oldname> TO <newname>
  ALTER TYPE ... RENAME TO <newname>
  ALTER TYPE ... SET SCHEMA <newschemaname>
  ALTER TYPE ... OWNER TO {<newowner> | CURRENT_USER | SESSION_USER }
  ALTER TYPE ... RENAME ATTRIBUTE <oldname> TO <newname> [ CASCADE | RESTRICT ]
  ALTER TYPE ... <attributeaction> [, ... ]

Attribute action:
  ADD ATTRIBUTE <name> <type> [ COLLATE <collation> ] [ CASCADE | RESTRICT ]
  DROP ATTRIBUTE [IF EXISTS] <name> [ CASCADE | RESTRICT ]
  ALTER ATTRIBUTE <name> [ SET DATA ] TYPE <type> [ COLLATE <collation> ] [ CASCADE | RESTRICT ]

`,
		//line sql.y: 2592
		SeeAlso: `WEBDOCS/alter-type.html
`,
	},
	//line sql.y: 2741
	`REFRESH`: {
		ShortDescription: `recalculate a materialized view`,
		//line sql.y: 2742
		Category: hMisc,
		//line sql.y: 2743
		Text: `
REFRESH MATERIALIZED VIEW [CONCURRENTLY] view_name [WITH [NO] DATA]
`,
	},
	//line sql.y: 2770
	`BACKUP`: {
		ShortDescription: `back up data to external storage`,
		//line sql.y: 2771
		Category: hCCL,
		//line sql.y: 2772
		Text: `

Create a full backup
BACKUP <targets...> INTO <destination...>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]

Append an incremental backup to the most recent backup added to a collection
BACKUP <targets...> INTO LATEST IN <destination...>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]


Append an incremental backup in the <subdir>. This command will create an
incremental backup iff there is a full backup in <destination>
BACKUP <targets...> INTO [<subdir...> IN] <destination>
       [ AS OF SYSTEM TIME <expr> ]
			[ WITH <option> [= <value>] [, ...] ]

Targets:
   Empty targets list: backup full cluster.
   TABLE <pattern> [, ...]
   DATABASE <databasename> [, ...]

Destination:
   "[scheme]://[host]/[path to backup]?[parameters]"

Options:
   revision_history: enable revision history
   encryption_passphrase="secret": encrypt backups
   kms="[kms_provider]://[kms_host]/[master_key_identifier]?[parameters]" : encrypt backups using KMS
   detached: execute backup job asynchronously, without waiting for its completion
   incremental_location: specify a different path to store the incremental backup

`,
		//line sql.y: 2806
		SeeAlso: `RESTORE, WEBDOCS/backup.html
`,
	},
	//line sql.y: 2916
	`CREATE SCHEDULE FOR BACKUP`: {
		ShortDescription: `backup data periodically`,
		//line sql.y: 2917
		Category: hCCL,
		//line sql.y: 2918
		Text: `
CREATE SCHEDULE [IF NOT EXISTS]
[<description>]
FOR BACKUP [<targets>] INTO <location...>
[WITH <backup_option>[=<value>] [, ...]]
RECURRING [crontab|NEVER] [FULL BACKUP <crontab|ALWAYS>]
[WITH EXPERIMENTAL SCHEDULE OPTIONS <schedule_option>[= <value>] [, ...] ]

All backups run in UTC timezone.

Description:
  Optional description (or name) for this schedule

Targets:
  empty targets: Backup entire cluster
  DATABASE <pattern> [, ...]: comma separated list of databases to backup.
  TABLE <pattern> [, ...]: comma separated list of tables to backup.

Location:
  "[scheme]://[host]/[path prefix to backup]?[parameters]"
  Backup schedule will create subdirectories under this location to store
  full and periodic backups.

WITH <options>:
  Options specific to BACKUP: See BACKUP options

RECURRING <crontab>:
  The RECURRING expression specifies when we backup.  By default these are incremental
  backups that capture changes since the last backup, writing to the "current" backup.

  Schedule specified as a string in crontab format.
  All times in UTC.
    "5 0 * * *": run schedule 5 minutes past midnight.
    "@daily": run daily, at midnight
  See https://en.wikipedia.org/wiki/Cron

FULL BACKUP <crontab|ALWAYS>:
  The optional FULL BACKUP '<cron expr>' clause specifies when we'll start a new full backup,
  which becomes the "current" backup when complete.
  If FULL BACKUP ALWAYS is specified, then the backups triggered by the RECURRING clause will
  always be full backups. For free users, this is the only accepted value of FULL BACKUP.

  If the FULL BACKUP clause is omitted, we will select a reasonable default:
     * RECURRING <= 1 hour: we default to FULL BACKUP '@daily';
     * RECURRING <= 1 day:  we default to FULL BACKUP '@weekly';
     * Otherwise: we default to FULL BACKUP ALWAYS.

 SCHEDULE OPTIONS:
  The schedule can be modified by specifying the following options (which are considered
  to be experimental at this time):
  * first_run=TIMESTAMPTZ:
    execute the schedule at the specified time. If not specified, the default is to execute
    the scheduled based on it's next RECURRING time.
  * on_execution_failure='[retry|reschedule|pause]':
    If an error occurs during the execution, handle the error based as:
    * retry: retry execution right away
    * reschedule: retry execution by rescheduling it based on its RECURRING expression.
      This is the default.
    * pause: pause this schedule.  Requires manual intervention to unpause.
  * on_previous_running='[start|skip|wait]':
    If the previous backup started by this schedule still running, handle this as:
    * start: start this execution anyway, even if the previous one still running.
    * skip: skip this execution, reschedule it based on RECURRING (or change_capture_period)
      expression.
    * wait: wait for the previous execution to complete.  This is the default.
  * ignore_existing_backups
    If backups were already created in the destination in which a new schedule references,
    this flag must be passed in to acknowledge that the new schedule may be backing up different
    objects.

`,
		//line sql.y: 2988
		SeeAlso: `BACKUP
`,
	},
	//line sql.y: 3073
	`RESTORE`: {
		ShortDescription: `restore data from external storage`,
		//line sql.y: 3074
		Category: hCCL,
		//line sql.y: 3075
		Text: `
RESTORE <targets...> FROM <location...>
        [ AS OF SYSTEM TIME <expr> ]
        [ WITH <option> [= <value>] [, ...] ]
or
RESTORE SYSTEM USERS FROM <location...>
        [ AS OF SYSTEM TIME <expr> ]
        [ WITH <option> [= <value>] [, ...] ]

Targets:
   TABLE <pattern> [, ...]
   DATABASE <databasename> [, ...]

Locations:
   "[scheme]://[host]/[path to backup]?[parameters]"

Options:
   into_db: specify target database
   skip_missing_foreign_keys: remove foreign key constraints before restoring
   skip_missing_sequences: ignore sequence dependencies
   skip_missing_views: skip restoring views because of dependencies that cannot be restored
   skip_missing_sequence_owners: remove sequence-table ownership dependencies before restoring
   encryption_passphrase=passphrase: decrypt BACKUP with specified passphrase
   kms="[kms_provider]://[kms_host]/[master_key_identifier]?[parameters]" : decrypt backups using KMS
   detached: execute restore job asynchronously, without waiting for its completion
   skip_localities_check: ignore difference of zone configuration between restore cluster and backup cluster
   debug_pause_on: describes the events that the job should pause itself on for debugging purposes.
   new_db_name: renames the restored database. only applies to database restores
`,
		//line sql.y: 3103
		SeeAlso: `BACKUP, WEBDOCS/restore.html
`,
	},
	//line sql.y: 3295
	`IMPORT`: {
		ShortDescription: `load data from file in a distributed manner`,
		//line sql.y: 3296
		Category: hCCL,
		//line sql.y: 3297
		Text: `
-- Import both schema and table data:
IMPORT [ TABLE <tablename> FROM ]
       <format> <datafile>
       [ WITH <option> [= <value>] [, ...] ]

-- Import using specific schema, use only table data from external file:
IMPORT TABLE <tablename>
       { ( <elements> ) | CREATE USING <schemafile> }
       <format>
       DATA ( <datafile> [, ...] )
       [ WITH <option> [= <value>] [, ...] ]

Formats:
   CSV
   DELIMITED
   MYSQLDUMP
   PGCOPY
   PGDUMP

Options:
   distributed = '...'
   sstsize = '...'
   temp = '...'
   delimiter = '...'      [CSV, PGCOPY-specific]
   nullif = '...'         [CSV, PGCOPY-specific]
   comment = '...'        [CSV-specific]

`,
		//line sql.y: 3325
		SeeAlso: `CREATE TABLE
`,
	},
	//line sql.y: 3359
	`EXPORT`: {
		ShortDescription: `export data to file in a distributed manner`,
		//line sql.y: 3360
		Category: hCCL,
		//line sql.y: 3361
		Text: `
EXPORT INTO <format> <datafile> [WITH <option> [= value] [,...]] FROM <query>

Formats:
   CSV
   Parquet

Options:
   delimiter = '...'   [CSV-specific]

`,
		//line sql.y: 3371
		SeeAlso: `SELECT
`,
	},
	//line sql.y: 3523
	`CANCEL`: {
		//line sql.y: 3524
		Category: hGroup,
		//line sql.y: 3525
		Text: `CANCEL JOBS, CANCEL QUERIES, CANCEL SESSIONS
`,
	},
	//line sql.y: 3533
	`CANCEL JOBS`: {
		ShortDescription: `cancel background jobs`,
		//line sql.y: 3534
		Category: hMisc,
		//line sql.y: 3535
		Text: `
CANCEL JOBS <selectclause>
CANCEL JOB <jobid>
`,
		//line sql.y: 3538
		SeeAlso: `SHOW JOBS, PAUSE JOBS, RESUME JOBS
`,
	},
	//line sql.y: 3560
	`CANCEL QUERIES`: {
		ShortDescription: `cancel running queries`,
		//line sql.y: 3561
		Category: hMisc,
		//line sql.y: 3562
		Text: `
CANCEL QUERIES [IF EXISTS] <selectclause>
CANCEL QUERY [IF EXISTS] <expr>
`,
		//line sql.y: 3565
		SeeAlso: `SHOW STATEMENTS
`,
	},
	//line sql.y: 3596
	`CANCEL SESSIONS`: {
		ShortDescription: `cancel open sessions`,
		//line sql.y: 3597
		Category: hMisc,
		//line sql.y: 3598
		Text: `
CANCEL SESSIONS [IF EXISTS] <selectclause>
CANCEL SESSION [IF EXISTS] <sessionid>
`,
		//line sql.y: 3601
		SeeAlso: `SHOW SESSIONS
`,
	},
	//line sql.y: 3632
	`CANCEL ALL JOBS`: {
		//line sql.y: 3633
		Category: hMisc,
		//line sql.y: 3634
		Text: `
CANCEL ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},
	//line sql.y: 3693
	`CREATE`: {
		//line sql.y: 3694
		Category: hGroup,
		//line sql.y: 3695
		Text: `
CREATE DATABASE, CREATE TABLE, CREATE INDEX, CREATE TABLE AS,
CREATE USER, CREATE VIEW, CREATE SEQUENCE, CREATE STATISTICS,
CREATE ROLE, CREATE TYPE, CREATE EXTENSION
`,
	},
	//line sql.y: 3710
	`CREATE EXTENSION`: {
		//line sql.y: 3711
		Category: hCfg,
		//line sql.y: 3712
		Text: `CREATE EXTENSION [IF NOT EXISTS] name
`,
	},
	//line sql.y: 3796
	`CREATE STATISTICS`: {
		ShortDescription: `create a new table statistic`,
		//line sql.y: 3797
		Category: hMisc,
		//line sql.y: 3798
		Text: `
CREATE STATISTICS <statisticname>
  [ON <colname> [, ...]]
  FROM <tablename> [AS OF SYSTEM TIME <expr>]
`,
	},
	//line sql.y: 3891
	`CREATE CHANGEFEED`: {
		ShortDescription: `create change data capture`,
		//line sql.y: 3892
		Category: hCCL,
		//line sql.y: 3893
		Text: `
CREATE CHANGEFEED
FOR <targets> [INTO sink] [WITH <options>]

Sink: Data caputre stream stream destination.  Enterprise only.
`,
	},
	//line sql.y: 3969
	`CREATE REPLICATION STREAM`: {
		ShortDescription: `continuously replicate data`,
		//line sql.y: 3970
		Category: hCCL,
		//line sql.y: 3971
		Text: `
CREATE REPLICATION STREAM FOR <targets> [INTO <sink>] [WITH <options>]

Sink: Replication stream destination.
WITH <options>:
  Options specific to REPLICATION STREAM: See CHANGEFEED options

`,
		//line sql.y: 3978
		SeeAlso: `CREATE CHANGEFEED
`,
	},
	//line sql.y: 4028
	`DELETE`: {
		ShortDescription: `delete rows from a table`,
		//line sql.y: 4029
		Category: hDML,
		//line sql.y: 4030
		Text: `DELETE FROM <tablename> [WHERE <expr>]
              [ORDER BY <exprs...>]
              [LIMIT <expr>]
              [RETURNING <exprs...>]
`,
		//line sql.y: 4034
		SeeAlso: `WEBDOCS/delete.html
`,
	},
	//line sql.y: 4054
	`DISCARD`: {
		ShortDescription: `reset the session to its initial state`,
		//line sql.y: 4055
		Category: hCfg,
		//line sql.y: 4056
		Text: `DISCARD ALL
`,
	},
	//line sql.y: 4068
	`DROP`: {
		//line sql.y: 4069
		Category: hGroup,
		//line sql.y: 4070
		Text: `
DROP DATABASE, DROP INDEX, DROP TABLE, DROP VIEW, DROP SEQUENCE,
DROP USER, DROP ROLE, DROP TYPE
`,
	},
	//line sql.y: 4089
	`DROP VIEW`: {
		ShortDescription: `remove a view`,
		//line sql.y: 4090
		Category: hDDL,
		//line sql.y: 4091
		Text: `DROP [MATERIALIZED] VIEW [IF EXISTS] <tablename> [, ...] [CASCADE | RESTRICT]
`,
		//line sql.y: 4092
		SeeAlso: `WEBDOCS/drop-index.html
`,
	},
	//line sql.y: 4122
	`DROP SEQUENCE`: {
		ShortDescription: `remove a sequence`,
		//line sql.y: 4123
		Category: hDDL,
		//line sql.y: 4124
		Text: `DROP SEQUENCE [IF EXISTS] <sequenceName> [, ...] [CASCADE | RESTRICT]
`,
		//line sql.y: 4125
		SeeAlso: `DROP
`,
	},
	//line sql.y: 4137
	`DROP TABLE`: {
		ShortDescription: `remove a table`,
		//line sql.y: 4138
		Category: hDDL,
		//line sql.y: 4139
		Text: `DROP TABLE [IF EXISTS] <tablename> [, ...] [CASCADE | RESTRICT]
`,
		//line sql.y: 4140
		SeeAlso: `WEBDOCS/drop-table.html
`,
	},
	//line sql.y: 4152
	`DROP INDEX`: {
		ShortDescription: `remove an index`,
		//line sql.y: 4153
		Category: hDDL,
		//line sql.y: 4154
		Text: `DROP INDEX [CONCURRENTLY] [IF EXISTS] <idxname> [, ...] [CASCADE | RESTRICT]
`,
		//line sql.y: 4155
		SeeAlso: `WEBDOCS/drop-index.html
`,
	},
	//line sql.y: 4177
	`DROP DATABASE`: {
		ShortDescription: `remove a database`,
		//line sql.y: 4178
		Category: hDDL,
		//line sql.y: 4179
		Text: `DROP DATABASE [IF EXISTS] <databasename> [CASCADE | RESTRICT]
`,
		//line sql.y: 4180
		SeeAlso: `WEBDOCS/drop-database.html
`,
	},
	//line sql.y: 4200
	`DROP TYPE`: {
		ShortDescription: `remove a type`,
		//line sql.y: 4201
		Category: hDDL,
		//line sql.y: 4202
		Text: `DROP TYPE [IF EXISTS] <type_name> [, ...] [CASCASE | RESTRICT]
`,
	},
	//line sql.y: 4238
	`DROP SCHEMA`: {
		ShortDescription: `remove a schema`,
		//line sql.y: 4239
		Category: hDDL,
		//line sql.y: 4240
		Text: `DROP SCHEMA [IF EXISTS] <schema_name> [, ...] [CASCADE | RESTRICT]
`,
	},
	//line sql.y: 4260
	`DROP ROLE`: {
		ShortDescription: `remove a user`,
		//line sql.y: 4261
		Category: hPriv,
		//line sql.y: 4262
		Text: `DROP ROLE [IF EXISTS] <user> [, ...]
`,
		//line sql.y: 4263
		SeeAlso: `CREATE ROLE, SHOW ROLE
`,
	},
	//line sql.y: 4287
	`ANALYZE`: {
		ShortDescription: `collect table statistics`,
		//line sql.y: 4288
		Category: hMisc,
		//line sql.y: 4289
		Text: `
ANALYZE <tablename>

`,
		//line sql.y: 4292
		SeeAlso: `CREATE STATISTICS
`,
	},
	//line sql.y: 4315
	`EXPLAIN`: {
		ShortDescription: `show the logical plan of a query`,
		//line sql.y: 4316
		Category: hMisc,
		//line sql.y: 4317
		Text: `
EXPLAIN <statement>
EXPLAIN ([PLAN ,] <planoptions...> ) <statement>
EXPLAIN (DISTSQL) <statement>
EXPLAIN ANALYZE [(DISTSQL)] <statement>
EXPLAIN ANALYZE (PLAN <planoptions...>) <statement>

Explainable statements:
    SELECT, CREATE, DROP, ALTER, INSERT, UPSERT, UPDATE, DELETE,
    SHOW, EXPLAIN

Plan options:
    TYPES, VERBOSE, OPT

`,
		//line sql.y: 4331
		SeeAlso: `WEBDOCS/explain.html
`,
	},
	//line sql.y: 4442
	`ALTER CHANGEFEED`: {
		ShortDescription: `alter an existing changefeed`,
		//line sql.y: 4443
		Category: hCCL,
		//line sql.y: 4444
		Text: `
ALTER CHANGEFEED <job_id> {{ADD|DROP <targets...>} | SET <options...>}...
`,
	},
	//line sql.y: 4495
	`ALTER BACKUP`: {
		ShortDescription: `alter an existing backup's encryption keys`,
		//line sql.y: 4496
		Category: hCCL,
		//line sql.y: 4497
		Text: `
ALTER BACKUP <location...>
       [ ADD NEW_KMS = <kms...> ]
       [ WITH OLD_KMS = <kms...> ]
Locations:
   "[scheme]://[host]/[path to backup]?[parameters]"

KMS:
   "[kms_provider]://[kms_host]/[master_key_identifier]?[parameters]" : add new kms keys to backup
`,
	},
	//line sql.y: 4551
	`PREPARE`: {
		ShortDescription: `prepare a statement for later execution`,
		//line sql.y: 4552
		Category: hMisc,
		//line sql.y: 4553
		Text: `PREPARE <name> [ ( <types...> ) ] AS <query>
`,
		//line sql.y: 4554
		SeeAlso: `EXECUTE, DEALLOCATE, DISCARD
`,
	},
	//line sql.y: 4585
	`EXECUTE`: {
		ShortDescription: `execute a statement prepared previously`,
		//line sql.y: 4586
		Category: hMisc,
		//line sql.y: 4587
		Text: `EXECUTE <name> [ ( <exprs...> ) ]
`,
		//line sql.y: 4588
		SeeAlso: `PREPARE, DEALLOCATE, DISCARD
`,
	},
	//line sql.y: 4618
	`DEALLOCATE`: {
		ShortDescription: `remove a prepared statement`,
		//line sql.y: 4619
		Category: hMisc,
		//line sql.y: 4620
		Text: `DEALLOCATE [PREPARE] { <name> | ALL }
`,
		//line sql.y: 4621
		SeeAlso: `PREPARE, EXECUTE, DISCARD
`,
	},
	//line sql.y: 4641
	`GRANT`: {
		ShortDescription: `define access privileges and role memberships`,
		//line sql.y: 4642
		Category: hPriv,
		//line sql.y: 4643
		Text: `
Grant privileges:
  GRANT {ALL [PRIVILEGES] | <privileges...> } ON <targets...> TO <grantees...>
Grant role membership:
  GRANT <roles...> TO <grantees...> [WITH ADMIN OPTION]

Privileges:
  CREATE, DROP, GRANT, SELECT, INSERT, DELETE, UPDATE, USAGE

Targets:
  DATABASE <databasename> [, ...]
  [TABLE] [<databasename> .] { <tablename> | * } [, ...]
  TYPE <typename> [, <typename>]...
  SCHEMA [<databasename> .]<schemaname> [, [<databasename> .]<schemaname>]...
  ALL TABLES IN SCHEMA schema_name [, ...]

`,
		//line sql.y: 4659
		SeeAlso: `REVOKE, WEBDOCS/grant.html
`,
	},
	//line sql.y: 4710
	`REVOKE`: {
		ShortDescription: `remove access privileges and role memberships`,
		//line sql.y: 4711
		Category: hPriv,
		//line sql.y: 4712
		Text: `
Revoke privileges:
  REVOKE {ALL | <privileges...> } ON <targets...> FROM <grantees...>
Revoke role membership:
  REVOKE [ADMIN OPTION FOR] <roles...> FROM <grantees...>

Privileges:
  CREATE, DROP, GRANT, SELECT, INSERT, DELETE, UPDATE, USAGE

Targets:
  DATABASE <databasename> [, <databasename>]...
  [TABLE] [<databasename> .] { <tablename> | * } [, ...]
  TYPE <typename> [, <typename>]...
  SCHEMA [<databasename> .]<schemaname> [, [<databasename> .]<schemaname]...
  ALL TABLES IN SCHEMA schema_name [, ...]

`,
		//line sql.y: 4728
		SeeAlso: `GRANT, WEBDOCS/revoke.html
`,
	},
	//line sql.y: 4845
	`RESET`: {
		ShortDescription: `reset a session variable to its default value`,
		//line sql.y: 4846
		Category: hCfg,
		//line sql.y: 4847
		Text: `RESET [SESSION] <var>
`,
		//line sql.y: 4848
		SeeAlso: `RESET CLUSTER SETTING, WEBDOCS/set-vars.html
`,
	},
	//line sql.y: 4864
	`RESET CLUSTER SETTING`: {
		ShortDescription: `reset a cluster setting to its default value`,
		//line sql.y: 4865
		Category: hCfg,
		//line sql.y: 4866
		Text: `RESET CLUSTER SETTING <var>
`,
		//line sql.y: 4867
		SeeAlso: `SET CLUSTER SETTING, RESET
`,
	},
	//line sql.y: 4876
	`USE`: {
		ShortDescription: `set the current database`,
		//line sql.y: 4877
		Category: hCfg,
		//line sql.y: 4878
		Text: `USE <dbname>

"USE <dbname>" is an alias for "SET [SESSION] database = <dbname>".
`,
		//line sql.y: 4881
		SeeAlso: `SET SESSION, WEBDOCS/set-vars.html
`,
	},
	//line sql.y: 4902
	`SCRUB`: {
		ShortDescription: `run checks against databases or tables`,
		//line sql.y: 4903
		Category: hExperimental,
		//line sql.y: 4904
		Text: `
EXPERIMENTAL SCRUB TABLE <table> ...
EXPERIMENTAL SCRUB DATABASE <database>

The various checks that ca be run with SCRUB includes:
  - Physical table data (encoding)
  - Secondary index integrity
  - Constraint integrity (NOT NULL, CHECK, FOREIGN KEY, UNIQUE)
`,
		//line sql.y: 4912
		SeeAlso: `SCRUB TABLE, SCRUB DATABASE
`,
	},
	//line sql.y: 4918
	`SCRUB DATABASE`: {
		ShortDescription: `run scrub checks on a database`,
		//line sql.y: 4919
		Category: hExperimental,
		//line sql.y: 4920
		Text: `
EXPERIMENTAL SCRUB DATABASE <database>
                            [AS OF SYSTEM TIME <expr>]

All scrub checks will be run on the database. This includes:
  - Physical table data (encoding)
  - Secondary index integrity
  - Constraint integrity (NOT NULL, CHECK, FOREIGN KEY, UNIQUE)
`,
		//line sql.y: 4928
		SeeAlso: `SCRUB TABLE, SCRUB
`,
	},
	//line sql.y: 4936
	`SCRUB TABLE`: {
		ShortDescription: `run scrub checks on a table`,
		//line sql.y: 4937
		Category: hExperimental,
		//line sql.y: 4938
		Text: `
SCRUB TABLE <tablename>
            [AS OF SYSTEM TIME <expr>]
            [WITH OPTIONS <option> [, ...]]

Options:
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS INDEX ALL
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS INDEX (<index>...)
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS CONSTRAINT ALL
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS CONSTRAINT (<constraint>...)
  EXPERIMENTAL SCRUB TABLE ... WITH OPTIONS PHYSICAL
`,
		//line sql.y: 4949
		SeeAlso: `SCRUB DATABASE, SRUB
`,
	},
	//line sql.y: 5004
	`SET CLUSTER SETTING`: {
		ShortDescription: `change a cluster setting`,
		//line sql.y: 5005
		Category: hCfg,
		//line sql.y: 5006
		Text: `SET CLUSTER SETTING <var> { TO | = } <value>
`,
		//line sql.y: 5007
		SeeAlso: `SHOW CLUSTER SETTING, RESET CLUSTER SETTING, SET SESSION, SET LOCAL
WEBDOCS/cluster-settings.html
`,
	},
	//line sql.y: 5016
	`ALTER TENANT`: {
		ShortDescription: `alter tenant configuration`,
		//line sql.y: 5017
		Category: hCfg,
		//line sql.y: 5018
		Text: `
ALTER TENANT { <tenant_id> | ALL } SET CLUSTER SETTING <var> { TO | = } <value>
ALTER TENANT { <tenant_id> | ALL } RESET CLUSTER SETTING <var>
`,
		//line sql.y: 5021
		SeeAlso: `SET CLUSTER SETTING
`,
	},
	//line sql.y: 5058
	`SET SESSION`: {
		ShortDescription: `change a session variable`,
		//line sql.y: 5059
		Category: hCfg,
		//line sql.y: 5060
		Text: `
SET [SESSION] <var> { TO | = } <values...>
SET [SESSION] TIME ZONE <tz>
SET [SESSION] CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
SET [SESSION] TRACING { TO | = } { on | off | cluster | kv | results } [,...]

`,
		//line sql.y: 5066
		SeeAlso: `SHOW SESSION, RESET, DISCARD, SHOW, SET CLUSTER SETTING, SET TRANSACTION, SET LOCAL
WEBDOCS/set-vars.html
`,
	},
	//line sql.y: 5085
	`SET LOCAL`: {
		ShortDescription: `change a session variable scoped to the current transaction`,
		//line sql.y: 5086
		Category: hCfg,
		//line sql.y: 5087
		Text: `
SET LOCAL <var> { TO | = } <values...>
SET LOCAL TIME ZONE <tz>

`,
		//line sql.y: 5091
		SeeAlso: `SHOW SESSION, RESET, DISCARD, SHOW, SET CLUSTER SETTING, SET TRANSACTION, SET SESSION
WEBDOCS/set-vars.html
`,
	},
	//line sql.y: 5102
	`SET TRANSACTION`: {
		ShortDescription: `configure the transaction settings`,
		//line sql.y: 5103
		Category: hTxn,
		//line sql.y: 5104
		Text: `
SET [SESSION] TRANSACTION <txnparameters...>

Transaction parameters:
   ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
   PRIORITY { LOW | NORMAL | HIGH }
   AS OF SYSTEM TIME <expr>
   [NOT] DEFERRABLE

`,
		//line sql.y: 5113
		SeeAlso: `SHOW TRANSACTION, SET SESSION, SET LOCAL
WEBDOCS/set-transaction.html
`,
	},
	//line sql.y: 5317
	`SHOW`: {
		//line sql.y: 5318
		Category: hGroup,
		//line sql.y: 5319
		Text: `
SHOW BACKUP, SHOW CLUSTER SETTING, SHOW COLUMNS, SHOW CONSTRAINTS,
SHOW CREATE, SHOW CREATE SCHEDULES, SHOW DATABASES, SHOW ENUMS, SHOW HISTOGRAM, SHOW INDEXES, SHOW
PARTITIONS, SHOW JOBS, SHOW STATEMENTS, SHOW RANGE, SHOW RANGES, SHOW REGIONS, SHOW SURVIVAL GOAL,
SHOW ROLES, SHOW SCHEMAS, SHOW SEQUENCES, SHOW SESSION, SHOW SESSIONS,
SHOW STATISTICS, SHOW SYNTAX, SHOW TABLES, SHOW TRACE, SHOW TRANSACTION,
SHOW TRANSACTIONS, SHOW TRANSFER, SHOW TYPES, SHOW USERS, SHOW LAST QUERY STATISTICS,
SHOW SCHEDULES, SHOW LOCALITY, SHOW ZONE CONFIGURATION, SHOW FULL TABLE SCANS
`,
	},
	//line sql.y: 5371
	`CLOSE`: {
		ShortDescription: `close SQL cursor`,
		//line sql.y: 5372
		Category: hMisc,
		//line sql.y: 5373
		Text: `CLOSE [ ALL | <name> ]
`,
		//line sql.y: 5374
		SeeAlso: `DECLARE, FETCH
`,
	},
	//line sql.y: 5390
	`DECLARE`: {
		ShortDescription: `declare SQL cursor`,
		//line sql.y: 5391
		Category: hMisc,
		//line sql.y: 5392
		Text: `DECLARE <name> [ options ] CURSOR p [ WITH | WITHOUT HOLD ] FOR <query>
`,
		//line sql.y: 5393
		SeeAlso: `CLOSE, FETCH
`,
	},
	//line sql.y: 5462
	`FETCH`: {
		ShortDescription: `fetch rows from a SQL cursor`,
		//line sql.y: 5463
		Category: hMisc,
		//line sql.y: 5464
		Text: `FETCH [ direction [ FROM | IN ] ] <name>
`,
		//line sql.y: 5465
		SeeAlso: `MOVE, CLOSE, DECLARE
`,
	},
	//line sql.y: 5475
	`MOVE`: {
		ShortDescription: `move a SQL cursor without fetching rows`,
		//line sql.y: 5476
		Category: hMisc,
		//line sql.y: 5477
		Text: `MOVE [ direction [ FROM | IN ] ] <name>
`,
		//line sql.y: 5478
		SeeAlso: `FETCH, CLOSE, DECLARE
`,
	},
	//line sql.y: 5614
	`SHOW SESSION`: {
		ShortDescription: `display session variables`,
		//line sql.y: 5615
		Category: hCfg,
		//line sql.y: 5616
		Text: `SHOW [SESSION] { <var> | ALL }
`,
		//line sql.y: 5617
		SeeAlso: `WEBDOCS/show-vars.html
`,
	},
	//line sql.y: 5655
	`SHOW STATISTICS`: {
		ShortDescription: `display table statistics (experimental)`,
		//line sql.y: 5656
		Category: hExperimental,
		//line sql.y: 5657
		Text: `SHOW STATISTICS [USING JSON] FOR TABLE <table_name>

Returns the available statistics for a table.
The statistics can include a histogram ID, which can
be used with SHOW HISTOGRAM.
If USING JSON is specified, the statistics and histograms
are encoded in JSON format.
`,
		//line sql.y: 5664
		SeeAlso: `SHOW HISTOGRAM
`,
	},
	//line sql.y: 5677
	`SHOW HISTOGRAM`: {
		ShortDescription: `display histogram (experimental)`,
		//line sql.y: 5678
		Category: hExperimental,
		//line sql.y: 5679
		Text: `SHOW HISTOGRAM <histogram_id>

Returns the data in the histogram with the
given ID (as returned by SHOW STATISTICS).
`,
		//line sql.y: 5683
		SeeAlso: `SHOW STATISTICS
`,
	},
	//line sql.y: 5696
	`SHOW BACKUP`: {
		ShortDescription: `list backup contents`,
		//line sql.y: 5697
		Category: hCCL,
		//line sql.y: 5698
		Text: `SHOW BACKUP [SCHEMAS|FILES|RANGES] <location>
`,
		//line sql.y: 5699
		SeeAlso: `WEBDOCS/show-backup.html
`,
	},
	//line sql.y: 5753
	`SHOW CLUSTER SETTING`: {
		ShortDescription: `display cluster settings`,
		//line sql.y: 5754
		Category: hCfg,
		//line sql.y: 5755
		Text: `
SHOW CLUSTER SETTING <var> [ FOR TENANT <tenant_id> ]
SHOW [ PUBLIC | ALL ] CLUSTER SETTINGS [ FOR TENANT <tenant_id> ]
`,
		//line sql.y: 5758
		SeeAlso: `WEBDOCS/cluster-settings.html
`,
	},
	//line sql.y: 5804
	`SHOW COLUMNS`: {
		ShortDescription: `list columns in relation`,
		//line sql.y: 5805
		Category: hDDL,
		//line sql.y: 5806
		Text: `SHOW COLUMNS FROM <tablename>
`,
		//line sql.y: 5807
		SeeAlso: `WEBDOCS/show-columns.html
`,
	},
	//line sql.y: 5815
	`SHOW PARTITIONS`: {
		ShortDescription: `list partition information`,
		//line sql.y: 5816
		Category: hDDL,
		//line sql.y: 5817
		Text: `SHOW PARTITIONS FROM { TABLE <table> | INDEX <index> | DATABASE <database> }
`,
		//line sql.y: 5818
		SeeAlso: `WEBDOCS/show-partitions.html
`,
	},
	//line sql.y: 5838
	`SHOW DATABASES`: {
		ShortDescription: `list databases`,
		//line sql.y: 5839
		Category: hDDL,
		//line sql.y: 5840
		Text: `SHOW DATABASES
`,
		//line sql.y: 5841
		SeeAlso: `WEBDOCS/show-databases.html
`,
	},
	//line sql.y: 5849
	`SHOW DEFAULT PRIVILEGES`: {
		ShortDescription: `list default privileges`,
		//line sql.y: 5850
		Category: hDDL,
		//line sql.y: 5851
		Text: `SHOW DEFAULT PRIVILEGES
`,
	},
	//line sql.y: 5865
	`SHOW ENUMS`: {
		ShortDescription: `list enums`,
		//line sql.y: 5866
		Category: hMisc,
		//line sql.y: 5867
		Text: `SHOW ENUMS
`,
	},
	//line sql.y: 5895
	`SHOW TYPES`: {
		ShortDescription: `list user defined types`,
		//line sql.y: 5896
		Category: hMisc,
		//line sql.y: 5897
		Text: `SHOW TYPES
`,
	},
	//line sql.y: 5905
	`SHOW GRANTS`: {
		ShortDescription: `list grants`,
		//line sql.y: 5906
		Category: hPriv,
		//line sql.y: 5907
		Text: `
Show privilege grants:
  SHOW GRANTS [ON <targets...>] [FOR <users...>]
Show role grants:
  SHOW GRANTS ON ROLE [<roles...>] [FOR <grantees...>]

`,
		//line sql.y: 5913
		SeeAlso: `WEBDOCS/show-grants.html
`,
	},
	//line sql.y: 5926
	`SHOW INDEXES`: {
		ShortDescription: `list indexes`,
		//line sql.y: 5927
		Category: hDDL,
		//line sql.y: 5928
		Text: `SHOW INDEXES FROM { <tablename> | DATABASE <database_name> } [WITH COMMENT]
`,
		//line sql.y: 5929
		SeeAlso: `WEBDOCS/show-index.html
`,
	},
	//line sql.y: 5959
	`SHOW CONSTRAINTS`: {
		ShortDescription: `list constraints`,
		//line sql.y: 5960
		Category: hDDL,
		//line sql.y: 5961
		Text: `SHOW CONSTRAINTS FROM <tablename>
`,
		//line sql.y: 5962
		SeeAlso: `WEBDOCS/show-constraints.html
`,
	},
	//line sql.y: 5975
	`SHOW STATEMENTS`: {
		ShortDescription: `list running statements`,
		//line sql.y: 5976
		Category: hMisc,
		//line sql.y: 5977
		Text: `SHOW [ALL] [CLUSTER | LOCAL] STATEMENTS
`,
		//line sql.y: 5978
		SeeAlso: `CANCEL QUERIES
`,
	},
	//line sql.y: 6005
	`SHOW JOBS`: {
		ShortDescription: `list background jobs`,
		//line sql.y: 6006
		Category: hMisc,
		//line sql.y: 6007
		Text: `
SHOW [AUTOMATIC | CHANGEFEED] JOBS [select clause]
SHOW JOBS FOR SCHEDULES [select clause]
SHOW [CHANGEFEED] JOB <jobid>
`,
		//line sql.y: 6011
		SeeAlso: `CANCEL JOBS, PAUSE JOBS, RESUME JOBS
`,
	},
	//line sql.y: 6073
	`SHOW SCHEDULES`: {
		ShortDescription: `list periodic schedules`,
		//line sql.y: 6074
		Category: hMisc,
		//line sql.y: 6075
		Text: `
SHOW [RUNNING | PAUSED] SCHEDULES [FOR BACKUP]
SHOW SCHEDULE <schedule_id>
`,
		//line sql.y: 6078
		SeeAlso: `PAUSE SCHEDULES, RESUME SCHEDULES, DROP SCHEDULES
`,
	},
	//line sql.y: 6129
	`SHOW TRACE`: {
		ShortDescription: `display an execution trace`,
		//line sql.y: 6130
		Category: hMisc,
		//line sql.y: 6131
		Text: `
SHOW [COMPACT] [KV] TRACE FOR SESSION
`,
		//line sql.y: 6133
		SeeAlso: `EXPLAIN
`,
	},
	//line sql.y: 6156
	`SHOW SESSIONS`: {
		ShortDescription: `list open client sessions`,
		//line sql.y: 6157
		Category: hMisc,
		//line sql.y: 6158
		Text: `SHOW [ALL] [CLUSTER | LOCAL] SESSIONS
`,
		//line sql.y: 6159
		SeeAlso: `CANCEL SESSIONS
`,
	},
	//line sql.y: 6172
	`SHOW TABLES`: {
		ShortDescription: `list tables`,
		//line sql.y: 6173
		Category: hDDL,
		//line sql.y: 6174
		Text: `SHOW TABLES [FROM <databasename> [ . <schemaname> ] ] [WITH COMMENT]
`,
		//line sql.y: 6175
		SeeAlso: `WEBDOCS/show-tables.html
`,
	},
	//line sql.y: 6203
	`SHOW TRANSACTIONS`: {
		ShortDescription: `list open client transactions across the cluster`,
		//line sql.y: 6204
		Category: hMisc,
		//line sql.y: 6205
		Text: `SHOW [ALL] [CLUSTER | LOCAL] TRANSACTIONS
`,
	},
	//line sql.y: 6222
	`SHOW SCHEMAS`: {
		ShortDescription: `list schemas`,
		//line sql.y: 6223
		Category: hDDL,
		//line sql.y: 6224
		Text: `SHOW SCHEMAS [FROM <databasename> ]
`,
	},
	//line sql.y: 6236
	`SHOW SEQUENCES`: {
		ShortDescription: `list sequences`,
		//line sql.y: 6237
		Category: hDDL,
		//line sql.y: 6238
		Text: `SHOW SEQUENCES [FROM <databasename> ]
`,
	},
	//line sql.y: 6250
	`SHOW SYNTAX`: {
		ShortDescription: `analyze SQL syntax`,
		//line sql.y: 6251
		Category: hMisc,
		//line sql.y: 6252
		Text: `SHOW SYNTAX <string>
`,
	},
	//line sql.y: 6290
	`SHOW SAVEPOINT`: {
		ShortDescription: `display current savepoint properties`,
		//line sql.y: 6291
		Category: hCfg,
		//line sql.y: 6292
		Text: `SHOW SAVEPOINT STATUS
`,
	},
	//line sql.y: 6300
	`SHOW TRANSACTION`: {
		ShortDescription: `display current transaction properties`,
		//line sql.y: 6301
		Category: hCfg,
		//line sql.y: 6302
		Text: `SHOW TRANSACTION {ISOLATION LEVEL | PRIORITY | STATUS}
`,
		//line sql.y: 6303
		SeeAlso: `WEBDOCS/show-vars.html
`,
	},
	//line sql.y: 6322
	`SHOW TRANSFER`: {
		ShortDescription: `display session state for connection migration`,
		//line sql.y: 6323
		Category: hMisc,
		//line sql.y: 6324
		Text: `SHOW TRANSFER STATE [ WITH '<transfer_key>' ]
`,
	},
	//line sql.y: 6336
	`SHOW CREATE`: {
		ShortDescription: `display the CREATE statement for a table, sequence, view, or database`,
		//line sql.y: 6337
		Category: hDDL,
		//line sql.y: 6338
		Text: `
SHOW CREATE [ TABLE | SEQUENCE | VIEW | DATABASE ] <object_name>
SHOW CREATE ALL SCHEMAS
SHOW CREATE ALL TABLES
SHOW CREATE ALL TYPES
`,
		//line sql.y: 6343
		SeeAlso: `WEBDOCS/show-create.html
`,
	},
	//line sql.y: 6383
	`SHOW CREATE SCHEDULES`: {
		ShortDescription: `list CREATE statements for scheduled jobs`,
		//line sql.y: 6384
		Category: hDDL,
		//line sql.y: 6385
		Text: `
SHOW CREATE ALL SCHEDULES
SHOW CREATE SCHEDULE <schedule_id>
`,
		//line sql.y: 6388
		SeeAlso: `SHOW SCHEDULES, PAUSE SCHEDULES, RESUME SCHEDULES, DROP SCHEDULES
`,
	},
	//line sql.y: 6401
	`SHOW USERS`: {
		ShortDescription: `list defined users`,
		//line sql.y: 6402
		Category: hPriv,
		//line sql.y: 6403
		Text: `SHOW USERS
`,
		//line sql.y: 6404
		SeeAlso: `CREATE USER, DROP USER, WEBDOCS/show-users.html
`,
	},
	//line sql.y: 6412
	`SHOW ROLES`: {
		ShortDescription: `list defined roles`,
		//line sql.y: 6413
		Category: hPriv,
		//line sql.y: 6414
		Text: `SHOW ROLES
`,
		//line sql.y: 6415
		SeeAlso: `CREATE ROLE, ALTER ROLE, DROP ROLE
`,
	},
	//line sql.y: 6423
	`SHOW ZONE CONFIGURATION`: {
		ShortDescription: `display current zone configuration`,
		//line sql.y: 6424
		Category: hCfg,
		//line sql.y: 6425
		Text: `SHOW ZONE CONFIGURATION FROM [ RANGE | DATABASE | TABLE | INDEX ] <name>
SHOW ZONE CONFIGURATION FROM PARTITION OF [ INDEX | TABLE ] <name>
SHOW [ALL] ZONE CONFIGURATIONS
`,
		//line sql.y: 6428
		SeeAlso: `WEBDOCS/show-zone-configurations.html
`,
	},
	//line sql.y: 6484
	`SHOW RANGE`: {
		ShortDescription: `show range information for a row`,
		//line sql.y: 6485
		Category: hMisc,
		//line sql.y: 6486
		Text: `
SHOW RANGE FROM TABLE <tablename> FOR ROW (value1, value2, ...)
SHOW RANGE FROM INDEX [ <tablename> @ ] <indexname> FOR ROW (value1, value2, ...)
`,
	},
	//line sql.y: 6507
	`SHOW RANGES`: {
		ShortDescription: `list ranges`,
		//line sql.y: 6508
		Category: hMisc,
		//line sql.y: 6509
		Text: `
SHOW RANGES FROM TABLE <tablename>
SHOW RANGES FROM INDEX [ <tablename> @ ] <indexname>
`,
	},
	//line sql.y: 6528
	`SHOW SURVIVAL GOAL`: {
		ShortDescription: `shows survival goals`,
		//line sql.y: 6529
		Category: hDDL,
		//line sql.y: 6530
		Text: `
SHOW SURVIVAL GOAL FROM DATABASE
SHOW SURVIVAL GOAL FROM DATABASE <database>
`,
	},
	//line sql.y: 6545
	`SHOW REGIONS`: {
		ShortDescription: `shows regions`,
		//line sql.y: 6546
		Category: hDDL,
		//line sql.y: 6547
		Text: `
SHOW REGIONS
SHOW REGIONS FROM ALL DATABASES
SHOW REGIONS FROM CLUSTER
SHOW REGIONS FROM DATABASE
SHOW REGIONS FROM DATABASE <database>
`,
	},
	//line sql.y: 6845
	`PAUSE`: {
		//line sql.y: 6846
		Category: hMisc,
		//line sql.y: 6847
		Text: `

Pause various background tasks and activities.

PAUSE JOBS, PAUSE SCHEDULES
`,
	},
	//line sql.y: 6858
	`RESUME`: {
		//line sql.y: 6859
		Category: hMisc,
		//line sql.y: 6860
		Text: `

Resume various background tasks and activities.

RESUME JOBS, RESUME SCHEDULES, RESUME ALL BACKUP JOBS
`,
	},
	//line sql.y: 6871
	`RESUME ALL JOBS`: {
		//line sql.y: 6872
		Category: hMisc,
		//line sql.y: 6873
		Text: `
RESUME ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},
	//line sql.y: 6882
	`PAUSE JOBS`: {
		ShortDescription: `pause background jobs`,
		//line sql.y: 6883
		Category: hMisc,
		//line sql.y: 6884
		Text: `
PAUSE JOBS <selectclause>
PAUSE JOB <jobid>
`,
		//line sql.y: 6887
		SeeAlso: `SHOW JOBS, CANCEL JOBS, RESUME JOBS
`,
	},
	//line sql.y: 6936
	`PAUSE SCHEDULES`: {
		ShortDescription: `pause scheduled jobs`,
		//line sql.y: 6937
		Category: hMisc,
		//line sql.y: 6938
		Text: `
PAUSE SCHEDULES <selectclause>
  select clause: select statement returning schedule id to pause.
PAUSE SCHEDULE <scheduleID>
`,
		//line sql.y: 6942
		SeeAlso: `RESUME SCHEDULES, SHOW JOBS, CANCEL JOBS
`,
	},
	//line sql.y: 6963
	`PAUSE ALL JOBS`: {
		//line sql.y: 6964
		Category: hMisc,
		//line sql.y: 6965
		Text: `
PAUSE ALL {BACKUP|CHANGEFEED|IMPORT|RESTORE} JOBS
`,
	},
	//line sql.y: 6975
	`CREATE SCHEMA`: {
		ShortDescription: `create a new schema`,
		//line sql.y: 6976
		Category: hDDL,
		//line sql.y: 6977
		Text: `
CREATE SCHEMA [IF NOT EXISTS] { [<databasename>.]<schemaname> | [[<databasename>.]<schemaname>] AUTHORIZATION <rolename> }
`,
	},
	//line sql.y: 7010
	`ALTER SCHEMA`: {
		ShortDescription: `alter an existing schema`,
		//line sql.y: 7011
		Category: hDDL,
		//line sql.y: 7012
		Text: `

Commands:
  ALTER SCHEMA ... RENAME TO <newschemaname>
  ALTER SCHEMA ... OWNER TO {<newowner> | CURRENT_USER | SESSION_USER }
`,
	},
	//line sql.y: 7038
	`CREATE TABLE`: {
		ShortDescription: `create a new table`,
		//line sql.y: 7039
		Category: hDDL,
		//line sql.y: 7040
		Text: `
CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE [IF NOT EXISTS] <tablename> ( <elements...> ) [<on_commit>]
CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE [IF NOT EXISTS] <tablename> [( <colnames...> )] AS <source> [<on commit>]

Table elements:
   <name> <type> [<qualifiers...>]
   [UNIQUE | INVERTED] INDEX [<name>] ( <colname> [ASC | DESC] [, ...] )
                           [USING HASH WITH BUCKET_COUNT = <shard_buckets>] [{STORING | INCLUDE | COVERING} ( <colnames...> )]
   FAMILY [<name>] ( <colnames...> )
   [CONSTRAINT <name>] <constraint>

Table constraints:
   PRIMARY KEY ( <colnames...> ) [USING HASH WITH BUCKET_COUNT = <shard_buckets>]
   FOREIGN KEY ( <colnames...> ) REFERENCES <tablename> [( <colnames...> )] [ON DELETE {NO ACTION | RESTRICT}] [ON UPDATE {NO ACTION | RESTRICT}]
   UNIQUE ( <colnames...> ) [{STORING | INCLUDE | COVERING} ( <colnames...> )]
   CHECK ( <expr> )

Column qualifiers:
  [CONSTRAINT <constraintname>] {NULL | NOT NULL | NOT VISIBLE | UNIQUE | PRIMARY KEY | CHECK (<expr>) | DEFAULT <expr> | ON UPDATE <expr> | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [( <opt_sequence_option_list> )]}
  FAMILY <familyname>, CREATE [IF NOT EXISTS] FAMILY [<familyname>]
  REFERENCES <tablename> [( <colnames...> )] [ON DELETE {NO ACTION | RESTRICT}] [ON UPDATE {NO ACTION | RESTRICT}]
  COLLATE <collationname>
  AS ( <expr> ) { STORED | VIRTUAL }

On commit clause:
   ON COMMIT {PRESERVE ROWS | DROP | DELETE ROWS}

`,
		//line sql.y: 7067
		SeeAlso: `SHOW TABLES, CREATE VIEW, SHOW CREATE,
WEBDOCS/create-table.html
WEBDOCS/create-table-as.html
`,
	},
	//line sql.y: 8003
	`CREATE SEQUENCE`: {
		ShortDescription: `create a new sequence`,
		//line sql.y: 8004
		Category: hDDL,
		//line sql.y: 8005
		Text: `
CREATE [TEMPORARY | TEMP] SEQUENCE <seqname>
  [AS <typename>]
  [INCREMENT <increment>]
  [MINVALUE <minvalue> | NO MINVALUE]
  [MAXVALUE <maxvalue> | NO MAXVALUE]
  [START [WITH] <start>]
  [CACHE <cache>]
  [NO CYCLE]
  [VIRTUAL]

`,
		//line sql.y: 8016
		SeeAlso: `CREATE TABLE
`,
	},
	//line sql.y: 8088
	`TRUNCATE`: {
		ShortDescription: `empty one or more tables`,
		//line sql.y: 8089
		Category: hDML,
		//line sql.y: 8090
		Text: `TRUNCATE [TABLE] <tablename> [, ...] [CASCADE | RESTRICT]
`,
		//line sql.y: 8091
		SeeAlso: `WEBDOCS/truncate.html
`,
	},
	//line sql.y: 8115
	`CREATE ROLE`: {
		ShortDescription: `define a new role`,
		//line sql.y: 8116
		Category: hPriv,
		//line sql.y: 8117
		Text: `CREATE ROLE [IF NOT EXISTS] <name> [ [WITH] <OPTIONS...> ]
`,
		//line sql.y: 8118
		SeeAlso: `ALTER ROLE, DROP ROLE, SHOW ROLES
`,
	},
	//line sql.y: 8130
	`ALTER ROLE`: {
		ShortDescription: `alter a role`,
		//line sql.y: 8131
		Category: hPriv,
		//line sql.y: 8132
		Text: `
ALTER ROLE <name> [WITH] <options...>
ALTER ROLE { name | ALL } [ IN DATABASE database_name ] SET var { TO | = } { value | DEFAULT }
ALTER ROLE { name | ALL } [ IN DATABASE database_name ] RESET { var | ALL }
`,
		//line sql.y: 8136
		SeeAlso: `CREATE ROLE, DROP ROLE, SHOW ROLES
`,
	},
	//line sql.y: 8205
	`CREATE VIEW`: {
		ShortDescription: `create a new view`,
		//line sql.y: 8206
		Category: hDDL,
		//line sql.y: 8207
		Text: `CREATE [TEMPORARY | TEMP] [MATERIALIZED] VIEW [IF NOT EXISTS] <viewname> [( <colnames...> )] AS <source>
`,
		//line sql.y: 8208
		SeeAlso: `CREATE TABLE, SHOW CREATE, WEBDOCS/create-view.html
`,
	},
	//line sql.y: 8420
	`CREATE TYPE`: {
		ShortDescription: `- create a type`,
		//line sql.y: 8421
		Category: hDDL,
		//line sql.y: 8422
		Text: `CREATE TYPE [IF NOT EXISTS] <type_name> AS ENUM (...)
`,
	},
	//line sql.y: 8474
	`CREATE INDEX`: {
		ShortDescription: `create a new index`,
		//line sql.y: 8475
		Category: hDDL,
		//line sql.y: 8476
		Text: `
CREATE [UNIQUE | INVERTED] INDEX [CONCURRENTLY] [IF NOT EXISTS] [<idxname>]
       ON <tablename> ( <colname> [ASC | DESC] [, ...] )
       [USING HASH WITH BUCKET_COUNT = <shard_buckets>] [STORING ( <colnames...> )]
       [PARTITION BY <partition params>]
       [WITH <storage_parameter_list] [WHERE <where_conds...>]

`,
		//line sql.y: 8483
		SeeAlso: `CREATE TABLE, SHOW INDEXES, SHOW CREATE,
WEBDOCS/create-index.html
`,
	},
	//line sql.y: 8982
	`ALTER DEFAULT PRIVILEGES`: {
		ShortDescription: `alter default privileges on an object`,
		//line sql.y: 8983
		Category: hDDL,
		//line sql.y: 8984
		Text: `

Commands:
  ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_roles... ] [ IN SCHEMA schema_name...] abbreviated_grant_or_revoke
`,
	},
	//line sql.y: 9120
	`RELEASE`: {
		ShortDescription: `complete a sub-transaction`,
		//line sql.y: 9121
		Category: hTxn,
		//line sql.y: 9122
		Text: `RELEASE [SAVEPOINT] <savepoint name>
`,
		//line sql.y: 9123
		SeeAlso: `SAVEPOINT, WEBDOCS/savepoint.html
`,
	},
	//line sql.y: 9131
	`RESUME JOBS`: {
		ShortDescription: `resume background jobs`,
		//line sql.y: 9132
		Category: hMisc,
		//line sql.y: 9133
		Text: `
RESUME JOBS <selectclause>
RESUME JOB <jobid>
`,
		//line sql.y: 9136
		SeeAlso: `SHOW JOBS, CANCEL JOBS, PAUSE JOBS
`,
	},
	//line sql.y: 9158
	`RESUME SCHEDULES`: {
		ShortDescription: `resume executing scheduled jobs`,
		//line sql.y: 9159
		Category: hMisc,
		//line sql.y: 9160
		Text: `
RESUME SCHEDULES <selectclause>
 selectclause: select statement returning schedule IDs to resume.

RESUME SCHEDULE <scheduleID>

`,
		//line sql.y: 9166
		SeeAlso: `PAUSE SCHEDULES, SHOW JOBS, RESUME JOBS
`,
	},
	//line sql.y: 9187
	`DROP SCHEDULES`: {
		ShortDescription: `destroy specified schedules`,
		//line sql.y: 9188
		Category: hMisc,
		//line sql.y: 9189
		Text: `
DROP SCHEDULES <selectclause>
 selectclause: select statement returning schedule IDs to resume.

DROP SCHEDULE <scheduleID>

`,
		//line sql.y: 9195
		SeeAlso: `PAUSE SCHEDULES, SHOW JOBS, CANCEL JOBS
`,
	},
	//line sql.y: 9216
	`SAVEPOINT`: {
		ShortDescription: `start a sub-transaction`,
		//line sql.y: 9217
		Category: hTxn,
		//line sql.y: 9218
		Text: `SAVEPOINT <savepoint name>
`,
		//line sql.y: 9219
		SeeAlso: `RELEASE, WEBDOCS/savepoint.html
`,
	},
	//line sql.y: 9234
	`BEGIN`: {
		ShortDescription: `start a transaction`,
		//line sql.y: 9235
		Category: hTxn,
		//line sql.y: 9236
		Text: `
BEGIN [TRANSACTION] [ <txnparameter> [[,] ...] ]
START TRANSACTION [ <txnparameter> [[,] ...] ]

Transaction parameters:
   ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE }
   PRIORITY { LOW | NORMAL | HIGH }

`,
		//line sql.y: 9244
		SeeAlso: `COMMIT, ROLLBACK, WEBDOCS/begin-transaction.html
`,
	},
	//line sql.y: 9257
	`COMMIT`: {
		ShortDescription: `commit the current transaction`,
		//line sql.y: 9258
		Category: hTxn,
		//line sql.y: 9259
		Text: `
COMMIT [TRANSACTION]
END [TRANSACTION]
`,
		//line sql.y: 9262
		SeeAlso: `BEGIN, ROLLBACK, WEBDOCS/commit-transaction.html
`,
	},
	//line sql.y: 9286
	`ROLLBACK`: {
		ShortDescription: `abort the current (sub-)transaction`,
		//line sql.y: 9287
		Category: hTxn,
		//line sql.y: 9288
		Text: `
ROLLBACK [TRANSACTION]
ROLLBACK [TRANSACTION] TO [SAVEPOINT] <savepoint name>
`,
		//line sql.y: 9291
		SeeAlso: `BEGIN, COMMIT, SAVEPOINT, WEBDOCS/rollback-transaction.html
`,
	},
	//line sql.y: 9405
	`CREATE DATABASE`: {
		ShortDescription: `create a new database`,
		//line sql.y: 9406
		Category: hDDL,
		//line sql.y: 9407
		Text: `CREATE DATABASE [IF NOT EXISTS] <name>
`,
		//line sql.y: 9408
		SeeAlso: `WEBDOCS/create-database.html
`,
	},
	//line sql.y: 9585
	`INSERT`: {
		ShortDescription: `create new rows in a table`,
		//line sql.y: 9586
		Category: hDML,
		//line sql.y: 9587
		Text: `
INSERT INTO <tablename> [[AS] <name>] [( <colnames...> )]
       <selectclause>
       [ON CONFLICT {
         [( <colnames...> )] [WHERE <arbiter_predicate>] DO NOTHING |
         ( <colnames...> ) [WHERE <index_predicate>] DO UPDATE SET ... [WHERE <expr>]
       }
       [RETURNING <exprs...>]
`,
		//line sql.y: 9595
		SeeAlso: `UPSERT, UPDATE, DELETE, WEBDOCS/insert.html
`,
	},
	//line sql.y: 9614
	`UPSERT`: {
		ShortDescription: `create or replace rows in a table`,
		//line sql.y: 9615
		Category: hDML,
		//line sql.y: 9616
		Text: `
UPSERT INTO <tablename> [AS <name>] [( <colnames...> )]
       <selectclause>
       [RETURNING <exprs...>]
`,
		//line sql.y: 9620
		SeeAlso: `INSERT, UPDATE, DELETE, WEBDOCS/upsert.html
`,
	},
	//line sql.y: 9750
	`UPDATE`: {
		ShortDescription: `update rows of a table`,
		//line sql.y: 9751
		Category: hDML,
		//line sql.y: 9752
		Text: `
UPDATE <tablename> [[AS] <name>]
       SET ...
       [WHERE <expr>]
       [ORDER BY <exprs...>]
       [LIMIT <expr>]
       [RETURNING <exprs...>]
`,
		//line sql.y: 9759
		SeeAlso: `INSERT, UPSERT, DELETE, WEBDOCS/update.html
`,
	},
	//line sql.y: 9815
	`REASSIGN OWNED BY`: {
		ShortDescription: `change ownership of all objects`,
		//line sql.y: 9816
		Category: hPriv,
		//line sql.y: 9817
		Text: `REASSIGN OWNED BY {<name> | CURRENT_USER | SESSION_USER}[,...]
TO {<name> | CURRENT_USER | SESSION_USER}
`,
		//line sql.y: 9819
		SeeAlso: `DROP OWNED BY
`,
	},
	//line sql.y: 9830
	`DROP OWNED BY`: {
		ShortDescription: `remove database objects owned by role(s).`,
		//line sql.y: 9831
		Category: hPriv,
		//line sql.y: 9832
		Text: `DROP OWNED BY {<name> | CURRENT_USER | SESSION_USER}[,...]
[RESTRICT | CASCADE]
`,
		//line sql.y: 9834
		SeeAlso: `REASSIGN OWNED BY
`,
	},
	//line sql.y: 10014
	`<SELECTCLAUSE>`: {
		ShortDescription: `access tabular data`,
		//line sql.y: 10015
		Category: hDML,
		//line sql.y: 10016
		Text: `
Select clause:
  TABLE <tablename>
  VALUES ( <exprs...> ) [ , ... ]
  SELECT ... [ { INTERSECT | UNION | EXCEPT } [ ALL | DISTINCT ] <selectclause> ]
`,
	},
	//line sql.y: 10027
	`SELECT`: {
		ShortDescription: `retrieve rows from a data source and compute a result`,
		//line sql.y: 10028
		Category: hDML,
		//line sql.y: 10029
		Text: `
SELECT [DISTINCT [ ON ( <expr> [ , ... ] ) ] ]
       { <expr> [[AS] <name>] | [ [<dbname>.] <tablename>. ] * } [, ...]
       [ FROM <source> ]
       [ WHERE <expr> ]
       [ GROUP BY <expr> [ , ... ] ]
       [ HAVING <expr> ]
       [ WINDOW <name> AS ( <definition> ) ]
       [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] <selectclause> ]
       [ ORDER BY <expr> [ ASC | DESC ] [, ...] ]
       [ LIMIT { <expr> | ALL } ]
       [ OFFSET <expr> [ ROW | ROWS ] ]
`,
		//line sql.y: 10041
		SeeAlso: `WEBDOCS/select-clause.html
`,
	},
	//line sql.y: 10116
	`TABLE`: {
		ShortDescription: `select an entire table`,
		//line sql.y: 10117
		Category: hDML,
		//line sql.y: 10118
		Text: `TABLE <tablename>
`,
		//line sql.y: 10119
		SeeAlso: `SELECT, VALUES, WEBDOCS/table-expressions.html
`,
	},
	//line sql.y: 10481
	`VALUES`: {
		ShortDescription: `select a given set of values`,
		//line sql.y: 10482
		Category: hDML,
		//line sql.y: 10483
		Text: `VALUES ( <exprs...> ) [, ...]
`,
		//line sql.y: 10484
		SeeAlso: `SELECT, TABLE, WEBDOCS/table-expressions.html
`,
	},
	//line sql.y: 10619
	`<SOURCE>`: {
		ShortDescription: `define a data source for SELECT`,
		//line sql.y: 10620
		Category: hDML,
		//line sql.y: 10621
		Text: `
Data sources:
  <tablename> [ @ { <idxname> | <indexflags> } ]
  <tablefunc> ( <exprs...> )
  ( { <selectclause> | <source> } )
  <source> [AS] <alias> [( <colnames...> )]
  <source> [ <jointype> ] JOIN <source> ON <expr>
  <source> [ <jointype> ] JOIN <source> USING ( <colnames...> )
  <source> NATURAL [ <jointype> ] JOIN <source>
  <source> CROSS JOIN <source>
  <source> WITH ORDINALITY
  '[' EXPLAIN ... ']'
  '[' SHOW ... ']'

Index flags:
  '{' FORCE_INDEX = <idxname> [, ...] '}'
  '{' NO_INDEX_JOIN [, ...] '}'
  '{' NO_ZIGZAG_JOIN [, ...] '}'
  '{' NO_FULL_SCAN [, ...] '}'
  '{' IGNORE_FOREIGN_KEYS [, ...] '}'
  '{' FORCE_ZIGZAG = <idxname> [, ...]  '}'

Join types:
  { INNER | { LEFT | RIGHT | FULL } [OUTER] } [ { HASH | MERGE | LOOKUP | INVERTED } ]

`,
		//line sql.y: 10646
		SeeAlso: `WEBDOCS/table-expressions.html
`,
	},
}
