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
281b58b1
Commit
281b58b1
authored
May 22, 2013
by
Kentoku SHIBA
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug of auto_increment_mode=0 and 1
parent
762713bf
Changes
28
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
331 additions
and
78 deletions
+331
-78
storage/spider/ha_spider.cc
storage/spider/ha_spider.cc
+80
-7
storage/spider/ha_spider.h
storage/spider/ha_spider.h
+6
-0
storage/spider/mysql-test/spider/bg/include/init_master_1.inc
...age/spider/mysql-test/spider/bg/include/init_master_1.inc
+4
-0
storage/spider/mysql-test/spider/bg/t/slave_test_init.inc
storage/spider/mysql-test/spider/bg/t/slave_test_init.inc
+10
-6
storage/spider/mysql-test/spider/bg/t/spider_fixes.test
storage/spider/mysql-test/spider/bg/t/spider_fixes.test
+20
-0
storage/spider/mysql-test/spider/handler/include/init_master_1.inc
...pider/mysql-test/spider/handler/include/init_master_1.inc
+4
-0
storage/spider/mysql-test/spider/handler/t/slave_test_init.inc
...ge/spider/mysql-test/spider/handler/t/slave_test_init.inc
+10
-6
storage/spider/mysql-test/spider/handler/t/spider_fixes.test
storage/spider/mysql-test/spider/handler/t/spider_fixes.test
+20
-0
storage/spider/mysql-test/spider/include/init_master_1.inc
storage/spider/mysql-test/spider/include/init_master_1.inc
+4
-0
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_1.inc
...der/mysql-test/spider/oracle/include/ha_init_child3_1.inc
+1
-1
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_2.inc
...der/mysql-test/spider/oracle/include/ha_init_child3_2.inc
+1
-1
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_3.inc
...der/mysql-test/spider/oracle/include/ha_init_child3_3.inc
+1
-1
storage/spider/mysql-test/spider/oracle/include/init_master_1.inc
...spider/mysql-test/spider/oracle/include/init_master_1.inc
+5
-1
storage/spider/mysql-test/spider/oracle/r/direct_update.result
...ge/spider/mysql-test/spider/oracle/r/direct_update.result
+8
-8
storage/spider/mysql-test/spider/oracle/r/spider_fixes.result
...age/spider/mysql-test/spider/oracle/r/spider_fixes.result
+2
-2
storage/spider/mysql-test/spider/oracle/t/slave_test_init.inc
...age/spider/mysql-test/spider/oracle/t/slave_test_init.inc
+10
-6
storage/spider/mysql-test/spider/oracle/t/spider_fixes.test
storage/spider/mysql-test/spider/oracle/t/spider_fixes.test
+20
-0
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_1.inc
...er/mysql-test/spider/oracle2/include/ha_init_child3_1.inc
+1
-1
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_2.inc
...er/mysql-test/spider/oracle2/include/ha_init_child3_2.inc
+1
-1
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_3.inc
...er/mysql-test/spider/oracle2/include/ha_init_child3_3.inc
+1
-1
storage/spider/mysql-test/spider/oracle2/include/init_master_1.inc
...pider/mysql-test/spider/oracle2/include/init_master_1.inc
+5
-1
storage/spider/mysql-test/spider/oracle2/r/direct_update.result
...e/spider/mysql-test/spider/oracle2/r/direct_update.result
+8
-8
storage/spider/mysql-test/spider/oracle2/r/spider_fixes.result
...ge/spider/mysql-test/spider/oracle2/r/spider_fixes.result
+2
-2
storage/spider/mysql-test/spider/oracle2/t/slave_test_init.inc
...ge/spider/mysql-test/spider/oracle2/t/slave_test_init.inc
+10
-6
storage/spider/mysql-test/spider/oracle2/t/spider_fixes.test
storage/spider/mysql-test/spider/oracle2/t/spider_fixes.test
+20
-0
storage/spider/mysql-test/spider/t/slave_test_init.inc
storage/spider/mysql-test/spider/t/slave_test_init.inc
+10
-6
storage/spider/mysql-test/spider/t/spider_fixes.test
storage/spider/mysql-test/spider/t/spider_fixes.test
+20
-0
storage/spider/spd_db_oracle.cc
storage/spider/spd_db_oracle.cc
+47
-13
No files found.
storage/spider/ha_spider.cc
View file @
281b58b1
...
...
@@ -1174,6 +1174,9 @@ int ha_spider::external_lock(
#if MYSQL_VERSION_ID < 50500
DBUG_PRINT
(
"info"
,(
"spider thd->options=%x"
,
(
int
)
thd
->
options
));
#endif
#ifdef HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
info_auto_called
=
FALSE
;
#endif
sql_command
=
thd_sql_command
(
thd
);
if
(
sql_command
==
SQLCOM_BEGIN
)
...
...
@@ -7721,6 +7724,15 @@ int ha_spider::info(
(
"spider difftime=%f"
,
difftime
(
tmp_time
,
share
->
sts_get_time
)));
DBUG_PRINT
(
"info"
,
(
"spider sts_interval=%f"
,
sts_interval
));
int
tmp_auto_increment_mode
=
0
;
if
(
flag
&
HA_STATUS_AUTO
)
{
tmp_auto_increment_mode
=
spider_param_auto_increment_mode
(
thd
,
share
->
auto_increment_mode
);
#ifdef HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
info_auto_called
=
TRUE
;
#endif
}
if
(
!
share
->
sts_init
)
{
pthread_mutex_lock
(
&
share
->
sts_mutex
);
...
...
@@ -7746,10 +7758,21 @@ int ha_spider::info(
pthread_mutex_unlock
(
&
share
->
sts_mutex
);
sts_interval
=
0
;
#ifdef WITH_PARTITION_STORAGE_ENGINE
int
tmp_auto_increment_mode
=
spider_param_auto_increment_mode
(
thd
,
share
->
auto_increment_mode
);
if
(
tmp_auto_increment_mode
==
1
)
sts_sync
=
0
;
#endif
}
}
if
(
flag
&
HA_STATUS_AUTO
)
{
if
(
share
->
partition_share
&&
tmp_auto_increment_mode
==
1
&&
!
share
->
auto_increment_init
)
{
sts_interval
=
0
;
#ifdef WITH_PARTITION_STORAGE_ENGINE
sts_sync
=
0
;
#endif
}
}
...
...
@@ -7881,8 +7904,42 @@ int ha_spider::info(
stats
.
records
=
2
;
}
if
(
flag
&
HA_STATUS_AUTO
)
{
#ifdef WITH_PARTITION_STORAGE_ENGINE
if
(
share
->
partition_share
&&
table
->
next_number_field
)
{
ulonglong
first_value
,
nb_reserved_values
;
if
(
tmp_auto_increment_mode
==
0
&&
!
(
table
->
next_number_field
->
val_int
()
!=
0
||
(
table
->
auto_increment_field_not_null
&&
thd
->
variables
.
sql_mode
&
MODE_NO_AUTO_VALUE_ON_ZERO
)
)
)
{
get_auto_increment
(
0
,
0
,
0
,
&
first_value
,
&
nb_reserved_values
);
share
->
auto_increment_value
=
first_value
;
share
->
auto_increment_lclval
=
first_value
;
share
->
auto_increment_init
=
TRUE
;
DBUG_PRINT
(
"info"
,(
"spider init auto_increment_lclval=%llu"
,
share
->
auto_increment_lclval
));
stats
.
auto_increment_value
=
first_value
;
}
else
if
(
tmp_auto_increment_mode
==
1
&&
!
share
->
auto_increment_init
)
{
share
->
auto_increment_lclval
=
share
->
auto_increment_value
;
share
->
auto_increment_init
=
TRUE
;
stats
.
auto_increment_value
=
share
->
auto_increment_value
;
}
else
{
stats
.
auto_increment_value
=
share
->
auto_increment_value
;
}
}
else
{
#endif
stats
.
auto_increment_value
=
share
->
auto_increment_value
;
#ifdef WITH_PARTITION_STORAGE_ENGINE
}
#endif
}
}
if
(
flag
&
HA_STATUS_ERRKEY
)
errkey
=
dup_key_idx
;
DBUG_RETURN
(
0
);
...
...
@@ -8423,6 +8480,24 @@ uint8 ha_spider::table_cache_type()
DBUG_RETURN
(
HA_CACHE_TBL_NOCACHE
);
}
#ifdef HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
bool
ha_spider
::
need_info_for_auto_inc
()
{
THD
*
thd
=
ha_thd
();
DBUG_ENTER
(
"ha_spider::need_info_for_auto_inc"
);
DBUG_PRINT
(
"info"
,(
"spider this=%p"
,
this
));
DBUG_PRINT
(
"info"
,(
"spider return=%s"
,
(
!
spider_param_auto_increment_mode
(
thd
,
share
->
auto_increment_mode
)
&&
!
info_auto_called
)
?
"TRUE"
:
"FALSE"
));
DBUG_RETURN
((
!
spider_param_auto_increment_mode
(
thd
,
share
->
auto_increment_mode
)
&&
!
info_auto_called
));
}
#endif
int
ha_spider
::
update_auto_increment
()
{
int
error_num
;
...
...
@@ -9375,7 +9450,7 @@ int ha_spider::delete_all_rows()
DBUG_PRINT
(
"info"
,(
"spider reset auto increment"
));
pthread_mutex_lock
(
&
share
->
auto_increment_mutex
);
share
->
auto_increment_lclval
=
1
;
share
->
auto_increment_init
=
TRU
E
;
share
->
auto_increment_init
=
FALS
E
;
share
->
auto_increment_value
=
1
;
DBUG_PRINT
(
"info"
,(
"spider init auto_increment_lclval=%llu"
,
share
->
auto_increment_lclval
));
...
...
@@ -9415,7 +9490,7 @@ int ha_spider::truncate()
DBUG_PRINT
(
"info"
,(
"spider reset auto increment"
));
pthread_mutex_lock
(
&
share
->
auto_increment_mutex
);
share
->
auto_increment_lclval
=
1
;
share
->
auto_increment_init
=
TRU
E
;
share
->
auto_increment_init
=
FALS
E
;
share
->
auto_increment_value
=
1
;
DBUG_PRINT
(
"info"
,(
"spider init auto_increment_lclval=%llu"
,
share
->
auto_increment_lclval
));
...
...
@@ -11095,10 +11170,8 @@ int ha_spider::index_handler_init()
)
{
tmp_conn_kind1
=
SPIDER_CONN_KIND_HS_WRITE
;
}
else
{
#endif
#endif
tmp_conn_kind1
=
conn_kind
[
roop_count
];
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
}
#endif
...
...
storage/spider/ha_spider.h
View file @
281b58b1
...
...
@@ -163,6 +163,9 @@ class ha_spider: public handler
uint
sql_command
;
int
selupd_lock_mode
;
bool
bulk_insert
;
#ifdef HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
bool
info_auto_called
;
#endif
int
bulk_size
;
int
direct_dup_insert
;
int
store_error_num
;
...
...
@@ -493,6 +496,9 @@ class ha_spider: public handler
uint
max_supported_key_length
()
const
;
uint
max_supported_key_part_length
()
const
;
uint8
table_cache_type
();
#ifdef HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
bool
need_info_for_auto_inc
();
#endif
int
update_auto_increment
();
void
get_auto_increment
(
ulonglong
offset
,
...
...
storage/spider/mysql-test/spider/bg/include/init_master_1.inc
View file @
281b58b1
...
...
@@ -188,3 +188,7 @@ let $MASTER_1_AUTO_INCREMENT_OFFSET2=
'srv "s_2_1"'
)
$STR_SEMICOLON
SELECT
spider_bg_direct_sql
(
'SET SESSION AUTO_INCREMENT_OFFSET = 3'
,
''
,
'srv "s_2_2"'
);
let
$MASTER_1_AUTO_INCREMENT_OFFSET3
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
1
;
let
$MASTER_1_AUTO_INCREMENT_OFFSET4
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
777
;
storage/spider/mysql-test/spider/bg/t/slave_test_init.inc
View file @
281b58b1
...
...
@@ -9,12 +9,16 @@ SET SESSION sql_log_bin= 0;
--
source
have_trigger
.
inc
--
source
../
include
/
init_slave1_1
.
inc
--
source
have_engine
.
inc
eval
CHANGE
MASTER
TO
--
let
$SLAVE1_1_SLAVE_STATUS
=
`SHOW SLAVE STATUS`
if
(
!
$SLAVE1_1_SLAVE_STATUS
)
{
eval
CHANGE
MASTER
TO
MASTER_HOST
=
'127.0.0.1'
,
MASTER_USER
=
'root'
,
MASTER_PASSWORD
=
''
,
MASTER_PORT
=
$MASTER_1_MYPORT
;
;
}
START
SLAVE
;
--
connection
master_1
call
mtr
.
add_suppression
(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"
);
...
...
storage/spider/mysql-test/spider/bg/t/spider_fixes.test
View file @
281b58b1
...
...
@@ -1372,6 +1372,16 @@ if ($USE_CHILD_GROUP2)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
@@ -1539,6 +1549,16 @@ if ($HAVE_PARTITION)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
storage/spider/mysql-test/spider/handler/include/init_master_1.inc
View file @
281b58b1
...
...
@@ -180,3 +180,7 @@ let $MASTER_1_AUTO_INCREMENT_OFFSET2=
'srv "s_2_1"'
)
$STR_SEMICOLON
SELECT
spider_bg_direct_sql
(
'SET SESSION AUTO_INCREMENT_OFFSET = 3'
,
''
,
'srv "s_2_2"'
);
let
$MASTER_1_AUTO_INCREMENT_OFFSET3
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
1
;
let
$MASTER_1_AUTO_INCREMENT_OFFSET4
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
777
;
storage/spider/mysql-test/spider/handler/t/slave_test_init.inc
View file @
281b58b1
...
...
@@ -9,12 +9,16 @@ SET SESSION sql_log_bin= 0;
--
source
have_trigger
.
inc
--
source
../
include
/
init_slave1_1
.
inc
--
source
have_engine
.
inc
eval
CHANGE
MASTER
TO
--
let
$SLAVE1_1_SLAVE_STATUS
=
`SHOW SLAVE STATUS`
if
(
!
$SLAVE1_1_SLAVE_STATUS
)
{
eval
CHANGE
MASTER
TO
MASTER_HOST
=
'127.0.0.1'
,
MASTER_USER
=
'root'
,
MASTER_PASSWORD
=
''
,
MASTER_PORT
=
$MASTER_1_MYPORT
;
;
}
START
SLAVE
;
--
connection
master_1
call
mtr
.
add_suppression
(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"
);
...
...
storage/spider/mysql-test/spider/handler/t/spider_fixes.test
View file @
281b58b1
...
...
@@ -1372,6 +1372,16 @@ if ($USE_CHILD_GROUP2)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
@@ -1539,6 +1549,16 @@ if ($HAVE_PARTITION)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
storage/spider/mysql-test/spider/include/init_master_1.inc
View file @
281b58b1
...
...
@@ -180,3 +180,7 @@ let $MASTER_1_AUTO_INCREMENT_OFFSET2=
'srv "s_2_1"'
)
$STR_SEMICOLON
SELECT
spider_bg_direct_sql
(
'SET SESSION AUTO_INCREMENT_OFFSET = 3'
,
''
,
'srv "s_2_2"'
);
let
$MASTER_1_AUTO_INCREMENT_OFFSET3
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
1
;
let
$MASTER_1_AUTO_INCREMENT_OFFSET4
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
777
;
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_1.inc
View file @
281b58b1
--
let
$CHILD3_1_ENGINE_TYPE
=
Spider
--
let
$CHILD3_1_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_2.inc
View file @
281b58b1
--
let
$CHILD3_2_ENGINE_TYPE
=
Spider
--
let
$CHILD3_2_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle/include/ha_init_child3_3.inc
View file @
281b58b1
--
let
$CHILD3_3_ENGINE_TYPE
=
Spider
--
let
$CHILD3_3_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle/include/init_master_1.inc
View file @
281b58b1
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
SET
spider_direct_order_limit
=
10000
;
SET
spider_init_sql_alloc_size
=
1
;
SET
spider_conn_recycle_mode
=
2
;
...
...
@@ -143,3 +143,7 @@ let $MASTER_1_AUTO_INCREMENT_OFFSET2=
SELECT
spider_direct_sql
(
'begin execute immediate \'DROP SEQUENCE "seq_t1_2"\'$STR_SEMICOLON exception when others then null$STR_SEMICOLON end$STR_SEMICOLON'
,
''
,
'srv "s_2_2"'
)
$STR_SEMICOLON
SELECT
spider_direct_sql
(
'CREATE SEQUENCE "seq_t1_2" START WITH 3 INCREMENT BY 4'
,
''
,
'srv "s_2_2"'
);
let
$MASTER_1_AUTO_INCREMENT_OFFSET3
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
1
;
let
$MASTER_1_AUTO_INCREMENT_OFFSET4
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
777
;
storage/spider/mysql-test/spider/oracle/r/direct_update.result
View file @
281b58b1
...
...
@@ -99,8 +99,8 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
2 b 2000-01-0
2
00:00:00
3 x 2011-10-1
8
00:00:00
2 b 2000-01-0
3
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by primary key with order and limit
...
...
@@ -112,7 +112,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by a column without index
...
...
@@ -124,7 +124,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
delete by primary key
DELETE FROM ta_l WHERE a = 3;
...
...
@@ -203,8 +203,8 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
2 b 2000-01-0
2
00:00:00
3 x 2011-10-1
8
00:00:00
2 b 2000-01-0
3
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by primary key with order and limit
...
...
@@ -216,7 +216,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by a column without index
...
...
@@ -228,7 +228,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
delete by primary key
DELETE FROM ta_l2 WHERE a = 3;
...
...
storage/spider/mysql-test/spider/oracle/r/spider_fixes.result
View file @
281b58b1
...
...
@@ -279,9 +279,9 @@ Spider_direct_aggregate 20
Spider_direct_order_limit 0
SELECT a, b, c FROM ta_l_int ORDER BY a LIMIT 3;
a b c
0 2 4
1 2 4
2 3 4
4 5 6
6 7 8
SHOW GLOBAL STATUS LIKE 'Spider_direct_order_limit%';
Variable_name Value
Spider_direct_aggregate 20
...
...
storage/spider/mysql-test/spider/oracle/t/slave_test_init.inc
View file @
281b58b1
...
...
@@ -9,12 +9,16 @@ SET SESSION sql_log_bin= 0;
--
source
have_trigger
.
inc
--
source
../
include
/
init_slave1_1
.
inc
--
source
have_engine
.
inc
eval
CHANGE
MASTER
TO
--
let
$SLAVE1_1_SLAVE_STATUS
=
`SHOW SLAVE STATUS`
if
(
!
$SLAVE1_1_SLAVE_STATUS
)
{
eval
CHANGE
MASTER
TO
MASTER_HOST
=
'127.0.0.1'
,
MASTER_USER
=
'root'
,
MASTER_PASSWORD
=
''
,
MASTER_PORT
=
$MASTER_1_MYPORT
;
;
}
START
SLAVE
;
--
connection
master_1
call
mtr
.
add_suppression
(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"
);
...
...
storage/spider/mysql-test/spider/oracle/t/spider_fixes.test
View file @
281b58b1
...
...
@@ -1372,6 +1372,16 @@ if ($USE_CHILD_GROUP2)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
@@ -1539,6 +1549,16 @@ if ($HAVE_PARTITION)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_1.inc
View file @
281b58b1
--
let
$CHILD3_1_ENGINE_TYPE
=
Spider
--
let
$CHILD3_1_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_2.inc
View file @
281b58b1
--
let
$CHILD3_2_ENGINE_TYPE
=
Spider
--
let
$CHILD3_2_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle2/include/ha_init_child3_3.inc
View file @
281b58b1
--
let
$CHILD3_3_ENGINE_TYPE
=
Spider
--
let
$CHILD3_3_ENGINE
=
ENGINE
=
Spider
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
eval
INSERT
INTO
mysql
.
spider_link_mon_servers
(
db_name
,
table_name
,
link_id
,
sid
,
server
,
scheme
,
host
,
port
,
socket
,
username
,
password
,
ssl_ca
,
ssl_capath
,
ssl_cert
,
ssl_cipher
,
ssl_key
,
...
...
storage/spider/mysql-test/spider/oracle2/include/init_master_1.inc
View file @
281b58b1
--
source
../
../
include
/
init_spider
.
inc
--
source
../
include
/
init_spider
.
inc
SET
spider_direct_order_limit
=
10000
;
SET
spider_init_sql_alloc_size
=
1
;
SET
spider_conn_recycle_mode
=
2
;
...
...
@@ -144,3 +144,7 @@ let $MASTER_1_AUTO_INCREMENT_OFFSET2=
SELECT
spider_direct_sql
(
'begin execute immediate \'DROP SEQUENCE "seq_t1_2"\'$STR_SEMICOLON exception when others then null$STR_SEMICOLON end$STR_SEMICOLON'
,
''
,
'srv "s_2_2"'
)
$STR_SEMICOLON
SELECT
spider_direct_sql
(
'CREATE SEQUENCE "seq_t1_2" START WITH 3 INCREMENT BY 4'
,
''
,
'srv "s_2_2"'
);
let
$MASTER_1_AUTO_INCREMENT_OFFSET3
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
1
;
let
$MASTER_1_AUTO_INCREMENT_OFFSET4
=
SET
SESSION
AUTO_INCREMENT_OFFSET
=
777
;
storage/spider/mysql-test/spider/oracle2/r/direct_update.result
View file @
281b58b1
...
...
@@ -99,8 +99,8 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
2 b 2000-01-0
2
00:00:00
3 x 2011-10-1
8
00:00:00
2 b 2000-01-0
3
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by primary key with order and limit
...
...
@@ -112,7 +112,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by a column without index
...
...
@@ -124,7 +124,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
delete by primary key
DELETE FROM ta_l WHERE a = 3;
...
...
@@ -203,8 +203,8 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
2 b 2000-01-0
2
00:00:00
3 x 2011-10-1
8
00:00:00
2 b 2000-01-0
3
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by primary key with order and limit
...
...
@@ -216,7 +216,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
5 c 2002-01-01 23:59:59
delete by a column without index
...
...
@@ -228,7 +228,7 @@ Spider_direct_order_limit 0
SELECT a, b, date_format(c, '%Y-%m-%d %H:%i:%s') FROM ta_l2 ORDER BY a;
a b date_format(c, '%Y-%m-%d %H:%i:%s')
1 a 2008-08-02 10:21:39
3 x 2011-10-1
8
00:00:00
3 x 2011-10-1
7
00:00:00
4 d 2003-12-01 05:01:03
delete by primary key
DELETE FROM ta_l2 WHERE a = 3;
...
...
storage/spider/mysql-test/spider/oracle2/r/spider_fixes.result
View file @
281b58b1
...
...
@@ -279,9 +279,9 @@ Spider_direct_aggregate 20
Spider_direct_order_limit 0
SELECT a, b, c FROM ta_l_int ORDER BY a LIMIT 3;
a b c
0 2 4
1 2 4
2 3 4
4 5 6
6 7 8
SHOW GLOBAL STATUS LIKE 'Spider_direct_order_limit%';
Variable_name Value
Spider_direct_aggregate 20
...
...
storage/spider/mysql-test/spider/oracle2/t/slave_test_init.inc
View file @
281b58b1
...
...
@@ -9,12 +9,16 @@ SET SESSION sql_log_bin= 0;
--
source
have_trigger
.
inc
--
source
../
include
/
init_slave1_1
.
inc
--
source
have_engine
.
inc
eval
CHANGE
MASTER
TO
--
let
$SLAVE1_1_SLAVE_STATUS
=
`SHOW SLAVE STATUS`
if
(
!
$SLAVE1_1_SLAVE_STATUS
)
{
eval
CHANGE
MASTER
TO
MASTER_HOST
=
'127.0.0.1'
,
MASTER_USER
=
'root'
,
MASTER_PASSWORD
=
''
,
MASTER_PORT
=
$MASTER_1_MYPORT
;
;
}
START
SLAVE
;
--
connection
master_1
call
mtr
.
add_suppression
(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"
);
...
...
storage/spider/mysql-test/spider/oracle2/t/spider_fixes.test
View file @
281b58b1
...
...
@@ -1372,6 +1372,16 @@ if ($USE_CHILD_GROUP2)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
@@ -1539,6 +1549,16 @@ if ($HAVE_PARTITION)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
storage/spider/mysql-test/spider/t/slave_test_init.inc
View file @
281b58b1
...
...
@@ -9,12 +9,16 @@ SET SESSION sql_log_bin= 0;
--
source
have_trigger
.
inc
--
source
../
include
/
init_slave1_1
.
inc
--
source
have_engine
.
inc
eval
CHANGE
MASTER
TO
--
let
$SLAVE1_1_SLAVE_STATUS
=
`SHOW SLAVE STATUS`
if
(
!
$SLAVE1_1_SLAVE_STATUS
)
{
eval
CHANGE
MASTER
TO
MASTER_HOST
=
'127.0.0.1'
,
MASTER_USER
=
'root'
,
MASTER_PASSWORD
=
''
,
MASTER_PORT
=
$MASTER_1_MYPORT
;
;
}
START
SLAVE
;
--
connection
master_1
call
mtr
.
add_suppression
(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"
);
...
...
storage/spider/mysql-test/spider/t/spider_fixes.test
View file @
281b58b1
...
...
@@ -1372,6 +1372,16 @@ if ($USE_CHILD_GROUP2)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
@@ -1539,6 +1549,16 @@ if ($HAVE_PARTITION)
}
}
--
connection
master_1
if
(
$USE_REPLICATION
)
{
save_master_pos
;
--
connection
slave1_1
sync_with_master
;
--
connection
master_1
--
disable_query_log
SET
SESSION
sql_log_bin
=
0
;
--
enable_query_log
}
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
...
...
storage/spider/spd_db_oracle.cc
View file @
281b58b1
...
...
@@ -97,6 +97,8 @@ static const char *name_quote_str = SPIDER_SQL_NAME_QUOTE_STR;
#define SPIDER_SQL_SELECT_WRAPPER_TAIL_LEN sizeof(SPIDER_SQL_SELECT_WRAPPER_TAIL_STR) - 1
#define SPIDER_SQL_ROW_NUM_STR "row_num"
#define SPIDER_SQL_ROW_NUM_LEN sizeof(SPIDER_SQL_ROW_NUM_STR) - 1
#define SPIDER_SQL_ROWNUM_STR "rownum"
#define SPIDER_SQL_ROWNUM_LEN sizeof(SPIDER_SQL_ROWNUM_STR) - 1
#define SPIDER_SQL_NEXTVAL_STR ".nextval"
#define SPIDER_SQL_NEXTVAL_LEN sizeof(SPIDER_SQL_NEXTVAL_STR) - 1
#define SPIDER_SQL_CURRVAL_STR ".currval"
...
...
@@ -1145,7 +1147,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider create error handler error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_PRINT
(
"info"
,(
"spider OCI init errhp=%p"
,
errhp
));
...
...
@@ -1155,7 +1157,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider create server handler error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_PRINT
(
"info"
,(
"spider OCI init srvhp=%p"
,
srvhp
));
...
...
@@ -1166,7 +1168,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider attach server error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
...
...
@@ -1175,7 +1177,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider create service context error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_PRINT
(
"info"
,(
"spider OCI init svchp=%p"
,
svchp
));
...
...
@@ -1185,7 +1187,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider set server attr error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
...
...
@@ -1194,7 +1196,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider create session handler error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_PRINT
(
"info"
,(
"spider OCI init usrhp=%p"
,
usrhp
));
...
...
@@ -1205,7 +1207,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider set username attr error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
...
...
@@ -1215,7 +1217,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider set password attr error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
...
...
@@ -1224,7 +1226,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider session begin error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_PRINT
(
"info"
,(
"spider OCISessionBegin"
));
...
...
@@ -1235,7 +1237,7 @@ void spider_db_oracle::bg_connect()
{
DBUG_PRINT
(
"info"
,(
"spider set session attr error"
));
stored_error_num
=
set_error
(
res
,
errhp
,
0
,
NULL
,
NULL
);
disconnect
();
bg_
disconnect
();
goto
error
;
}
...
...
@@ -1248,7 +1250,7 @@ void spider_db_oracle::bg_connect()
SPIDER_SQL_SET_NLS_TIMESTAMP_FORMAT_LEN
,
-
1
))
)
{
DBUG_PRINT
(
"info"
,(
"spider init connection error"
));
disconnect
();
bg_
disconnect
();
goto
error
;
}
DBUG_VOID_RETURN
;
...
...
@@ -6506,6 +6508,7 @@ int spider_oracle_handler::append_condition_part(
{
case
SPIDER_SQL_TYPE_SELECT_SQL
:
case
SPIDER_SQL_TYPE_TMP_SQL
:
DBUG_PRINT
(
"info"
,(
"spider case1 sql_type=%lu"
,
sql_type
));
if
(
test_flg
)
{
str
=
NULL
;
...
...
@@ -6518,6 +6521,7 @@ int spider_oracle_handler::append_condition_part(
case
SPIDER_SQL_TYPE_UPDATE_SQL
:
case
SPIDER_SQL_TYPE_DELETE_SQL
:
case
SPIDER_SQL_TYPE_BULK_UPDATE_SQL
:
DBUG_PRINT
(
"info"
,(
"spider case2 sql_type=%lu"
,
sql_type
));
if
(
test_flg
)
{
str
=
NULL
;
...
...
@@ -6527,6 +6531,7 @@ int spider_oracle_handler::append_condition_part(
}
break
;
case
SPIDER_SQL_TYPE_HANDLER
:
DBUG_PRINT
(
"info"
,(
"spider case3 sql_type=%lu"
,
sql_type
));
if
(
test_flg
)
{
str
=
NULL
;
...
...
@@ -6553,10 +6558,13 @@ int spider_oracle_handler::append_condition_part(
}
break
;
default:
DBUG_PRINT
(
"info"
,(
"spider default sql_type=%lu"
,
sql_type
));
DBUG_RETURN
(
0
);
}
error_num
=
append_condition
(
str
,
alias
,
alias_length
,
start_where
,
sql_type
);
DBUG_PRINT
(
"info"
,(
"spider str=%s"
,
str
?
str
->
c_ptr_safe
()
:
"NULL"
));
DBUG_PRINT
(
"info"
,(
"spider length=%u"
,
str
?
str
->
length
()
:
0
));
DBUG_RETURN
(
error_num
);
}
...
...
@@ -6570,6 +6578,11 @@ int spider_oracle_handler::append_condition(
int
error_num
,
restart_pos
=
0
,
start_where_pos
;
SPIDER_CONDITION
*
tmp_cond
=
spider
->
condition
;
DBUG_ENTER
(
"spider_oracle_handler::append_condition"
);
DBUG_PRINT
(
"info"
,(
"spider str=%p"
,
str
));
DBUG_PRINT
(
"info"
,(
"spider alias=%p"
,
alias
));
DBUG_PRINT
(
"info"
,(
"spider alias_length=%u"
,
alias_length
));
DBUG_PRINT
(
"info"
,(
"spider start_where=%s"
,
start_where
?
"TRUE"
:
"FALSE"
));
DBUG_PRINT
(
"info"
,(
"spider sql_type=%lu"
,
sql_type
));
if
(
str
&&
start_where
)
{
start_where_pos
=
str
->
length
();
...
...
@@ -7151,6 +7164,8 @@ int spider_oracle_handler::append_key_order_for_direct_order_limit_with_alias(
sql_part
.
q_append
(
SPIDER_SQL_COMMA_STR
,
SPIDER_SQL_COMMA_LEN
);
}
}
}
else
{
all_desc
=
FALSE
;
}
uint
pos_diff
;
if
(
str
==
&
update_sql
)
...
...
@@ -7642,6 +7657,8 @@ int spider_oracle_handler::append_limit_part(
DBUG_RETURN
(
0
);
}
error_num
=
append_limit
(
str
,
offset
,
limit
);
DBUG_PRINT
(
"info"
,(
"spider str=%s"
,
str
->
c_ptr_safe
()));
DBUG_PRINT
(
"info"
,(
"spider length=%u"
,
str
->
length
()));
DBUG_RETURN
(
error_num
);
}
...
...
@@ -7695,6 +7712,21 @@ int spider_oracle_handler::append_limit(
DBUG_PRINT
(
"info"
,
(
"spider limit=%lld"
,
limit
));
if
(
offset
||
limit
<
9223372036854775807LL
)
{
if
((
int
)
str
->
length
()
==
where_pos
)
{
if
(
offset
)
{
int
error_num
;
if
((
error_num
=
append_key_order_for_direct_order_limit_with_alias
(
str
,
NULL
,
0
)))
DBUG_RETURN
(
error_num
);
}
else
{
if
(
str
->
reserve
(
SPIDER_SQL_WHERE_LEN
+
SPIDER_SQL_ROWNUM_LEN
))
DBUG_RETURN
(
HA_ERR_OUT_OF_MEM
);
str
->
q_append
(
SPIDER_SQL_WHERE_STR
,
SPIDER_SQL_WHERE_LEN
);
str
->
q_append
(
SPIDER_SQL_ROWNUM_STR
,
SPIDER_SQL_ROWNUM_LEN
);
}
}
if
(
offset
)
{
if
(
str
->
reserve
(
SPIDER_SQL_BETWEEN_LEN
+
SPIDER_SQL_AND_LEN
+
...
...
@@ -7702,11 +7734,11 @@ int spider_oracle_handler::append_limit(
DBUG_RETURN
(
HA_ERR_OUT_OF_MEM
);
str
->
q_append
(
SPIDER_SQL_BETWEEN_STR
,
SPIDER_SQL_BETWEEN_LEN
);
length
=
(
uint32
)
(
my_charset_bin
.
cset
->
longlong10_to_str
)(
&
my_charset_bin
,
buf
,
SPIDER_LONGLONG_LEN
+
1
,
-
10
,
offset
);
&
my_charset_bin
,
buf
,
SPIDER_LONGLONG_LEN
+
1
,
-
10
,
offset
+
1
);
str
->
q_append
(
buf
,
length
);
str
->
q_append
(
SPIDER_SQL_AND_STR
,
SPIDER_SQL_AND_LEN
);
length
=
(
uint32
)
(
my_charset_bin
.
cset
->
longlong10_to_str
)(
&
my_charset_bin
,
buf
,
SPIDER_LONGLONG_LEN
+
1
,
-
10
,
limit
);
&
my_charset_bin
,
buf
,
SPIDER_LONGLONG_LEN
+
1
,
-
10
,
limit
+
offset
);
str
->
q_append
(
buf
,
length
);
}
else
{
if
(
str
->
reserve
(
SPIDER_SQL_HS_LTEQUAL_LEN
+
...
...
@@ -7743,6 +7775,8 @@ int spider_oracle_handler::append_select_lock_part(
DBUG_RETURN
(
0
);
}
error_num
=
append_select_lock
(
str
);
DBUG_PRINT
(
"info"
,(
"spider str=%s"
,
str
->
c_ptr_safe
()));
DBUG_PRINT
(
"info"
,(
"spider length=%u"
,
str
->
length
()));
DBUG_RETURN
(
error_num
);
}
...
...
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