patch backup piece to 3.1. open source
This commit is contained in:
@ -665,7 +665,14 @@ static const NonReservedKeyword Mysql_none_reserved_keywords[] = {{"access", ACC
|
||||
{"network", NETWORK},
|
||||
{"logical_reads", LOGICAL_READS},
|
||||
{"queue_time", QUEUE_TIME},
|
||||
{"obsolete", OBSOLETE}};
|
||||
{"obsolete", OBSOLETE},
|
||||
{"backuppiece", BACKUPPIECE},
|
||||
{"backup_backup_dest", BACKUP_BACKUP_DEST},
|
||||
{"backed", BACKED},
|
||||
{"preview", PREVIEW},
|
||||
{"up", UP},
|
||||
{"times", TIMES},
|
||||
{"backupround", BACKUPROUND}};
|
||||
|
||||
/** https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
|
||||
ALTER TABLE
|
||||
|
||||
@ -922,6 +922,7 @@ typedef enum ObItemType {
|
||||
T_SHOW_PROCEDURE_STATUS,
|
||||
T_SHOW_FUNCTION_STATUS,
|
||||
T_SHOW_CREATE_TABLEGROUP,
|
||||
T_SHOW_RESTORE_PREVIEW,
|
||||
T_SHOW_GRANTS,
|
||||
|
||||
T_SHOW_LIMIT,
|
||||
@ -1707,6 +1708,16 @@ typedef enum ObItemType {
|
||||
T_MAX_USER_CONNECTIONS,
|
||||
T_MAX_QUERIES_PER_HOUR,
|
||||
T_MAX_UPDATES_PER_HOUR,
|
||||
|
||||
T_BACKUP_BACKUPSET,
|
||||
T_BACKUP_ARCHIVELOG,
|
||||
T_COPY_ID,
|
||||
|
||||
T_BACKUP_BACKUPPIECE,
|
||||
T_ADD_RESTORE_SOURCE,
|
||||
T_CLEAR_RESTORE_SOURCE,
|
||||
|
||||
T_PREVIEW,
|
||||
T_MAX // Attention: add a new type before T_MAX
|
||||
} ObItemType;
|
||||
|
||||
|
||||
@ -199,6 +199,7 @@ END_P SET_VAR DELIMITER
|
||||
|
||||
BACKUP BALANCE BASE BASELINE BASELINE_ID BASIC BEGI BINDING BINLOG BIT BLOCK BLOCK_INDEX
|
||||
BLOCK_SIZE BLOOM_FILTER BOOL BOOLEAN BOOTSTRAP BTREE BYTE BREADTH BUCKETS BISON_LIST BACKUPSET
|
||||
BACKED BACKUPPIECE BACKUP_BACKUP_DEST BACKUPROUND
|
||||
|
||||
CACHE CANCEL CASCADED CAST CATALOG_NAME CHAIN CHANGED CHARSET CHECKSUM CHECKPOINT CHUNK CIPHER
|
||||
CLASS_ORIGIN CLEAN CLEAR CLIENT CLOG CLOSE CLUSTER CLUSTER_ID CLUSTER_NAME COALESCE COLUMN_STAT
|
||||
@ -255,7 +256,7 @@ END_P SET_VAR DELIMITER
|
||||
PERCENT_RANK PHASE PLAN PHYSICAL PLANREGRESS PLUGIN PLUGIN_DIR PLUGINS POINT POLYGON PERFORMANCE
|
||||
PROTECTION PRIORITY PL POOL PORT POSITION PREPARE PRESERVE PREV PRIMARY_ZONE PRIVILEGES PROCESS
|
||||
PROCESSLIST PROFILE PROFILES PROXY PRECEDING PCTFREE P_ENTITY P_CHUNK PRIMARY_ROOTSERVICE_LIST
|
||||
PRIMARY_CLUSTER_ID PUBLIC PROGRESSIVE_MERGE_NUM PS
|
||||
PRIMARY_CLUSTER_ID PUBLIC PROGRESSIVE_MERGE_NUM PREVIEW PS
|
||||
|
||||
QUARTER QUERY QUEUE_TIME QUICK
|
||||
|
||||
@ -282,10 +283,10 @@ END_P SET_VAR DELIMITER
|
||||
TABLE_CHECKSUM TABLE_MODE TABLE_ID TABLE_NAME TABLEGROUPS TABLES TABLESPACE TABLET TABLET_MAX_SIZE
|
||||
TEMPLATE TEMPORARY TEMPTABLE TENANT TEXT THAN TIME TIMESTAMP TIMESTAMPADD TIMESTAMPDIFF TP_NO
|
||||
TP_NAME TRACE TRADITIONAL TRANSACTION TRIGGERS TRIM TRUNCATE TYPE TYPES TASK TABLET_SIZE
|
||||
TABLEGROUP_ID TENANT_ID THROTTLE TIME_ZONE_INFO
|
||||
TABLEGROUP_ID TENANT_ID THROTTLE TIME_ZONE_INFO TIMES
|
||||
|
||||
UNCOMMITTED UNDEFINED UNDO_BUFFER_SIZE UNDOFILE UNICODE UNINSTALL UNIT UNIT_NUM UNLOCKED UNTIL
|
||||
UNUSUAL UPGRADE USE_BLOOM_FILTER UNKNOWN USE_FRM USER USER_RESOURCES UNBOUNDED
|
||||
UNUSUAL UPGRADE USE_BLOOM_FILTER UNKNOWN USE_FRM USER USER_RESOURCES UNBOUNDED UP
|
||||
|
||||
VALID VALUE VARIANCE VARIABLES VERBOSE VERIFY VIEW VISIBLE VIRTUAL_COLUMN_ID VALIDATE VAR_POP
|
||||
VAR_SAMP
|
||||
@ -427,6 +428,7 @@ END_P SET_VAR DELIMITER
|
||||
%type <node> opt_qb_name
|
||||
%type <node> opt_force_purge
|
||||
%type <node> opt_sql_throttle_for_priority opt_sql_throttle_using_cond sql_throttle_one_or_more_metrics sql_throttle_metric get_format_unit
|
||||
%type <node> opt_copy_id opt_backup_dest opt_preview opt_backup_backup_dest opt_tenant_info opt_with_active_piece
|
||||
%start sql_stmt
|
||||
%%
|
||||
////////////////////////////////////////////////////////////////
|
||||
@ -9359,7 +9361,13 @@ SHOW opt_full TABLES opt_from_or_in_database_clause opt_show_condition
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_SHOW_RECYCLEBIN);
|
||||
}
|
||||
| SHOW CREATE TABLEGROUP relation_name
|
||||
{ malloc_non_terminal_node($$, result->malloc_pool_, T_SHOW_CREATE_TABLEGROUP, 1, $4); }
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_SHOW_CREATE_TABLEGROUP, 1, $4);
|
||||
}
|
||||
| SHOW RESTORE PREVIEW
|
||||
{
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_SHOW_RESTORE_PREVIEW);
|
||||
}
|
||||
;
|
||||
|
||||
databases_or_schemas:
|
||||
@ -11316,10 +11324,10 @@ ALTER SYSTEM opt_set alter_system_set_parameter_actions
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ALTER_SYSTEM_SET_PARAMETER, 1, $$);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM SET_TP alter_system_settp_actions
|
||||
ALTER SYSTEM SET_TP alter_system_settp_actions opt_server_or_zone
|
||||
{
|
||||
merge_nodes($$, result, T_SYTEM_SETTP_LIST, $4);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ALTER_SYSTEM_SETTP, 1, $$);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ALTER_SYSTEM_SETTP, 2, $$, $5);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CLEAR LOCATION CACHE opt_server_or_zone
|
||||
@ -11414,14 +11422,31 @@ ALTER SYSTEM SET DISK VALID ip_port
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_SET_DISK_VALID, 1, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM ADD RESTORE SOURCE STRING_VALUE
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_ADD_RESTORE_SOURCE, 1, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CLEAR RESTORE SOURCE
|
||||
{
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_CLEAR_RESTORE_SOURCE);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM RESTORE tenant_name FROM STRING_VALUE
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_RESTORE_TENANT, 2, $4, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM RESTORE relation_name FROM relation_name AT STRING_VALUE UNTIL STRING_VALUE WITH STRING_VALUE
|
||||
ALTER SYSTEM RESTORE table_list FOR relation_name FROM relation_name AT STRING_VALUE UNTIL STRING_VALUE WITH STRING_VALUE
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 5, $4, $6, $8, $10, $12);
|
||||
ParseNode *tables = NULL;
|
||||
merge_nodes(tables, result, T_TABLE_LIST, $4);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 6, $6, $8, $10, $12, $14, tables);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM RESTORE relation_name FROM relation_name opt_backup_dest UNTIL STRING_VALUE WITH STRING_VALUE opt_preview
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 6, $4, $6, $7, $9, $11, $12);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CHANGE TENANT change_tenant_name_or_tenant_id
|
||||
@ -11520,7 +11545,7 @@ ALTER SYSTEM RESUME BACKUP
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM DELETE EXPIRED BACKUP
|
||||
ALTER SYSTEM DELETE EXPIRED BACKUP opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
@ -11530,10 +11555,10 @@ ALTER SYSTEM DELETE EXPIRED BACKUP
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = 0;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM DELETE BACKUPSET INTNUM
|
||||
ALTER SYSTEM DELETE BACKUPSET INTNUM opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
@ -11543,10 +11568,10 @@ ALTER SYSTEM DELETE BACKUPSET INTNUM
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = $5->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM VALIDATE DATABASE
|
||||
ALTER SYSTEM VALIDATE DATABASE opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
@ -11556,10 +11581,10 @@ ALTER SYSTEM VALIDATE DATABASE
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = 0;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $5);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM VALIDATE BACKUPSET INTNUM
|
||||
ALTER SYSTEM VALIDATE BACKUPSET INTNUM opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
@ -11569,10 +11594,10 @@ ALTER SYSTEM VALIDATE BACKUPSET INTNUM
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = $5->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CANCEL VALIDATE INTNUM
|
||||
ALTER SYSTEM CANCEL VALIDATE INTNUM opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
@ -11582,7 +11607,7 @@ ALTER SYSTEM CANCEL VALIDATE INTNUM
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = $5->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM DELETE OBSOLETE BACKUP
|
||||
@ -11601,13 +11626,180 @@ ALTER SYSTEM CANCEL DELETE BACKUP
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 10;
|
||||
|
||||
ParseNode *value = NULL;
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = 0;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CANCEL BACKUP BACKUPSET
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 9;
|
||||
ParseNode *value = NULL;
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = 0;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM DELETE BACKUPPIECE INTNUM opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 11;
|
||||
|
||||
ParseNode *value = NULL;
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = $5->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM CANCEL BACKUP BACKUPPIECE
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 13;
|
||||
ParseNode *value = NULL;
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = 0;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM DELETE BACKUPROUND INTNUM opt_copy_id
|
||||
{
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 14;
|
||||
|
||||
ParseNode *value = NULL;
|
||||
malloc_terminal_node(value, result->malloc_pool_, T_INT);
|
||||
value->value_ = $5->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, $6);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPSET ALL opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
ParseNode *backup_set_id = NULL;
|
||||
malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT);
|
||||
backup_set_id->value_ = 0;
|
||||
|
||||
ParseNode *max_backup_times = NULL;
|
||||
malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT);
|
||||
max_backup_times->value_ = -1;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, $6, $7, max_backup_times);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPSET opt_equal_mark INTNUM opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
(void)($5);
|
||||
ParseNode *backup_set_id= NULL;
|
||||
malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT);
|
||||
backup_set_id->value_ = $6->value_;
|
||||
|
||||
ParseNode *max_backup_times = NULL;
|
||||
malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT);
|
||||
max_backup_times->value_ = -1;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, $7, $8, max_backup_times);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPSET ALL NOT BACKED UP INTNUM TIMES opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
ParseNode *backup_set_id = NULL;
|
||||
malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT);
|
||||
backup_set_id->value_ = 0;
|
||||
|
||||
ParseNode *max_backup_times = NULL;
|
||||
malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT);
|
||||
max_backup_times->value_ = $9->value_;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, $11, $12, max_backup_times);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM START BACKUP ARCHIVELOG
|
||||
{
|
||||
ParseNode *enable = NULL;
|
||||
malloc_terminal_node(enable, result->malloc_pool_, T_INT);
|
||||
enable->value_ = 1;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_ARCHIVELOG, 1, enable);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM STOP BACKUP ARCHIVELOG
|
||||
{
|
||||
ParseNode *enable = NULL;
|
||||
malloc_terminal_node(enable, result->malloc_pool_, T_INT);
|
||||
enable->value_ = 0;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_ARCHIVELOG, 1, enable);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPPIECE ALL opt_with_active_piece opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
ParseNode *piece_id = NULL;
|
||||
malloc_terminal_node(piece_id, result->malloc_pool_, T_INT);
|
||||
piece_id->value_ = 0;
|
||||
|
||||
ParseNode *backup_all = NULL;
|
||||
malloc_terminal_node(backup_all, result->malloc_pool_, T_INT);
|
||||
backup_all->value_ = 1;
|
||||
|
||||
ParseNode *backup_times = NULL;
|
||||
malloc_terminal_node(backup_times, result->malloc_pool_, T_INT);
|
||||
backup_times->value_ = -1;
|
||||
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 0;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, $6, $7, $8, type);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPPIECE opt_equal_mark INTNUM opt_with_active_piece opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
ParseNode *piece_id = NULL;
|
||||
malloc_terminal_node(piece_id, result->malloc_pool_, T_INT);
|
||||
piece_id->value_ = $6->value_;
|
||||
|
||||
ParseNode *backup_all = NULL;
|
||||
malloc_terminal_node(backup_all, result->malloc_pool_, T_INT);
|
||||
backup_all->value_ = 0;
|
||||
|
||||
ParseNode *backup_times = NULL;
|
||||
malloc_terminal_node(backup_times, result->malloc_pool_, T_INT);
|
||||
backup_times->value_ = -1;
|
||||
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 1;
|
||||
|
||||
(void)($5);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, $7, $8, $9, type);
|
||||
}
|
||||
|
|
||||
ALTER SYSTEM BACKUP BACKUPPIECE ALL NOT BACKED UP INTNUM TIMES opt_with_active_piece opt_tenant_info opt_backup_backup_dest
|
||||
{
|
||||
ParseNode *piece_id = NULL;
|
||||
malloc_terminal_node(piece_id, result->malloc_pool_, T_INT);
|
||||
piece_id->value_ = 0;
|
||||
|
||||
ParseNode *backup_all = NULL;
|
||||
malloc_terminal_node(backup_all, result->malloc_pool_, T_INT);
|
||||
backup_all->value_ = 1;
|
||||
|
||||
ParseNode *backup_times = NULL;
|
||||
malloc_terminal_node(backup_times, result->malloc_pool_, T_INT);
|
||||
backup_times->value_ = $9->value_;
|
||||
|
||||
ParseNode *type = NULL;
|
||||
malloc_terminal_node(type, result->malloc_pool_, T_INT);
|
||||
type->value_ = 2;
|
||||
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, $11, $12, $13, type);
|
||||
}
|
||||
|
|
||||
SET ENCRYPTION ON IDENTIFIED BY STRING_VALUE ONLY
|
||||
{
|
||||
ParseNode *mode = NULL;
|
||||
@ -11926,6 +12118,41 @@ STRING_VALUE
|
||||
}
|
||||
;
|
||||
|
||||
opt_backup_dest:
|
||||
/*empry*/
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
| AT STRING_VALUE
|
||||
{
|
||||
$$ = $2;
|
||||
}
|
||||
;
|
||||
|
||||
opt_backup_backup_dest:
|
||||
/*empty*/
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
| BACKUP_BACKUP_DEST opt_equal_mark STRING_VALUE
|
||||
{
|
||||
(void)($2);
|
||||
$$ = $3;
|
||||
}
|
||||
;
|
||||
|
||||
opt_with_active_piece:
|
||||
/*empty*/
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
| WITH ACTIVE
|
||||
{
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_BOOL);
|
||||
$$->value_ = 1;
|
||||
}
|
||||
;
|
||||
|
||||
opt_server_list:
|
||||
/*empty*/
|
||||
{
|
||||
@ -12005,6 +12232,28 @@ zone_desc
|
||||
}
|
||||
;
|
||||
|
||||
opt_copy_id:
|
||||
COPY INTNUM
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_COPY_ID, 1, $2);
|
||||
}
|
||||
| /* EMPTY */
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
;
|
||||
|
||||
opt_preview:
|
||||
PREVIEW
|
||||
{
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_PREVIEW);
|
||||
}
|
||||
|
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
;
|
||||
|
||||
opt_create_timestamp:
|
||||
CREATE_TIMESTAMP opt_equal_mark INTNUM
|
||||
{
|
||||
@ -12258,6 +12507,27 @@ tenant_name
|
||||
}
|
||||
;
|
||||
|
||||
opt_tenant_info:
|
||||
TENANT_ID opt_equal_mark INTNUM
|
||||
{
|
||||
(void)($2);
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_TENANT_ID);
|
||||
$$->value_ = $3->value_;
|
||||
}
|
||||
|
|
||||
TENANT opt_equal_mark relation_name_or_string
|
||||
{
|
||||
(void)($2);
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_TENANT_NAME);
|
||||
$$->str_value_ = $3->str_value_;
|
||||
$$->str_len_ = $3->str_len_;
|
||||
}
|
||||
| /* EMPTY */
|
||||
{
|
||||
$$ = NULL;
|
||||
}
|
||||
;
|
||||
|
||||
cache_name :
|
||||
CACHE opt_equal_mark relation_name_or_string
|
||||
{
|
||||
@ -12377,6 +12647,21 @@ opt_server_or_zone opt_tenant_name
|
||||
);
|
||||
$$->value_ = $5[0]; /* scope */
|
||||
}
|
||||
|
|
||||
BACKUP_BACKUP_DEST COMP_EQ STRING_VALUE opt_comment opt_config_scope
|
||||
opt_server_or_zone opt_tenant_name
|
||||
{
|
||||
ParseNode *backup_backup_dest = NULL;
|
||||
make_name_node(backup_backup_dest, result->malloc_pool_, "backup_backup_dest");
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_SYSTEM_ACTION, 5,
|
||||
backup_backup_dest, /* param_name */
|
||||
$3, /* param_value */
|
||||
$4, /* comment */
|
||||
$6, /* zone or server */
|
||||
$7 /* tenant */
|
||||
);
|
||||
$$->value_ = $5[0]; /* scope */
|
||||
}
|
||||
;
|
||||
|
||||
opt_comment:
|
||||
@ -13563,6 +13848,13 @@ ACCOUNT
|
||||
| PERFORMANCE
|
||||
| PROTECTION
|
||||
| OBSOLETE
|
||||
| BACKUPPIECE
|
||||
| PREVIEW
|
||||
| BACKUP_BACKUP_DEST
|
||||
| BACKUPROUND
|
||||
| UP
|
||||
| TIMES
|
||||
| BACKED
|
||||
;
|
||||
|
||||
unreserved_keyword_special:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -173,13 +173,6 @@ const char* get_type_name(int type)
|
||||
case T_FUN_SYS_MD5 : return "T_FUN_SYS_MD5";
|
||||
case T_FUN_SYS_IP2INT : return "T_FUN_SYS_IP2INT";
|
||||
case T_FUN_SYS_INT2IP : return "T_FUN_SYS_INT2IP";
|
||||
case T_FUN_SYS_INET6NTOA : return "T_FUN_SYS_INET6NTOA";
|
||||
case T_FUN_SYS_INET6ATON : return "T_FUN_SYS_INET6ATON";
|
||||
case T_FUN_SYS_INETATON : return "T_FUN_SYS_INETATON";
|
||||
case T_FUN_SYS_IS_IPV4 : return "T_FUN_SYS_IS_IPV4";
|
||||
case T_FUN_SYS_IS_IPV6 : return "T_FUN_SYS_IS_IPV6";
|
||||
case T_FUN_SYS_IS_IPV4_MAPPED : return "T_FUN_SYS_IS_IPV4_MAPPED";
|
||||
case T_FUN_SYS_IS_IPV4_COMPAT : return "T_FUN_SYS_IS_IPV4_COMPAT";
|
||||
case T_FUN_SYS_INSERT : return "T_FUN_SYS_INSERT";
|
||||
case T_FUN_SYS_LENGTH : return "T_FUN_SYS_LENGTH";
|
||||
case T_FUN_SYS_HEX : return "T_FUN_SYS_HEX";
|
||||
@ -379,6 +372,13 @@ const char* get_type_name(int type)
|
||||
case T_FUN_SYS_BIT_LENGTH : return "T_FUN_SYS_BIT_LENGTH";
|
||||
case T_FUN_SYS_PI : return "T_FUN_SYS_PI";
|
||||
case T_FUN_SYS_EXPORT_SET : return "T_FUN_SYS_EXPORT_SET";
|
||||
case T_FUN_SYS_INET6NTOA : return "T_FUN_SYS_INET6NTOA";
|
||||
case T_FUN_SYS_INET6ATON : return "T_FUN_SYS_INET6ATON";
|
||||
case T_FUN_SYS_IS_IPV4 : return "T_FUN_SYS_IS_IPV4";
|
||||
case T_FUN_SYS_IS_IPV6 : return "T_FUN_SYS_IS_IPV6";
|
||||
case T_FUN_SYS_IS_IPV4_MAPPED : return "T_FUN_SYS_IS_IPV4_MAPPED";
|
||||
case T_FUN_SYS_IS_IPV4_COMPAT : return "T_FUN_SYS_IS_IPV4_COMPAT";
|
||||
case T_FUN_SYS_INETATON : return "T_FUN_SYS_INETATON";
|
||||
case T_MYSQL_ONLY_SYS_MAX_OP : return "T_MYSQL_ONLY_SYS_MAX_OP";
|
||||
case T_FUN_SYS_CONNECT_BY_PATH : return "T_FUN_SYS_CONNECT_BY_PATH";
|
||||
case T_FUN_SYS_SYSTIMESTAMP : return "T_FUN_SYS_SYSTIMESTAMP";
|
||||
@ -841,6 +841,7 @@ const char* get_type_name(int type)
|
||||
case T_SHOW_PROCEDURE_STATUS : return "T_SHOW_PROCEDURE_STATUS";
|
||||
case T_SHOW_FUNCTION_STATUS : return "T_SHOW_FUNCTION_STATUS";
|
||||
case T_SHOW_CREATE_TABLEGROUP : return "T_SHOW_CREATE_TABLEGROUP";
|
||||
case T_SHOW_RESTORE_PREVIEW : return "T_SHOW_RESTORE_PREVIEW";
|
||||
case T_SHOW_GRANTS : return "T_SHOW_GRANTS";
|
||||
case T_SHOW_LIMIT : return "T_SHOW_LIMIT";
|
||||
case T_CREATE_USER : return "T_CREATE_USER";
|
||||
@ -1566,6 +1567,13 @@ const char* get_type_name(int type)
|
||||
case T_MAX_USER_CONNECTIONS : return "T_MAX_USER_CONNECTIONS";
|
||||
case T_MAX_QUERIES_PER_HOUR : return "T_MAX_QUERIES_PER_HOUR";
|
||||
case T_MAX_UPDATES_PER_HOUR : return "T_MAX_UPDATES_PER_HOUR";
|
||||
case T_BACKUP_BACKUPSET : return "T_BACKUP_BACKUPSET";
|
||||
case T_BACKUP_ARCHIVELOG : return "T_BACKUP_ARCHIVELOG";
|
||||
case T_COPY_ID : return "T_COPY_ID";
|
||||
case T_BACKUP_BACKUPPIECE : return "T_BACKUP_BACKUPPIECE";
|
||||
case T_ADD_RESTORE_SOURCE : return "T_ADD_RESTORE_SOURCE";
|
||||
case T_CLEAR_RESTORE_SOURCE : return "T_CLEAR_RESTORE_SOURCE";
|
||||
case T_PREVIEW : return "T_PREVIEW";
|
||||
default:return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user