Review the appropriate syntax windows to unload data automatically.
This topic contains the following sections:
MySQL 8.4.0 adds an input_list
JSON array
that replaces the db_list
JSON array. This
adds an include list to exactly specify the tables to unload,
which eliminates the need to include a database and exclude
unnecessary tables. The input_list
is
backwards compatible with db_list
.
mysql> CALL sys.HEATWAVE_UNLOAD (input_list,[options]);
input_list: {
JSON_ARRAY(input [,input] ...)
}
options: {
JSON_OBJECT("key","value"[,"key","value"] ...)
"key","value": {
["mode",{"normal"|"dryrun"}]
["output",{"normal"|"silent"|"help"}]
}
}
input: {
'db_name' | db_object
}
db_object: {
JSON_OBJECT("key","value"[,"key","value"] ...)
"key","value": {
"db_name": "db_name",
["tables": JSON_ARRAY(table [, table] ...)]
["exclude_tables": JSON_ARRAY(table [, table] ...)]
}
}
table: {
'table_name'
}
The following syntax options allow you to automatically unload all tables.
mysql> CALL sys.HEATWAVE_UNLOAD_all ([options]);
options: {
JSON_OBJECT("key","value"[,"key","value"] ...)
"key","value": {
["only_user_loaded_tables",{true|false}]
["output",{"normal"|"silent"}]
}
}
The following syntax options only apply to MySQL 8.3.0-u2 and earlier.
mysql> CALL sys.HEATWAVE_UNLOAD (db_list,[options]);
db_list: {
JSON_ARRAY(["schema_name","schema_name"] ...)
options: {
JSON_OBJECT("key","value"[,"key","value"] ...)
"key","value": {
["mode",{"normal"|"dryrun"}]
["output",{"normal"|"silent"|"help"}]
["exclude_list",JSON_ARRAY(schema_name_1, schema_name_2.table_name_1, ...)]
}
As of MySQL 8.4.0 use input_list
to define
what to unload. input_list
is a JSON array
and requires one or more valid input
which
can be either a valid schema name or a
db_object
. An empty array is permitted to
view the Auto Unload command-line help. This is backwards compatible
with db_list
.
Before MySQL 8.4.0, db_list
specifies the
schemas to unload. The list is a JSON array and requires one
or more valid schema names. An empty array is permitted to
view the Auto Unload command-line help.
Use key-value pairs in JSON
format to
specify parameters. MySQL HeatWave uses the default setting if there
is no option setting. Use NULL
to specify
no arguments.
For syntax examples, see Auto Unload Examples.
Auto Unload options
include:
-
mode
: Defines the Auto Unload operational mode. Permitted values are:normal
: The default. Generates and executes the unload script.dryrun
: Generates an unload script only. Auto Unload executes indryrun
mode automatically if the MySQL HeatWave Cluster is not active.
-
output
: Defines how Auto Unload produces output. Permitted values are:normal
: The default. Produces summarized output and sends it tostdout
and to theheatwave_autopilot_report
table. See Section 5.8.8, “Autopilot Report Table”.silent
: Sends output to theheatwave_autopilot_report
table only. See Section 5.8.8, “Autopilot Report Table”. Thesilent
output type is useful if human-readable output is not required; when the output is consumed by a script, for example. For an example of a stored procedure with an Auto Unload call that uses thesilent
output type, see Auto Unload Examples.help
: Displays Auto Unload command-line help.
-
exclude_list
: Defines a list of schemas and tables to exclude from the unload script. Names must be fully qualified without backticks.Do not use as of MySQL 8.4.0. Use
db_object
withtables
orexclude_tables
instead.exclude_list
will be deprecated in a future release.Auto Unload automatically excludes tables that are loading, unloading or in recovery. This is when the
load_status
is one of the following:NOLOAD_RPDGSTABSTATE
,LOADING_RPDGSTABSTATE
,UNLOADING_RPDGSTABSTATE
orINRECOVERY_RPDGSTABSTATE
. only_user_loaded_tables
: Only available to unload all tables. It is enabled by default. The procedure only unloads user tables. Iffalse
, the procedure unloads user and system tables.
The db_object
is a JSON object literal that
includes:
db_name
: The name of the database to load.-
Use one or other of the following, but not both. The use of both parameters causes an error.
tables
: An optional JSON array oftable
to include in the load.exclude_tables
: As of MySQL 8.4.0, an optional JSON array oftable
to exclude from the load.
table
: A valid table name.