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 indryrunmode 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 tostdoutand to theheatwave_autopilot_reporttable. See Section 5.8.8, “Autopilot Report Table”.silent: Sends output to theheatwave_autopilot_reporttable only. See Section 5.8.8, “Autopilot Report Table”. Thesilentoutput 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 thesilentoutput 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_objectwithtablesorexclude_tablesinstead.exclude_listwill be deprecated in a future release.Auto Unload automatically excludes tables that are loading, unloading or in recovery. This is when the
load_statusis one of the following:NOLOAD_RPDGSTABSTATE,LOADING_RPDGSTABSTATE,UNLOADING_RPDGSTABSTATEorINRECOVERY_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 oftableto include in the load.exclude_tables: As of MySQL 8.4.0, an optional JSON array oftableto exclude from the load.
table: A valid table name.