Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
0dffe33c
Commit
0dffe33c
authored
4 years ago
by
Kentoku SHIBA
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add a table parameter "filedsn" to Spider
parent
e685809a
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
241 additions
and
28 deletions
+241
-28
storage/spider/spd_conn.cc
storage/spider/spd_conn.cc
+12
-1
storage/spider/spd_direct_sql.cc
storage/spider/spd_direct_sql.cc
+26
-2
storage/spider/spd_include.h
storage/spider/spd_include.h
+13
-1
storage/spider/spd_init_query.h
storage/spider/spd_init_query.h
+16
-0
storage/spider/spd_sys_table.cc
storage/spider/spd_sys_table.cc
+66
-8
storage/spider/spd_sys_table.h
storage/spider/spd_sys_table.h
+4
-4
storage/spider/spd_table.cc
storage/spider/spd_table.cc
+75
-12
storage/spider/spd_trx.cc
storage/spider/spd_trx.cc
+29
-0
No files found.
storage/spider/spd_conn.cc
View file @
0dffe33c
...
@@ -566,7 +566,7 @@ SPIDER_CONN *spider_create_conn(
...
@@ -566,7 +566,7 @@ SPIDER_CONN *spider_create_conn(
char
*
tmp_name
,
*
tmp_host
,
*
tmp_username
,
*
tmp_password
,
*
tmp_socket
;
char
*
tmp_name
,
*
tmp_host
,
*
tmp_username
,
*
tmp_password
,
*
tmp_socket
;
char
*
tmp_wrapper
,
*
tmp_db
,
*
tmp_ssl_ca
,
*
tmp_ssl_capath
,
*
tmp_ssl_cert
;
char
*
tmp_wrapper
,
*
tmp_db
,
*
tmp_ssl_ca
,
*
tmp_ssl_capath
,
*
tmp_ssl_cert
;
char
*
tmp_ssl_cipher
,
*
tmp_ssl_key
,
*
tmp_default_file
,
*
tmp_default_group
;
char
*
tmp_ssl_cipher
,
*
tmp_ssl_key
,
*
tmp_default_file
,
*
tmp_default_group
;
char
*
tmp_dsn
;
char
*
tmp_dsn
,
*
tmp_filedsn
;
DBUG_ENTER
(
"spider_create_conn"
);
DBUG_ENTER
(
"spider_create_conn"
);
if
(
unlikely
(
!
UTC
))
if
(
unlikely
(
!
UTC
))
...
@@ -618,6 +618,8 @@ SPIDER_CONN *spider_create_conn(
...
@@ -618,6 +618,8 @@ SPIDER_CONN *spider_create_conn(
(
uint
)
(
share
->
tgt_default_groups_lengths
[
link_idx
]
+
1
),
(
uint
)
(
share
->
tgt_default_groups_lengths
[
link_idx
]
+
1
),
&
tmp_dsn
,
&
tmp_dsn
,
(
uint
)
(
share
->
tgt_dsns_lengths
[
link_idx
]
+
1
),
(
uint
)
(
share
->
tgt_dsns_lengths
[
link_idx
]
+
1
),
&
tmp_filedsn
,
(
uint
)
(
share
->
tgt_filedsns_lengths
[
link_idx
]
+
1
),
&
need_mon
,
(
uint
)
(
sizeof
(
int
)),
&
need_mon
,
(
uint
)
(
sizeof
(
int
)),
NullS
))
NullS
))
)
{
)
{
...
@@ -726,6 +728,15 @@ SPIDER_CONN *spider_create_conn(
...
@@ -726,6 +728,15 @@ SPIDER_CONN *spider_create_conn(
share
->
tgt_dsns_lengths
[
link_idx
]);
share
->
tgt_dsns_lengths
[
link_idx
]);
}
else
}
else
conn
->
tgt_dsn
=
NULL
;
conn
->
tgt_dsn
=
NULL
;
conn
->
tgt_filedsn_length
=
share
->
tgt_filedsns_lengths
[
link_idx
];
if
(
conn
->
tgt_filedsn_length
)
{
conn
->
tgt_filedsn
=
tmp_filedsn
;
memcpy
(
conn
->
tgt_filedsn
,
share
->
tgt_filedsns
[
link_idx
],
share
->
tgt_filedsns_lengths
[
link_idx
]);
}
else
conn
->
tgt_filedsn
=
NULL
;
conn
->
tgt_port
=
share
->
tgt_ports
[
link_idx
];
conn
->
tgt_port
=
share
->
tgt_ports
[
link_idx
];
conn
->
tgt_ssl_vsc
=
share
->
tgt_ssl_vscs
[
link_idx
];
conn
->
tgt_ssl_vsc
=
share
->
tgt_ssl_vscs
[
link_idx
];
conn
->
dbton_id
=
share
->
sql_dbton_ids
[
link_idx
];
conn
->
dbton_id
=
share
->
sql_dbton_ids
[
link_idx
];
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_direct_sql.cc
View file @
0dffe33c
...
@@ -289,7 +289,8 @@ int spider_udf_direct_sql_create_conn_key(
...
@@ -289,7 +289,8 @@ int spider_udf_direct_sql_create_conn_key(
+
1
+
1
+
1
+
1
+
direct_sql
->
tgt_default_file_length
+
1
+
direct_sql
->
tgt_default_file_length
+
1
+
direct_sql
->
tgt_default_group_length
+
1
+
direct_sql
->
tgt_default_group_length
+
1
+
direct_sql
->
tgt_dsn_length
;
+
direct_sql
->
tgt_dsn_length
+
1
+
direct_sql
->
tgt_filedsn_length
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
}
else
{
}
else
{
direct_sql
->
conn_key_length
direct_sql
->
conn_key_length
...
@@ -403,6 +404,13 @@ int spider_udf_direct_sql_create_conn_key(
...
@@ -403,6 +404,13 @@ int spider_udf_direct_sql_create_conn_key(
tmp_name
=
strmov
(
tmp_name
+
1
,
direct_sql
->
tgt_dsn
);
tmp_name
=
strmov
(
tmp_name
+
1
,
direct_sql
->
tgt_dsn
);
}
else
}
else
tmp_name
++
;
tmp_name
++
;
if
(
direct_sql
->
tgt_filedsn
)
{
DBUG_PRINT
(
"info"
,(
"spider tgt_filedsn=%s"
,
direct_sql
->
tgt_filedsn
));
tmp_name
=
strmov
(
tmp_name
+
1
,
direct_sql
->
tgt_filedsn
);
}
else
tmp_name
++
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
}
}
#endif
#endif
...
@@ -422,7 +430,7 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
...
@@ -422,7 +430,7 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
char
*
tmp_name
,
*
tmp_host
,
*
tmp_username
,
*
tmp_password
,
*
tmp_socket
;
char
*
tmp_name
,
*
tmp_host
,
*
tmp_username
,
*
tmp_password
,
*
tmp_socket
;
char
*
tmp_wrapper
,
*
tmp_db
,
*
tmp_ssl_ca
,
*
tmp_ssl_capath
,
*
tmp_ssl_cert
;
char
*
tmp_wrapper
,
*
tmp_db
,
*
tmp_ssl_ca
,
*
tmp_ssl_capath
,
*
tmp_ssl_cert
;
char
*
tmp_ssl_cipher
,
*
tmp_ssl_key
,
*
tmp_default_file
,
*
tmp_default_group
;
char
*
tmp_ssl_cipher
,
*
tmp_ssl_key
,
*
tmp_default_file
,
*
tmp_default_group
;
char
*
tmp_dsn
;
char
*
tmp_dsn
,
*
tmp_filedsn
;
int
*
need_mon
;
int
*
need_mon
;
bool
tables_on_different_db_are_joinable
=
TRUE
;
bool
tables_on_different_db_are_joinable
=
TRUE
;
DBUG_ENTER
(
"spider_udf_direct_sql_create_conn"
);
DBUG_ENTER
(
"spider_udf_direct_sql_create_conn"
);
...
@@ -463,6 +471,8 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
...
@@ -463,6 +471,8 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
(
uint
)
(
direct_sql
->
tgt_default_group_length
+
1
),
(
uint
)
(
direct_sql
->
tgt_default_group_length
+
1
),
&
tmp_dsn
,
&
tmp_dsn
,
(
uint
)
(
direct_sql
->
tgt_dsn_length
+
1
),
(
uint
)
(
direct_sql
->
tgt_dsn_length
+
1
),
&
tmp_filedsn
,
(
uint
)
(
direct_sql
->
tgt_filedsn_length
+
1
),
&
need_mon
,
(
uint
)
(
sizeof
(
int
)),
&
need_mon
,
(
uint
)
(
sizeof
(
int
)),
NullS
))
NullS
))
)
{
)
{
...
@@ -587,6 +597,14 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
...
@@ -587,6 +597,14 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
direct_sql
->
tgt_dsn_length
);
direct_sql
->
tgt_dsn_length
);
}
else
}
else
conn
->
tgt_dsn
=
NULL
;
conn
->
tgt_dsn
=
NULL
;
conn
->
tgt_filedsn_length
=
direct_sql
->
tgt_filedsn_length
;
if
(
conn
->
tgt_filedsn_length
)
{
conn
->
tgt_filedsn
=
tmp_filedsn
;
memcpy
(
conn
->
tgt_filedsn
,
direct_sql
->
tgt_filedsn
,
direct_sql
->
tgt_filedsn_length
);
}
else
conn
->
tgt_filedsn
=
NULL
;
conn
->
tgt_ssl_vsc
=
direct_sql
->
tgt_ssl_vsc
;
conn
->
tgt_ssl_vsc
=
direct_sql
->
tgt_ssl_vsc
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
}
else
{
}
else
{
...
@@ -1258,6 +1276,7 @@ int spider_udf_parse_direct_sql_param(
...
@@ -1258,6 +1276,7 @@ int spider_udf_parse_direct_sql_param(
SPIDER_PARAM_STR
(
"dff"
,
tgt_default_file
);
SPIDER_PARAM_STR
(
"dff"
,
tgt_default_file
);
SPIDER_PARAM_STR
(
"dfg"
,
tgt_default_group
);
SPIDER_PARAM_STR
(
"dfg"
,
tgt_default_group
);
SPIDER_PARAM_STR
(
"dsn"
,
tgt_dsn
);
SPIDER_PARAM_STR
(
"dsn"
,
tgt_dsn
);
SPIDER_PARAM_STR
(
"fds"
,
tgt_filedsn
);
SPIDER_PARAM_LONGLONG
(
"prt"
,
priority
,
0
);
SPIDER_PARAM_LONGLONG
(
"prt"
,
priority
,
0
);
SPIDER_PARAM_INT
(
"rto"
,
net_read_timeout
,
0
);
SPIDER_PARAM_INT
(
"rto"
,
net_read_timeout
,
0
);
SPIDER_PARAM_STR
(
"sca"
,
tgt_ssl_ca
);
SPIDER_PARAM_STR
(
"sca"
,
tgt_ssl_ca
);
...
@@ -1290,6 +1309,7 @@ int spider_udf_parse_direct_sql_param(
...
@@ -1290,6 +1309,7 @@ int spider_udf_parse_direct_sql_param(
error_num
=
param_string_parse
.
print_param_error
();
error_num
=
param_string_parse
.
print_param_error
();
goto
error
;
goto
error
;
case
7
:
case
7
:
SPIDER_PARAM_STR
(
"filedsn"
,
tgt_filedsn
);
SPIDER_PARAM_STR
(
"wrapper"
,
tgt_wrapper
);
SPIDER_PARAM_STR
(
"wrapper"
,
tgt_wrapper
);
SPIDER_PARAM_STR
(
"ssl_key"
,
tgt_ssl_key
);
SPIDER_PARAM_STR
(
"ssl_key"
,
tgt_ssl_key
);
error_num
=
param_string_parse
.
print_param_error
();
error_num
=
param_string_parse
.
print_param_error
();
...
@@ -1685,6 +1705,10 @@ void spider_udf_free_direct_sql_alloc(
...
@@ -1685,6 +1705,10 @@ void spider_udf_free_direct_sql_alloc(
{
{
spider_free
(
spider_current_trx
,
direct_sql
->
tgt_dsn
,
MYF
(
0
));
spider_free
(
spider_current_trx
,
direct_sql
->
tgt_dsn
,
MYF
(
0
));
}
}
if
(
direct_sql
->
tgt_filedsn
)
{
spider_free
(
spider_current_trx
,
direct_sql
->
tgt_filedsn
,
MYF
(
0
));
}
if
(
direct_sql
->
conn_key
)
if
(
direct_sql
->
conn_key
)
{
{
spider_free
(
spider_current_trx
,
direct_sql
->
conn_key
,
MYF
(
0
));
spider_free
(
spider_current_trx
,
direct_sql
->
conn_key
,
MYF
(
0
));
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_include.h
View file @
0dffe33c
...
@@ -256,7 +256,7 @@ const char SPIDER_empty_string = "";
...
@@ -256,7 +256,7 @@ const char SPIDER_empty_string = "";
#define SPIDER_LINK_MON_DRAW_FEW_MON 1
#define SPIDER_LINK_MON_DRAW_FEW_MON 1
#define SPIDER_LINK_MON_DRAW 2
#define SPIDER_LINK_MON_DRAW 2
#define SPIDER_TMP_SHARE_CHAR_PTR_COUNT 2
1
#define SPIDER_TMP_SHARE_CHAR_PTR_COUNT 2
2
#define SPIDER_TMP_SHARE_UINT_COUNT SPIDER_TMP_SHARE_CHAR_PTR_COUNT
#define SPIDER_TMP_SHARE_UINT_COUNT SPIDER_TMP_SHARE_CHAR_PTR_COUNT
#define SPIDER_TMP_SHARE_LONG_COUNT 20
#define SPIDER_TMP_SHARE_LONG_COUNT 20
#define SPIDER_TMP_SHARE_LONGLONG_COUNT 3
#define SPIDER_TMP_SHARE_LONGLONG_COUNT 3
...
@@ -352,6 +352,7 @@ typedef struct st_spider_alter_table
...
@@ -352,6 +352,7 @@ typedef struct st_spider_alter_table
char
**
tmp_tgt_default_files
;
char
**
tmp_tgt_default_files
;
char
**
tmp_tgt_default_groups
;
char
**
tmp_tgt_default_groups
;
char
**
tmp_tgt_dsns
;
char
**
tmp_tgt_dsns
;
char
**
tmp_tgt_filedsns
;
char
**
tmp_static_link_ids
;
char
**
tmp_static_link_ids
;
long
*
tmp_tgt_ports
;
long
*
tmp_tgt_ports
;
long
*
tmp_tgt_ssl_vscs
;
long
*
tmp_tgt_ssl_vscs
;
...
@@ -374,6 +375,7 @@ typedef struct st_spider_alter_table
...
@@ -374,6 +375,7 @@ typedef struct st_spider_alter_table
uint
*
tmp_tgt_default_files_lengths
;
uint
*
tmp_tgt_default_files_lengths
;
uint
*
tmp_tgt_default_groups_lengths
;
uint
*
tmp_tgt_default_groups_lengths
;
uint
*
tmp_tgt_dsns_lengths
;
uint
*
tmp_tgt_dsns_lengths
;
uint
*
tmp_tgt_filedsns_lengths
;
uint
*
tmp_static_link_ids_lengths
;
uint
*
tmp_static_link_ids_lengths
;
uint
tmp_server_names_charlen
;
uint
tmp_server_names_charlen
;
...
@@ -392,6 +394,7 @@ typedef struct st_spider_alter_table
...
@@ -392,6 +394,7 @@ typedef struct st_spider_alter_table
uint
tmp_tgt_default_files_charlen
;
uint
tmp_tgt_default_files_charlen
;
uint
tmp_tgt_default_groups_charlen
;
uint
tmp_tgt_default_groups_charlen
;
uint
tmp_tgt_dsns_charlen
;
uint
tmp_tgt_dsns_charlen
;
uint
tmp_tgt_filedsns_charlen
;
uint
tmp_static_link_ids_charlen
;
uint
tmp_static_link_ids_charlen
;
uint
tmp_server_names_length
;
uint
tmp_server_names_length
;
...
@@ -410,6 +413,7 @@ typedef struct st_spider_alter_table
...
@@ -410,6 +413,7 @@ typedef struct st_spider_alter_table
uint
tmp_tgt_default_files_length
;
uint
tmp_tgt_default_files_length
;
uint
tmp_tgt_default_groups_length
;
uint
tmp_tgt_default_groups_length
;
uint
tmp_tgt_dsns_length
;
uint
tmp_tgt_dsns_length
;
uint
tmp_tgt_filedsns_length
;
uint
tmp_static_link_ids_length
;
uint
tmp_static_link_ids_length
;
uint
tmp_tgt_ports_length
;
uint
tmp_tgt_ports_length
;
uint
tmp_tgt_ssl_vscs_length
;
uint
tmp_tgt_ssl_vscs_length
;
...
@@ -495,6 +499,7 @@ typedef struct st_spider_conn
...
@@ -495,6 +499,7 @@ typedef struct st_spider_conn
char
*
tgt_default_file
;
char
*
tgt_default_file
;
char
*
tgt_default_group
;
char
*
tgt_default_group
;
char
*
tgt_dsn
;
char
*
tgt_dsn
;
char
*
tgt_filedsn
;
long
tgt_port
;
long
tgt_port
;
long
tgt_ssl_vsc
;
long
tgt_ssl_vsc
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
...
@@ -516,6 +521,7 @@ typedef struct st_spider_conn
...
@@ -516,6 +521,7 @@ typedef struct st_spider_conn
uint
tgt_default_file_length
;
uint
tgt_default_file_length
;
uint
tgt_default_group_length
;
uint
tgt_default_group_length
;
uint
tgt_dsn_length
;
uint
tgt_dsn_length
;
uint
tgt_filedsn_length
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
uint
hs_sock_length
;
uint
hs_sock_length
;
#endif
#endif
...
@@ -1123,6 +1129,7 @@ typedef struct st_spider_share
...
@@ -1123,6 +1129,7 @@ typedef struct st_spider_share
char
**
tgt_default_files
;
char
**
tgt_default_files
;
char
**
tgt_default_groups
;
char
**
tgt_default_groups
;
char
**
tgt_dsns
;
char
**
tgt_dsns
;
char
**
tgt_filedsns
;
char
**
static_link_ids
;
char
**
static_link_ids
;
char
**
tgt_pk_names
;
char
**
tgt_pk_names
;
char
**
tgt_sequence_names
;
char
**
tgt_sequence_names
;
...
@@ -1179,6 +1186,7 @@ typedef struct st_spider_share
...
@@ -1179,6 +1186,7 @@ typedef struct st_spider_share
uint
*
tgt_default_files_lengths
;
uint
*
tgt_default_files_lengths
;
uint
*
tgt_default_groups_lengths
;
uint
*
tgt_default_groups_lengths
;
uint
*
tgt_dsns_lengths
;
uint
*
tgt_dsns_lengths
;
uint
*
tgt_filedsns_lengths
;
uint
*
static_link_ids_lengths
;
uint
*
static_link_ids_lengths
;
uint
*
tgt_pk_names_lengths
;
uint
*
tgt_pk_names_lengths
;
uint
*
tgt_sequence_names_lengths
;
uint
*
tgt_sequence_names_lengths
;
...
@@ -1210,6 +1218,7 @@ typedef struct st_spider_share
...
@@ -1210,6 +1218,7 @@ typedef struct st_spider_share
uint
tgt_default_files_charlen
;
uint
tgt_default_files_charlen
;
uint
tgt_default_groups_charlen
;
uint
tgt_default_groups_charlen
;
uint
tgt_dsns_charlen
;
uint
tgt_dsns_charlen
;
uint
tgt_filedsns_charlen
;
uint
static_link_ids_charlen
;
uint
static_link_ids_charlen
;
uint
tgt_pk_names_charlen
;
uint
tgt_pk_names_charlen
;
uint
tgt_sequence_names_charlen
;
uint
tgt_sequence_names_charlen
;
...
@@ -1237,6 +1246,7 @@ typedef struct st_spider_share
...
@@ -1237,6 +1246,7 @@ typedef struct st_spider_share
uint
tgt_default_files_length
;
uint
tgt_default_files_length
;
uint
tgt_default_groups_length
;
uint
tgt_default_groups_length
;
uint
tgt_dsns_length
;
uint
tgt_dsns_length
;
uint
tgt_filedsns_length
;
uint
static_link_ids_length
;
uint
static_link_ids_length
;
uint
tgt_pk_names_length
;
uint
tgt_pk_names_length
;
uint
tgt_sequence_names_length
;
uint
tgt_sequence_names_length
;
...
@@ -1373,6 +1383,7 @@ typedef struct st_spider_direct_sql
...
@@ -1373,6 +1383,7 @@ typedef struct st_spider_direct_sql
char
*
tgt_default_file
;
char
*
tgt_default_file
;
char
*
tgt_default_group
;
char
*
tgt_default_group
;
char
*
tgt_dsn
;
char
*
tgt_dsn
;
char
*
tgt_filedsn
;
char
*
conn_key
;
char
*
conn_key
;
long
tgt_port
;
long
tgt_port
;
long
tgt_ssl_vsc
;
long
tgt_ssl_vsc
;
...
@@ -1392,6 +1403,7 @@ typedef struct st_spider_direct_sql
...
@@ -1392,6 +1403,7 @@ typedef struct st_spider_direct_sql
uint
tgt_default_file_length
;
uint
tgt_default_file_length
;
uint
tgt_default_group_length
;
uint
tgt_default_group_length
;
uint
tgt_dsn_length
;
uint
tgt_dsn_length
;
uint
tgt_filedsn_length
;
uint
conn_key_length
;
uint
conn_key_length
;
uint
dbton_id
;
uint
dbton_id
;
#ifdef SPIDER_HAS_HASH_VALUE_TYPE
#ifdef SPIDER_HAS_HASH_VALUE_TYPE
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_init_query.h
View file @
0dffe33c
...
@@ -52,6 +52,7 @@ static LEX_STRING spider_init_queries[] = {
...
@@ -52,6 +52,7 @@ static LEX_STRING spider_init_queries[] = {
" default_file text,"
" default_file text,"
" default_group char(64) default null,"
" default_group char(64) default null,"
" dsn char(64) default null,"
" dsn char(64) default null,"
" filedsn text default null,"
" key idx1 (data, format_id, gtrid_length, host)"
" key idx1 (data, format_id, gtrid_length, host)"
") engine=MyISAM default charset=utf8 collate=utf8_bin"
") engine=MyISAM default charset=utf8 collate=utf8_bin"
)},
)},
...
@@ -76,6 +77,7 @@ static LEX_STRING spider_init_queries[] = {
...
@@ -76,6 +77,7 @@ static LEX_STRING spider_init_queries[] = {
" default_file text,"
" default_file text,"
" default_group char(64) default null,"
" default_group char(64) default null,"
" dsn char(64) default null,"
" dsn char(64) default null,"
" filedsn text default null,"
" thread_id int default null,"
" thread_id int default null,"
" status char(8) not null default '',"
" status char(8) not null default '',"
" failed_time timestamp not null default current_timestamp,"
" failed_time timestamp not null default current_timestamp,"
...
@@ -105,6 +107,7 @@ static LEX_STRING spider_init_queries[] = {
...
@@ -105,6 +107,7 @@ static LEX_STRING spider_init_queries[] = {
" default_file text,"
" default_file text,"
" default_group char(64) default null,"
" default_group char(64) default null,"
" dsn char(64) default null,"
" dsn char(64) default null,"
" filedsn text default null,"
" tgt_db_name char(64) default null,"
" tgt_db_name char(64) default null,"
" tgt_table_name char(64) default null,"
" tgt_table_name char(64) default null,"
" link_status tinyint not null default 1,"
" link_status tinyint not null default 1,"
...
@@ -137,6 +140,7 @@ static LEX_STRING spider_init_queries[] = {
...
@@ -137,6 +140,7 @@ static LEX_STRING spider_init_queries[] = {
" default_file text,"
" default_file text,"
" default_group char(64) default null,"
" default_group char(64) default null,"
" dsn char(64) default null,"
" dsn char(64) default null,"
" filedsn text default null,"
" primary key (db_name, table_name, link_id, sid)"
" primary key (db_name, table_name, link_id, sid)"
") engine=MyISAM default charset=utf8 collate=utf8_bin"
") engine=MyISAM default charset=utf8 collate=utf8_bin"
)},
)},
...
@@ -614,6 +618,18 @@ static LEX_STRING spider_init_queries[] = {
...
@@ -614,6 +618,18 @@ static LEX_STRING spider_init_queries[] = {
" call mysql.spider_fix_one_table('spider_xa_member', 'dsn',"
" call mysql.spider_fix_one_table('spider_xa_member', 'dsn',"
" 'alter table mysql.spider_xa_member"
" 'alter table mysql.spider_xa_member"
" add column dsn char(64) default null after default_group');"
" add column dsn char(64) default null after default_group');"
" call mysql.spider_fix_one_table('spider_link_mon_servers', 'filedsn',"
" 'alter table mysql.spider_link_mon_servers"
" add column filedsn text default null after dsn');"
" call mysql.spider_fix_one_table('spider_tables', 'filedsn',"
" 'alter table mysql.spider_tables"
" add column filedsn text default null after dsn');"
" call mysql.spider_fix_one_table('spider_xa_failed_log', 'filedsn',"
" 'alter table mysql.spider_xa_failed_log"
" add column filedsn text default null after dsn');"
" call mysql.spider_fix_one_table('spider_xa_member', 'filedsn',"
" 'alter table mysql.spider_xa_member"
" add column filedsn text default null after dsn');"
"end;"
"end;"
)},
)},
{
C_STRING_WITH_LEN
(
{
C_STRING_WITH_LEN
(
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_sys_table.cc
View file @
0dffe33c
...
@@ -64,9 +64,10 @@ extern Time_zone *spd_tz_system;
...
@@ -64,9 +64,10 @@ extern Time_zone *spd_tz_system;
#define SPIDER_XA_MEMBER_DEFAULT_FILE_POS 16
#define SPIDER_XA_MEMBER_DEFAULT_FILE_POS 16
#define SPIDER_XA_MEMBER_DEFAULT_GROUP_POS 17
#define SPIDER_XA_MEMBER_DEFAULT_GROUP_POS 17
#define SPIDER_XA_MEMBER_DSN_POS 18
#define SPIDER_XA_MEMBER_DSN_POS 18
#define SPIDER_XA_FAILED_LOG_THREAD_ID_POS 19
#define SPIDER_XA_MEMBER_FILEDSN_POS 19
#define SPIDER_XA_FAILED_LOG_STATUS_POS 20
#define SPIDER_XA_FAILED_LOG_THREAD_ID_POS 20
#define SPIDER_XA_FAILED_LOG_FAILED_TIME_POS 21
#define SPIDER_XA_FAILED_LOG_STATUS_POS 21
#define SPIDER_XA_FAILED_LOG_FAILED_TIME_POS 22
#define SPIDER_TABLES_DB_NAME_POS 0
#define SPIDER_TABLES_DB_NAME_POS 0
#define SPIDER_TABLES_TABLE_NAME_POS 1
#define SPIDER_TABLES_TABLE_NAME_POS 1
...
@@ -89,11 +90,12 @@ extern Time_zone *spd_tz_system;
...
@@ -89,11 +90,12 @@ extern Time_zone *spd_tz_system;
#define SPIDER_TABLES_DEFAULT_FILE_POS 18
#define SPIDER_TABLES_DEFAULT_FILE_POS 18
#define SPIDER_TABLES_DEFAULT_GROUP_POS 19
#define SPIDER_TABLES_DEFAULT_GROUP_POS 19
#define SPIDER_TABLES_DSN_POS 20
#define SPIDER_TABLES_DSN_POS 20
#define SPIDER_TABLES_TGT_DB_NAME_POS 21
#define SPIDER_TABLES_FILEDSN_POS 21
#define SPIDER_TABLES_TGT_TABLE_NAME_POS 22
#define SPIDER_TABLES_TGT_DB_NAME_POS 22
#define SPIDER_TABLES_LINK_STATUS_POS 23
#define SPIDER_TABLES_TGT_TABLE_NAME_POS 23
#define SPIDER_TABLES_BLOCK_STATUS_POS 24
#define SPIDER_TABLES_LINK_STATUS_POS 24
#define SPIDER_TABLES_STATIC_LINK_ID_POS 25
#define SPIDER_TABLES_BLOCK_STATUS_POS 25
#define SPIDER_TABLES_STATIC_LINK_ID_POS 26
#define SPIDER_LINK_MON_SERVERS_DB_NAME_POS 0
#define SPIDER_LINK_MON_SERVERS_DB_NAME_POS 0
#define SPIDER_LINK_MON_SERVERS_TABLE_NAME_POS 1
#define SPIDER_LINK_MON_SERVERS_TABLE_NAME_POS 1
...
@@ -115,6 +117,7 @@ extern Time_zone *spd_tz_system;
...
@@ -115,6 +117,7 @@ extern Time_zone *spd_tz_system;
#define SPIDER_LINK_MON_SERVERS_DEFAULT_FILE_POS 17
#define SPIDER_LINK_MON_SERVERS_DEFAULT_FILE_POS 17
#define SPIDER_LINK_MON_SERVERS_DEFAULT_GROUP_POS 18
#define SPIDER_LINK_MON_SERVERS_DEFAULT_GROUP_POS 18
#define SPIDER_LINK_MON_SERVERS_DSN_POS 19
#define SPIDER_LINK_MON_SERVERS_DSN_POS 19
#define SPIDER_LINK_MON_SERVERS_FILEDSN_POS 20
#define SPIDER_LINK_FAILED_LOG_DB_NAME_POS 0
#define SPIDER_LINK_FAILED_LOG_DB_NAME_POS 0
#define SPIDER_LINK_FAILED_LOG_TABLE_NAME_POS 1
#define SPIDER_LINK_FAILED_LOG_TABLE_NAME_POS 1
...
@@ -1106,6 +1109,17 @@ void spider_store_xa_member_info(
...
@@ -1106,6 +1109,17 @@ void spider_store_xa_member_info(
table
->
field
[
SPIDER_XA_MEMBER_DSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_XA_MEMBER_DSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_XA_MEMBER_DSN_POS
]
->
reset
();
table
->
field
[
SPIDER_XA_MEMBER_DSN_POS
]
->
reset
();
}
}
if
(
conn
->
tgt_filedsn
)
{
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]
->
set_notnull
();
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]
->
store
(
conn
->
tgt_filedsn
,
(
uint
)
conn
->
tgt_filedsn_length
,
system_charset_info
);
}
else
{
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]
->
reset
();
}
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
...
@@ -1420,6 +1434,17 @@ void spider_store_tables_connect_info(
...
@@ -1420,6 +1434,17 @@ void spider_store_tables_connect_info(
table
->
field
[
SPIDER_TABLES_DSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_TABLES_DSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_TABLES_DSN_POS
]
->
reset
();
table
->
field
[
SPIDER_TABLES_DSN_POS
]
->
reset
();
}
}
if
(
alter_table
->
tmp_tgt_filedsns
[
link_idx
])
{
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]
->
set_notnull
();
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]
->
store
(
alter_table
->
tmp_tgt_filedsns
[
link_idx
],
(
uint
)
alter_table
->
tmp_tgt_filedsns_lengths
[
link_idx
],
system_charset_info
);
}
else
{
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]
->
set_null
();
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]
->
reset
();
}
if
(
alter_table
->
tmp_tgt_dbs
[
link_idx
])
if
(
alter_table
->
tmp_tgt_dbs
[
link_idx
])
{
{
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]
->
set_notnull
();
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]
->
set_notnull
();
...
@@ -2405,6 +2430,17 @@ int spider_get_sys_server_info(
...
@@ -2405,6 +2430,17 @@ int spider_get_sys_server_info(
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
}
}
if
(
!
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]
->
is_null
()
&&
(
ptr
=
get_field
(
mem_root
,
table
->
field
[
SPIDER_XA_MEMBER_FILEDSN_POS
]))
)
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
strlen
(
ptr
);
share
->
tgt_filedsns
[
link_idx
]
=
spider_create_string
(
ptr
,
share
->
tgt_filedsns_lengths
[
link_idx
]);
}
else
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_filedsns
[
link_idx
]
=
NULL
;
}
DBUG_RETURN
(
0
);
DBUG_RETURN
(
0
);
}
}
...
@@ -2663,6 +2699,17 @@ int spider_get_sys_tables_connect_info(
...
@@ -2663,6 +2699,17 @@ int spider_get_sys_tables_connect_info(
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
}
}
if
(
!
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]
->
is_null
()
&&
(
ptr
=
get_field
(
mem_root
,
table
->
field
[
SPIDER_TABLES_FILEDSN_POS
]))
)
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
strlen
(
ptr
);
share
->
tgt_filedsns
[
link_idx
]
=
spider_create_string
(
ptr
,
share
->
tgt_filedsns_lengths
[
link_idx
]);
}
else
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_filedsns
[
link_idx
]
=
NULL
;
}
if
(
if
(
!
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]
->
is_null
()
&&
!
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]
->
is_null
()
&&
(
ptr
=
get_field
(
mem_root
,
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]))
(
ptr
=
get_field
(
mem_root
,
table
->
field
[
SPIDER_TABLES_TGT_DB_NAME_POS
]))
...
@@ -3259,6 +3306,17 @@ int spider_get_sys_link_mon_connect_info(
...
@@ -3259,6 +3306,17 @@ int spider_get_sys_link_mon_connect_info(
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
share
->
tgt_dsns
[
link_idx
]
=
NULL
;
}
}
if
(
!
table
->
field
[
SPIDER_LINK_MON_SERVERS_FILEDSN_POS
]
->
is_null
()
&&
(
ptr
=
get_field
(
mem_root
,
table
->
field
[
SPIDER_LINK_MON_SERVERS_FILEDSN_POS
]))
)
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
strlen
(
ptr
);
share
->
tgt_filedsns
[
link_idx
]
=
spider_create_string
(
ptr
,
share
->
tgt_filedsns_lengths
[
link_idx
]);
}
else
{
share
->
tgt_filedsns_lengths
[
link_idx
]
=
0
;
share
->
tgt_filedsns
[
link_idx
]
=
NULL
;
}
DBUG_RETURN
(
error_num
);
DBUG_RETURN
(
error_num
);
}
}
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_sys_table.h
View file @
0dffe33c
...
@@ -51,15 +51,15 @@
...
@@ -51,15 +51,15 @@
#define SPIDER_SYS_XA_COL_CNT 5
#define SPIDER_SYS_XA_COL_CNT 5
#define SPIDER_SYS_XA_PK_COL_CNT 3
#define SPIDER_SYS_XA_PK_COL_CNT 3
#define SPIDER_SYS_XA_IDX1_COL_CNT 1
#define SPIDER_SYS_XA_IDX1_COL_CNT 1
#define SPIDER_SYS_XA_MEMBER_COL_CNT
19
#define SPIDER_SYS_XA_MEMBER_COL_CNT
20
#define SPIDER_SYS_XA_MEMBER_PK_COL_CNT 6
#define SPIDER_SYS_XA_MEMBER_PK_COL_CNT 6
#define SPIDER_SYS_TABLES_COL_CNT 2
6
#define SPIDER_SYS_TABLES_COL_CNT 2
7
#define SPIDER_SYS_TABLES_PK_COL_CNT 3
#define SPIDER_SYS_TABLES_PK_COL_CNT 3
#define SPIDER_SYS_TABLES_IDX1_COL_CNT 1
#define SPIDER_SYS_TABLES_IDX1_COL_CNT 1
#define SPIDER_SYS_TABLES_UIDX1_COL_CNT 3
#define SPIDER_SYS_TABLES_UIDX1_COL_CNT 3
#define SPIDER_SYS_LINK_MON_TABLE_COL_CNT 2
0
#define SPIDER_SYS_LINK_MON_TABLE_COL_CNT 2
1
#define SPIDER_SYS_LINK_FAILED_TABLE_COL_CNT 4
#define SPIDER_SYS_LINK_FAILED_TABLE_COL_CNT 4
#define SPIDER_SYS_XA_FAILED_TABLE_COL_CNT 2
2
#define SPIDER_SYS_XA_FAILED_TABLE_COL_CNT 2
3
#define SPIDER_SYS_POS_FOR_RECOVERY_TABLE_COL_CNT 7
#define SPIDER_SYS_POS_FOR_RECOVERY_TABLE_COL_CNT 7
#define SPIDER_SYS_TABLE_STS_COL_CNT 11
#define SPIDER_SYS_TABLE_STS_COL_CNT 11
#define SPIDER_SYS_TABLE_STS_PK_COL_CNT 2
#define SPIDER_SYS_TABLE_STS_PK_COL_CNT 2
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_table.cc
View file @
0dffe33c
...
@@ -810,6 +810,17 @@ int spider_free_share_alloc(
...
@@ -810,6 +810,17 @@ int spider_free_share_alloc(
}
}
spider_free
(
spider_current_trx
,
share
->
tgt_dsns
,
MYF
(
0
));
spider_free
(
spider_current_trx
,
share
->
tgt_dsns
,
MYF
(
0
));
}
}
if
(
share
->
tgt_filedsns
)
{
for
(
roop_count
=
0
;
roop_count
<
(
int
)
share
->
tgt_filedsns_length
;
roop_count
++
)
{
if
(
share
->
tgt_filedsns
[
roop_count
])
spider_free
(
spider_current_trx
,
share
->
tgt_filedsns
[
roop_count
],
MYF
(
0
));
}
spider_free
(
spider_current_trx
,
share
->
tgt_filedsns
,
MYF
(
0
));
}
if
(
share
->
tgt_pk_names
)
if
(
share
->
tgt_pk_names
)
{
{
for
(
roop_count
=
0
;
roop_count
<
(
int
)
share
->
tgt_pk_names_length
;
for
(
roop_count
=
0
;
roop_count
<
(
int
)
share
->
tgt_pk_names_length
;
...
@@ -1020,6 +1031,11 @@ void spider_free_tmp_share_alloc(
...
@@ -1020,6 +1031,11 @@ void spider_free_tmp_share_alloc(
spider_free
(
spider_current_trx
,
share
->
tgt_dsns
[
0
],
MYF
(
0
));
spider_free
(
spider_current_trx
,
share
->
tgt_dsns
[
0
],
MYF
(
0
));
share
->
tgt_dsns
[
0
]
=
NULL
;
share
->
tgt_dsns
[
0
]
=
NULL
;
}
}
if
(
share
->
tgt_filedsns
&&
share
->
tgt_filedsns
[
0
])
{
spider_free
(
spider_current_trx
,
share
->
tgt_filedsns
[
0
],
MYF
(
0
));
share
->
tgt_filedsns
[
0
]
=
NULL
;
}
if
(
share
->
tgt_pk_names
&&
share
->
tgt_pk_names
[
0
])
if
(
share
->
tgt_pk_names
&&
share
->
tgt_pk_names
[
0
])
{
{
spider_free
(
spider_current_trx
,
share
->
tgt_pk_names
[
0
],
MYF
(
0
));
spider_free
(
spider_current_trx
,
share
->
tgt_pk_names
[
0
],
MYF
(
0
));
...
@@ -2332,6 +2348,7 @@ int spider_parse_connect_info(
...
@@ -2332,6 +2348,7 @@ int spider_parse_connect_info(
#ifdef HA_CAN_FORCE_BULK_UPDATE
#ifdef HA_CAN_FORCE_BULK_UPDATE
SPIDER_PARAM_INT_WITH_MAX
(
"fbu"
,
force_bulk_update
,
0
,
1
);
SPIDER_PARAM_INT_WITH_MAX
(
"fbu"
,
force_bulk_update
,
0
,
1
);
#endif
#endif
SPIDER_PARAM_STR_LIST
(
"fds"
,
tgt_filedsns
);
SPIDER_PARAM_LONGLONG
(
"frd"
,
first_read
,
0
);
SPIDER_PARAM_LONGLONG
(
"frd"
,
first_read
,
0
);
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
SPIDER_PARAM_LONGLONG
(
"hrf"
,
hs_result_free_size
,
0
);
SPIDER_PARAM_LONGLONG
(
"hrf"
,
hs_result_free_size
,
0
);
...
@@ -2450,6 +2467,7 @@ int spider_parse_connect_info(
...
@@ -2450,6 +2467,7 @@ int spider_parse_connect_info(
error_num
=
connect_string_parse
.
print_param_error
();
error_num
=
connect_string_parse
.
print_param_error
();
goto
error
;
goto
error
;
case
7
:
case
7
:
SPIDER_PARAM_STR_LIST
(
"filedsn"
,
tgt_filedsns
);
SPIDER_PARAM_STR_LIST
(
"wrapper"
,
tgt_wrappers
);
SPIDER_PARAM_STR_LIST
(
"wrapper"
,
tgt_wrappers
);
SPIDER_PARAM_STR_LIST
(
"ssl_key"
,
tgt_ssl_keys
);
SPIDER_PARAM_STR_LIST
(
"ssl_key"
,
tgt_ssl_keys
);
SPIDER_PARAM_STR_LIST
(
"pk_name"
,
tgt_pk_names
);
SPIDER_PARAM_STR_LIST
(
"pk_name"
,
tgt_pk_names
);
...
@@ -2743,6 +2761,8 @@ int spider_parse_connect_info(
...
@@ -2743,6 +2761,8 @@ int spider_parse_connect_info(
share
->
all_link_count
=
share
->
tgt_default_groups_length
;
share
->
all_link_count
=
share
->
tgt_default_groups_length
;
if
(
share
->
all_link_count
<
share
->
tgt_dsns_length
)
if
(
share
->
all_link_count
<
share
->
tgt_dsns_length
)
share
->
all_link_count
=
share
->
tgt_dsns_length
;
share
->
all_link_count
=
share
->
tgt_dsns_length
;
if
(
share
->
all_link_count
<
share
->
tgt_filedsns_length
)
share
->
all_link_count
=
share
->
tgt_filedsns_length
;
if
(
share
->
all_link_count
<
share
->
tgt_pk_names_length
)
if
(
share
->
all_link_count
<
share
->
tgt_pk_names_length
)
share
->
all_link_count
=
share
->
tgt_pk_names_length
;
share
->
all_link_count
=
share
->
tgt_pk_names_length
;
if
(
share
->
all_link_count
<
share
->
tgt_sequence_names_length
)
if
(
share
->
all_link_count
<
share
->
tgt_sequence_names_length
)
...
@@ -2915,6 +2935,13 @@ int spider_parse_connect_info(
...
@@ -2915,6 +2935,13 @@ int spider_parse_connect_info(
&
share
->
tgt_dsns_charlen
,
&
share
->
tgt_dsns_charlen
,
share
->
all_link_count
)))
share
->
all_link_count
)))
goto
error
;
goto
error
;
if
((
error_num
=
spider_increase_string_list
(
&
share
->
tgt_filedsns
,
&
share
->
tgt_filedsns_lengths
,
&
share
->
tgt_filedsns_length
,
&
share
->
tgt_filedsns_charlen
,
share
->
all_link_count
)))
goto
error
;
if
((
error_num
=
spider_increase_string_list
(
if
((
error_num
=
spider_increase_string_list
(
&
share
->
tgt_pk_names
,
&
share
->
tgt_pk_names
,
&
share
->
tgt_pk_names_lengths
,
&
share
->
tgt_pk_names_lengths
,
...
@@ -3109,6 +3136,8 @@ int spider_parse_connect_info(
...
@@ -3109,6 +3136,8 @@ int spider_parse_connect_info(
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_tgt_dsns
,
&
share_alter
->
tmp_tgt_dsns
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_tgt_filedsns
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_static_link_ids
,
&
share_alter
->
tmp_static_link_ids
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_server_names_lengths
,
&
share_alter
->
tmp_server_names_lengths
,
...
@@ -3143,6 +3172,8 @@ int spider_parse_connect_info(
...
@@ -3143,6 +3172,8 @@ int spider_parse_connect_info(
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_tgt_dsns_lengths
,
&
share_alter
->
tmp_tgt_dsns_lengths
,
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_tgt_filedsns_lengths
,
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_static_link_ids_lengths
,
&
share_alter
->
tmp_static_link_ids_lengths
,
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
uint
*
)
*
share
->
all_link_count
),
&
share_alter
->
tmp_tgt_ports
,
&
share_alter
->
tmp_tgt_ports
,
...
@@ -3192,6 +3223,8 @@ int spider_parse_connect_info(
...
@@ -3192,6 +3223,8 @@ int spider_parse_connect_info(
sizeof
(
char
*
)
*
share
->
all_link_count
);
sizeof
(
char
*
)
*
share
->
all_link_count
);
memcpy
(
share_alter
->
tmp_tgt_dsns
,
share
->
tgt_dsns
,
memcpy
(
share_alter
->
tmp_tgt_dsns
,
share
->
tgt_dsns
,
sizeof
(
char
*
)
*
share
->
all_link_count
);
sizeof
(
char
*
)
*
share
->
all_link_count
);
memcpy
(
share_alter
->
tmp_tgt_filedsns
,
share
->
tgt_filedsns
,
sizeof
(
char
*
)
*
share
->
all_link_count
);
memcpy
(
share_alter
->
tmp_static_link_ids
,
share
->
static_link_ids
,
memcpy
(
share_alter
->
tmp_static_link_ids
,
share
->
static_link_ids
,
sizeof
(
char
*
)
*
share
->
all_link_count
);
sizeof
(
char
*
)
*
share
->
all_link_count
);
...
@@ -3250,6 +3283,9 @@ int spider_parse_connect_info(
...
@@ -3250,6 +3283,9 @@ int spider_parse_connect_info(
memcpy
(
share_alter
->
tmp_tgt_dsns_lengths
,
memcpy
(
share_alter
->
tmp_tgt_dsns_lengths
,
share
->
tgt_dsns_lengths
,
share
->
tgt_dsns_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
sizeof
(
uint
)
*
share
->
all_link_count
);
memcpy
(
share_alter
->
tmp_tgt_filedsns_lengths
,
share
->
tgt_filedsns_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
memcpy
(
share_alter
->
tmp_static_link_ids_lengths
,
memcpy
(
share_alter
->
tmp_static_link_ids_lengths
,
share
->
static_link_ids_lengths
,
share
->
static_link_ids_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
sizeof
(
uint
)
*
share
->
all_link_count
);
...
@@ -3273,6 +3309,8 @@ int spider_parse_connect_info(
...
@@ -3273,6 +3309,8 @@ int spider_parse_connect_info(
share
->
tgt_default_groups_charlen
;
share
->
tgt_default_groups_charlen
;
share_alter
->
tmp_tgt_dsns_charlen
=
share_alter
->
tmp_tgt_dsns_charlen
=
share
->
tgt_dsns_charlen
;
share
->
tgt_dsns_charlen
;
share_alter
->
tmp_tgt_filedsns_charlen
=
share
->
tgt_filedsns_charlen
;
share_alter
->
tmp_static_link_ids_charlen
=
share_alter
->
tmp_static_link_ids_charlen
=
share
->
static_link_ids_charlen
;
share
->
static_link_ids_charlen
;
...
@@ -3294,6 +3332,8 @@ int spider_parse_connect_info(
...
@@ -3294,6 +3332,8 @@ int spider_parse_connect_info(
share
->
tgt_default_groups_length
;
share
->
tgt_default_groups_length
;
share_alter
->
tmp_tgt_dsns_length
=
share_alter
->
tmp_tgt_dsns_length
=
share
->
tgt_dsns_length
;
share
->
tgt_dsns_length
;
share_alter
->
tmp_tgt_filedsns_length
=
share
->
tgt_filedsns_length
;
share_alter
->
tmp_static_link_ids_length
=
share_alter
->
tmp_static_link_ids_length
=
share
->
static_link_ids_length
;
share
->
static_link_ids_length
;
share_alter
->
tmp_tgt_ports_length
=
share
->
tgt_ports_length
;
share_alter
->
tmp_tgt_ports_length
=
share
->
tgt_ports_length
;
...
@@ -3524,7 +3564,19 @@ int spider_parse_connect_info(
...
@@ -3524,7 +3564,19 @@ int spider_parse_connect_info(
{
{
error_num
=
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_NUM
;
error_num
=
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_NUM
;
my_printf_error
(
error_num
,
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_STR
,
my_printf_error
(
error_num
,
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_STR
,
MYF
(
0
),
share
->
tgt_dsns
[
roop_count
],
"default_group"
);
MYF
(
0
),
share
->
tgt_dsns
[
roop_count
],
"dsn"
);
goto
error
;
}
DBUG_PRINT
(
"info"
,
(
"spider tgt_filedsns_lengths[%d] = %u"
,
roop_count
,
share
->
tgt_filedsns_lengths
[
roop_count
]));
if
(
share
->
tgt_filedsns_lengths
[
roop_count
]
>
SPIDER_CONNECT_INFO_PATH_MAX_LEN
)
{
error_num
=
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_NUM
;
my_printf_error
(
error_num
,
ER_SPIDER_INVALID_CONNECT_INFO_TOO_LONG_STR
,
MYF
(
0
),
share
->
tgt_filedsns
[
roop_count
],
"filedsn"
);
goto
error
;
goto
error
;
}
}
...
@@ -4367,7 +4419,8 @@ int spider_create_conn_keys(
...
@@ -4367,7 +4419,8 @@ int spider_create_conn_keys(
+
1
+
1
+
1
+
1
+
share
->
tgt_default_files_lengths
[
roop_count
]
+
1
+
share
->
tgt_default_files_lengths
[
roop_count
]
+
1
+
share
->
tgt_default_groups_lengths
[
roop_count
]
+
1
+
share
->
tgt_default_groups_lengths
[
roop_count
]
+
1
+
share
->
tgt_dsns_lengths
[
roop_count
];
+
share
->
tgt_dsns_lengths
[
roop_count
]
+
1
+
share
->
tgt_filedsns_lengths
[
roop_count
];
share
->
conn_keys_charlen
+=
conn_keys_lengths
[
roop_count
]
+
2
;
share
->
conn_keys_charlen
+=
conn_keys_lengths
[
roop_count
]
+
2
;
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
hs_r_conn_keys_lengths
[
roop_count
]
hs_r_conn_keys_lengths
[
roop_count
]
...
@@ -4551,6 +4604,13 @@ int spider_create_conn_keys(
...
@@ -4551,6 +4604,13 @@ int spider_create_conn_keys(
tmp_name
=
strmov
(
tmp_name
+
1
,
share
->
tgt_dsns
[
roop_count
]);
tmp_name
=
strmov
(
tmp_name
+
1
,
share
->
tgt_dsns
[
roop_count
]);
}
else
}
else
tmp_name
++
;
tmp_name
++
;
if
(
share
->
tgt_filedsns
[
roop_count
])
{
DBUG_PRINT
(
"info"
,(
"spider tgt_filedsns[%d]=%s"
,
roop_count
,
share
->
tgt_filedsns
[
roop_count
]));
tmp_name
=
strmov
(
tmp_name
+
1
,
share
->
tgt_filedsns
[
roop_count
]);
}
else
tmp_name
++
;
tmp_name
++
;
tmp_name
++
;
tmp_name
++
;
tmp_name
++
;
#ifdef SPIDER_HAS_HASH_VALUE_TYPE
#ifdef SPIDER_HAS_HASH_VALUE_TYPE
...
@@ -8538,12 +8598,13 @@ void spider_set_tmp_share_pointer(
...
@@ -8538,12 +8598,13 @@ void spider_set_tmp_share_pointer(
tmp_share
->
tgt_default_files
=
&
tmp_connect_info
[
13
];
tmp_share
->
tgt_default_files
=
&
tmp_connect_info
[
13
];
tmp_share
->
tgt_default_groups
=
&
tmp_connect_info
[
14
];
tmp_share
->
tgt_default_groups
=
&
tmp_connect_info
[
14
];
tmp_share
->
tgt_dsns
=
&
tmp_connect_info
[
15
];
tmp_share
->
tgt_dsns
=
&
tmp_connect_info
[
15
];
tmp_share
->
tgt_pk_names
=
&
tmp_connect_info
[
16
];
tmp_share
->
tgt_filedsns
=
&
tmp_connect_info
[
16
];
tmp_share
->
tgt_sequence_names
=
&
tmp_connect_info
[
17
];
tmp_share
->
tgt_pk_names
=
&
tmp_connect_info
[
17
];
tmp_share
->
static_link_ids
=
&
tmp_connect_info
[
18
];
tmp_share
->
tgt_sequence_names
=
&
tmp_connect_info
[
18
];
tmp_share
->
static_link_ids
=
&
tmp_connect_info
[
19
];
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
tmp_share
->
hs_read_socks
=
&
tmp_connect_info
[
19
];
tmp_share
->
hs_read_socks
=
&
tmp_connect_info
[
20
];
tmp_share
->
hs_write_socks
=
&
tmp_connect_info
[
2
0
];
tmp_share
->
hs_write_socks
=
&
tmp_connect_info
[
2
1
];
#endif
#endif
tmp_share
->
tgt_ports
=
&
tmp_long
[
0
];
tmp_share
->
tgt_ports
=
&
tmp_long
[
0
];
tmp_share
->
tgt_ssl_vscs
=
&
tmp_long
[
1
];
tmp_share
->
tgt_ssl_vscs
=
&
tmp_long
[
1
];
...
@@ -8593,12 +8654,13 @@ void spider_set_tmp_share_pointer(
...
@@ -8593,12 +8654,13 @@ void spider_set_tmp_share_pointer(
tmp_share
->
tgt_default_files_lengths
=
&
tmp_connect_info_length
[
13
];
tmp_share
->
tgt_default_files_lengths
=
&
tmp_connect_info_length
[
13
];
tmp_share
->
tgt_default_groups_lengths
=
&
tmp_connect_info_length
[
14
];
tmp_share
->
tgt_default_groups_lengths
=
&
tmp_connect_info_length
[
14
];
tmp_share
->
tgt_dsns_lengths
=
&
tmp_connect_info_length
[
15
];
tmp_share
->
tgt_dsns_lengths
=
&
tmp_connect_info_length
[
15
];
tmp_share
->
tgt_pk_names_lengths
=
&
tmp_connect_info_length
[
16
];
tmp_share
->
tgt_filedsns_lengths
=
&
tmp_connect_info_length
[
16
];
tmp_share
->
tgt_sequence_names_lengths
=
&
tmp_connect_info_length
[
17
];
tmp_share
->
tgt_pk_names_lengths
=
&
tmp_connect_info_length
[
17
];
tmp_share
->
static_link_ids_lengths
=
&
tmp_connect_info_length
[
18
];
tmp_share
->
tgt_sequence_names_lengths
=
&
tmp_connect_info_length
[
18
];
tmp_share
->
static_link_ids_lengths
=
&
tmp_connect_info_length
[
19
];
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
tmp_share
->
hs_read_socks_lengths
=
&
tmp_connect_info_length
[
19
];
tmp_share
->
hs_read_socks_lengths
=
&
tmp_connect_info_length
[
20
];
tmp_share
->
hs_write_socks_lengths
=
&
tmp_connect_info_length
[
2
0
];
tmp_share
->
hs_write_socks_lengths
=
&
tmp_connect_info_length
[
2
1
];
#endif
#endif
tmp_share
->
server_names_length
=
1
;
tmp_share
->
server_names_length
=
1
;
tmp_share
->
tgt_table_names_length
=
1
;
tmp_share
->
tgt_table_names_length
=
1
;
...
@@ -8616,6 +8678,7 @@ void spider_set_tmp_share_pointer(
...
@@ -8616,6 +8678,7 @@ void spider_set_tmp_share_pointer(
tmp_share
->
tgt_default_files_length
=
1
;
tmp_share
->
tgt_default_files_length
=
1
;
tmp_share
->
tgt_default_groups_length
=
1
;
tmp_share
->
tgt_default_groups_length
=
1
;
tmp_share
->
tgt_dsns_length
=
1
;
tmp_share
->
tgt_dsns_length
=
1
;
tmp_share
->
tgt_filedsns_length
=
1
;
tmp_share
->
tgt_pk_names_length
=
1
;
tmp_share
->
tgt_pk_names_length
=
1
;
tmp_share
->
tgt_sequence_names_length
=
1
;
tmp_share
->
tgt_sequence_names_length
=
1
;
tmp_share
->
static_link_ids_length
=
1
;
tmp_share
->
static_link_ids_length
=
1
;
...
...
This diff is collapsed.
Click to expand it.
storage/spider/spd_trx.cc
View file @
0dffe33c
...
@@ -506,6 +506,7 @@ int spider_create_trx_alter_table(
...
@@ -506,6 +506,7 @@ int spider_create_trx_alter_table(
char
**
tmp_tgt_default_files
;
char
**
tmp_tgt_default_files
;
char
**
tmp_tgt_default_groups
;
char
**
tmp_tgt_default_groups
;
char
**
tmp_tgt_dsns
;
char
**
tmp_tgt_dsns
;
char
**
tmp_tgt_filedsns
;
char
**
tmp_static_link_ids
;
char
**
tmp_static_link_ids
;
uint
*
tmp_server_names_lengths
;
uint
*
tmp_server_names_lengths
;
uint
*
tmp_tgt_table_names_lengths
;
uint
*
tmp_tgt_table_names_lengths
;
...
@@ -523,6 +524,7 @@ int spider_create_trx_alter_table(
...
@@ -523,6 +524,7 @@ int spider_create_trx_alter_table(
uint
*
tmp_tgt_default_files_lengths
;
uint
*
tmp_tgt_default_files_lengths
;
uint
*
tmp_tgt_default_groups_lengths
;
uint
*
tmp_tgt_default_groups_lengths
;
uint
*
tmp_tgt_dsns_lengths
;
uint
*
tmp_tgt_dsns_lengths
;
uint
*
tmp_tgt_filedsns_lengths
;
uint
*
tmp_static_link_ids_lengths
;
uint
*
tmp_static_link_ids_lengths
;
long
*
tmp_tgt_ports
;
long
*
tmp_tgt_ports
;
long
*
tmp_tgt_ssl_vscs
;
long
*
tmp_tgt_ssl_vscs
;
...
@@ -544,6 +546,7 @@ int spider_create_trx_alter_table(
...
@@ -544,6 +546,7 @@ int spider_create_trx_alter_table(
char
*
tmp_tgt_default_files_char
;
char
*
tmp_tgt_default_files_char
;
char
*
tmp_tgt_default_groups_char
;
char
*
tmp_tgt_default_groups_char
;
char
*
tmp_tgt_dsns_char
;
char
*
tmp_tgt_dsns_char
;
char
*
tmp_tgt_filedsns_char
;
char
*
tmp_static_link_ids_char
;
char
*
tmp_static_link_ids_char
;
uint
old_elements
;
uint
old_elements
;
...
@@ -571,6 +574,7 @@ int spider_create_trx_alter_table(
...
@@ -571,6 +574,7 @@ int spider_create_trx_alter_table(
&
tmp_tgt_default_files
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_default_files
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_default_groups
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_default_groups
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_dsns
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_dsns
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_tgt_filedsns
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_static_link_ids
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_static_link_ids
,
(
uint
)
(
sizeof
(
char
*
)
*
share
->
all_link_count
),
&
tmp_server_names_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
&
tmp_server_names_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
...
@@ -597,6 +601,7 @@ int spider_create_trx_alter_table(
...
@@ -597,6 +601,7 @@ int spider_create_trx_alter_table(
&
tmp_tgt_default_groups_lengths
,
&
tmp_tgt_default_groups_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
&
tmp_tgt_dsns_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
&
tmp_tgt_dsns_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
&
tmp_tgt_filedsns_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
&
tmp_static_link_ids_lengths
,
&
tmp_static_link_ids_lengths
,
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
(
uint
)
(
sizeof
(
uint
)
*
share
->
all_link_count
),
...
@@ -638,6 +643,8 @@ int spider_create_trx_alter_table(
...
@@ -638,6 +643,8 @@ int spider_create_trx_alter_table(
(
share_alter
->
tmp_tgt_default_groups_charlen
+
1
)),
(
share_alter
->
tmp_tgt_default_groups_charlen
+
1
)),
&
tmp_tgt_dsns_char
,
(
uint
)
(
sizeof
(
char
)
*
&
tmp_tgt_dsns_char
,
(
uint
)
(
sizeof
(
char
)
*
(
share_alter
->
tmp_tgt_dsns_charlen
+
1
)),
(
share_alter
->
tmp_tgt_dsns_charlen
+
1
)),
&
tmp_tgt_filedsns_char
,
(
uint
)
(
sizeof
(
char
)
*
(
share_alter
->
tmp_tgt_filedsns_charlen
+
1
)),
&
tmp_static_link_ids_char
,
(
uint
)
(
sizeof
(
char
)
*
&
tmp_static_link_ids_char
,
(
uint
)
(
sizeof
(
char
)
*
(
share_alter
->
tmp_static_link_ids_charlen
+
1
)),
(
share_alter
->
tmp_static_link_ids_charlen
+
1
)),
NullS
))
NullS
))
...
@@ -674,6 +681,7 @@ int spider_create_trx_alter_table(
...
@@ -674,6 +681,7 @@ int spider_create_trx_alter_table(
alter_table
->
tmp_tgt_default_files
=
tmp_tgt_default_files
;
alter_table
->
tmp_tgt_default_files
=
tmp_tgt_default_files
;
alter_table
->
tmp_tgt_default_groups
=
tmp_tgt_default_groups
;
alter_table
->
tmp_tgt_default_groups
=
tmp_tgt_default_groups
;
alter_table
->
tmp_tgt_dsns
=
tmp_tgt_dsns
;
alter_table
->
tmp_tgt_dsns
=
tmp_tgt_dsns
;
alter_table
->
tmp_tgt_filedsns
=
tmp_tgt_filedsns
;
alter_table
->
tmp_static_link_ids
=
tmp_static_link_ids
;
alter_table
->
tmp_static_link_ids
=
tmp_static_link_ids
;
alter_table
->
tmp_tgt_ports
=
tmp_tgt_ports
;
alter_table
->
tmp_tgt_ports
=
tmp_tgt_ports
;
...
@@ -698,6 +706,7 @@ int spider_create_trx_alter_table(
...
@@ -698,6 +706,7 @@ int spider_create_trx_alter_table(
alter_table
->
tmp_tgt_default_files_lengths
=
tmp_tgt_default_files_lengths
;
alter_table
->
tmp_tgt_default_files_lengths
=
tmp_tgt_default_files_lengths
;
alter_table
->
tmp_tgt_default_groups_lengths
=
tmp_tgt_default_groups_lengths
;
alter_table
->
tmp_tgt_default_groups_lengths
=
tmp_tgt_default_groups_lengths
;
alter_table
->
tmp_tgt_dsns_lengths
=
tmp_tgt_dsns_lengths
;
alter_table
->
tmp_tgt_dsns_lengths
=
tmp_tgt_dsns_lengths
;
alter_table
->
tmp_tgt_filedsns_lengths
=
tmp_tgt_filedsns_lengths
;
alter_table
->
tmp_static_link_ids_lengths
=
tmp_static_link_ids_lengths
;
alter_table
->
tmp_static_link_ids_lengths
=
tmp_static_link_ids_lengths
;
for
(
roop_count
=
0
;
roop_count
<
(
int
)
share
->
all_link_count
;
roop_count
++
)
for
(
roop_count
=
0
;
roop_count
<
(
int
)
share
->
all_link_count
;
roop_count
++
)
...
@@ -804,6 +813,12 @@ int spider_create_trx_alter_table(
...
@@ -804,6 +813,12 @@ int spider_create_trx_alter_table(
tmp_tgt_dsns_char
+=
tmp_tgt_dsns_char
+=
share_alter
->
tmp_tgt_dsns_lengths
[
roop_count
]
+
1
;
share_alter
->
tmp_tgt_dsns_lengths
[
roop_count
]
+
1
;
tmp_tgt_filedsns
[
roop_count
]
=
tmp_tgt_filedsns_char
;
memcpy
(
tmp_tgt_filedsns_char
,
share_alter
->
tmp_tgt_filedsns
[
roop_count
],
sizeof
(
char
)
*
share_alter
->
tmp_tgt_filedsns_lengths
[
roop_count
]);
tmp_tgt_filedsns_char
+=
share_alter
->
tmp_tgt_filedsns_lengths
[
roop_count
]
+
1
;
if
(
share_alter
->
tmp_static_link_ids
[
roop_count
])
if
(
share_alter
->
tmp_static_link_ids
[
roop_count
])
{
{
tmp_static_link_ids
[
roop_count
]
=
tmp_static_link_ids_char
;
tmp_static_link_ids
[
roop_count
]
=
tmp_static_link_ids_char
;
...
@@ -859,6 +874,8 @@ int spider_create_trx_alter_table(
...
@@ -859,6 +874,8 @@ int spider_create_trx_alter_table(
sizeof
(
uint
)
*
share
->
all_link_count
);
sizeof
(
uint
)
*
share
->
all_link_count
);
memcpy
(
tmp_tgt_dsns_lengths
,
share_alter
->
tmp_tgt_dsns_lengths
,
memcpy
(
tmp_tgt_dsns_lengths
,
share_alter
->
tmp_tgt_dsns_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
sizeof
(
uint
)
*
share
->
all_link_count
);
memcpy
(
tmp_tgt_filedsns_lengths
,
share_alter
->
tmp_tgt_filedsns_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
memcpy
(
tmp_static_link_ids_lengths
,
memcpy
(
tmp_static_link_ids_lengths
,
share_alter
->
tmp_static_link_ids_lengths
,
share_alter
->
tmp_static_link_ids_lengths
,
sizeof
(
uint
)
*
share
->
all_link_count
);
sizeof
(
uint
)
*
share
->
all_link_count
);
...
@@ -895,6 +912,8 @@ int spider_create_trx_alter_table(
...
@@ -895,6 +912,8 @@ int spider_create_trx_alter_table(
share_alter
->
tmp_tgt_default_groups_length
;
share_alter
->
tmp_tgt_default_groups_length
;
alter_table
->
tmp_tgt_dsns_length
=
alter_table
->
tmp_tgt_dsns_length
=
share_alter
->
tmp_tgt_dsns_length
;
share_alter
->
tmp_tgt_dsns_length
;
alter_table
->
tmp_tgt_filedsns_length
=
share_alter
->
tmp_tgt_filedsns_length
;
alter_table
->
tmp_static_link_ids_length
=
alter_table
->
tmp_static_link_ids_length
=
share_alter
->
tmp_static_link_ids_length
;
share_alter
->
tmp_static_link_ids_length
;
alter_table
->
tmp_tgt_ports_length
=
alter_table
->
tmp_tgt_ports_length
=
...
@@ -1108,6 +1127,16 @@ bool spider_cmp_trx_alter_table(
...
@@ -1108,6 +1127,16 @@ bool spider_cmp_trx_alter_table(
cmp2
->
tmp_tgt_dsns
[
roop_count
])
cmp2
->
tmp_tgt_dsns
[
roop_count
])
)
)
)
||
)
||
(
cmp1
->
tmp_tgt_filedsns
[
roop_count
]
!=
cmp2
->
tmp_tgt_filedsns
[
roop_count
]
&&
(
!
cmp1
->
tmp_tgt_filedsns
[
roop_count
]
||
!
cmp2
->
tmp_tgt_filedsns
[
roop_count
]
||
strcmp
(
cmp1
->
tmp_tgt_filedsns
[
roop_count
],
cmp2
->
tmp_tgt_filedsns
[
roop_count
])
)
)
||
(
(
cmp1
->
tmp_static_link_ids
[
roop_count
]
!=
cmp1
->
tmp_static_link_ids
[
roop_count
]
!=
cmp2
->
tmp_static_link_ids
[
roop_count
]
&&
cmp2
->
tmp_static_link_ids
[
roop_count
]
&&
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment