mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#11762616: BUG#55229: 'POSTION'
Manual merge from mysql-5.1 into mysql-5.5. Conflicts ========= Text conflict in mysql-test/suite/rpl/t/rpl_row_until.test Text conflict in sql/handler.h Text conflict in storage/archive/ha_archive.cc
This commit is contained in:
@ -10071,7 +10071,7 @@ int find_set(REP_SETS *sets,REP_SET *find)
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return i; /* return new postion */
|
return i; /* return new position */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* find if there is a found_set with same table_offset & found_offset
|
/* find if there is a found_set with same table_offset & found_offset
|
||||||
@ -10091,7 +10091,7 @@ int find_found(FOUND_SET *found_set,uint table_offset, int found_offset)
|
|||||||
found_set[i].table_offset=table_offset;
|
found_set[i].table_offset=table_offset;
|
||||||
found_set[i].found_offset=found_offset;
|
found_set[i].found_offset=found_offset;
|
||||||
found_sets++;
|
found_sets++;
|
||||||
return -i-2; /* return new postion */
|
return -i-2; /* return new position */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return 1 if regexp starts with \b or ends with \b*/
|
/* Return 1 if regexp starts with \b or ends with \b*/
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
/* Copyright (C) 2000 MySQL AB
|
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or
|
||||||
it under the terms of the GNU General Public License as published by
|
modify it under the terms of the GNU General Public License
|
||||||
the Free Software Foundation; version 2 of the License.
|
as published by the Free Software Foundation; version 2 of
|
||||||
|
the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
02110-1301 USA */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Replace strings in textfile
|
Replace strings in textfile
|
||||||
@ -818,7 +820,7 @@ static short find_set(REP_SETS *sets,REP_SET *find)
|
|||||||
return (short) i;
|
return (short) i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (short) i; /* return new postion */
|
return (short) i; /* return new position */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -841,7 +843,7 @@ static short find_found(FOUND_SET *found_set,uint table_offset,
|
|||||||
found_set[i].table_offset=table_offset;
|
found_set[i].table_offset=table_offset;
|
||||||
found_set[i].found_offset=found_offset;
|
found_set[i].found_offset=found_offset;
|
||||||
found_sets++;
|
found_sets++;
|
||||||
return (short) (-i-2); /* return new postion */
|
return (short) (-i-2); /* return new position */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return 1 if regexp starts with \b or ends with \b*/
|
/* Return 1 if regexp starts with \b or ends with \b*/
|
||||||
|
@ -22,7 +22,7 @@ change master to master_port=MASTER_PORT;
|
|||||||
start slave until master_log_file='master-bin.000001', master_log_pos=UNTIL_POS;
|
start slave until master_log_file='master-bin.000001', master_log_pos=UNTIL_POS;
|
||||||
include/wait_for_slave_io_to_start.inc
|
include/wait_for_slave_io_to_start.inc
|
||||||
include/wait_for_slave_sql_to_stop.inc
|
include/wait_for_slave_sql_to_stop.inc
|
||||||
*** checking until postion execution: must be only t1 in the list ***
|
*** checking until position execution: must be only t1 in the list ***
|
||||||
show tables;
|
show tables;
|
||||||
Tables_in_test
|
Tables_in_test
|
||||||
t1
|
t1
|
||||||
|
@ -8,32 +8,32 @@
|
|||||||
connection master;
|
connection master;
|
||||||
CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||||
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||||
# Save master log postion for query DROP TABLE t1
|
# Save master log position for query DROP TABLE t1
|
||||||
let $master_pos_drop_t1= query_get_value(SHOW MASTER STATUS, Position, 1);
|
let $master_pos_drop_t1= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# Save master log postion for query DROP TABLE t1
|
# Save master log position for query DROP TABLE t1
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
|
let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
|
||||||
let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
|
let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
|
||||||
|
|
||||||
# Save master log postion for query CREATE TABLE t2
|
# Save master log position for query CREATE TABLE t2
|
||||||
let $master_pos_create_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
let $master_pos_create_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||||
#show binlog events;
|
#show binlog events;
|
||||||
|
|
||||||
INSERT INTO t2 VALUES (1),(2);
|
INSERT INTO t2 VALUES (1),(2);
|
||||||
# Save master log postion for query INSERT INTO t2 VALUES (1),(2);
|
# Save master log position for query INSERT INTO t2 VALUES (1),(2);
|
||||||
let $master_pos_insert1_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
let $master_pos_insert1_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
#show binlog events;
|
#show binlog events;
|
||||||
|
|
||||||
# Save relay log postion for query INSERT INTO t2 VALUES (1),(2);
|
# Save relay log position for query INSERT INTO t2 VALUES (1),(2);
|
||||||
let $relay_pos_insert1_t2= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
|
let $relay_pos_insert1_t2= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
INSERT INTO t2 VALUES (3),(4);
|
INSERT INTO t2 VALUES (3),(4);
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
# Save master log postion for query DROP TABLE t2;
|
# Save master log position for query DROP TABLE t2;
|
||||||
let $master_pos_drop_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
let $master_pos_drop_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
#show binlog events;
|
#show binlog events;
|
||||||
|
@ -50,7 +50,7 @@ eval start slave until master_log_file='master-bin.000001', master_log_pos=$unti
|
|||||||
--source include/wait_for_slave_io_to_start.inc
|
--source include/wait_for_slave_io_to_start.inc
|
||||||
--source include/wait_for_slave_sql_to_stop.inc
|
--source include/wait_for_slave_sql_to_stop.inc
|
||||||
|
|
||||||
--echo *** checking until postion execution: must be only t1 in the list ***
|
--echo *** checking until position execution: must be only t1 in the list ***
|
||||||
show tables;
|
show tables;
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
|
@ -3,18 +3,20 @@
|
|||||||
|
|
||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or
|
||||||
it under the terms of the GNU General Public License as published by
|
modify it under the terms of the GNU General Public License
|
||||||
the Free Software Foundation; version 2 of the License.
|
as published by the Free Software Foundation; version 2 of
|
||||||
|
the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
02110-1301 USA */
|
||||||
|
|
||||||
/* Definitions for parameters to do with handler-routines */
|
/* Definitions for parameters to do with handler-routines */
|
||||||
|
|
||||||
@ -60,7 +62,7 @@
|
|||||||
a table with rnd_next()
|
a table with rnd_next()
|
||||||
- We will see all rows (including deleted ones)
|
- We will see all rows (including deleted ones)
|
||||||
- Row positions are 'table->s->db_record_offset' apart
|
- Row positions are 'table->s->db_record_offset' apart
|
||||||
If this flag is not set, filesort will do a postion() call for each matched
|
If this flag is not set, filesort will do a position() call for each matched
|
||||||
row to be able to find the row later.
|
row to be able to find the row later.
|
||||||
*/
|
*/
|
||||||
#define HA_REC_NOT_IN_SEQ (1 << 3)
|
#define HA_REC_NOT_IN_SEQ (1 << 3)
|
||||||
|
@ -113,7 +113,7 @@ static const char *reconnect_messages[SLAVE_RECON_ACT_MAX][SLAVE_RECON_MSG_MAX]=
|
|||||||
registration on master",
|
registration on master",
|
||||||
"Reconnecting after a failed registration on master",
|
"Reconnecting after a failed registration on master",
|
||||||
"failed registering on master, reconnecting to try again, \
|
"failed registering on master, reconnecting to try again, \
|
||||||
log '%s' at postion %s",
|
log '%s' at position %s",
|
||||||
"COM_REGISTER_SLAVE",
|
"COM_REGISTER_SLAVE",
|
||||||
"Slave I/O thread killed during or after reconnect"
|
"Slave I/O thread killed during or after reconnect"
|
||||||
},
|
},
|
||||||
@ -121,7 +121,7 @@ log '%s' at postion %s",
|
|||||||
"Waiting to reconnect after a failed binlog dump request",
|
"Waiting to reconnect after a failed binlog dump request",
|
||||||
"Slave I/O thread killed while retrying master dump",
|
"Slave I/O thread killed while retrying master dump",
|
||||||
"Reconnecting after a failed binlog dump request",
|
"Reconnecting after a failed binlog dump request",
|
||||||
"failed dump request, reconnecting to try again, log '%s' at postion %s",
|
"failed dump request, reconnecting to try again, log '%s' at position %s",
|
||||||
"COM_BINLOG_DUMP",
|
"COM_BINLOG_DUMP",
|
||||||
"Slave I/O thread killed during or after reconnect"
|
"Slave I/O thread killed during or after reconnect"
|
||||||
},
|
},
|
||||||
@ -130,7 +130,7 @@ log '%s' at postion %s",
|
|||||||
"Slave I/O thread killed while waiting to reconnect after a failed read",
|
"Slave I/O thread killed while waiting to reconnect after a failed read",
|
||||||
"Reconnecting after a failed master event read",
|
"Reconnecting after a failed master event read",
|
||||||
"Slave I/O thread: Failed reading log event, reconnecting to retry, \
|
"Slave I/O thread: Failed reading log event, reconnecting to retry, \
|
||||||
log '%s' at postion %s",
|
log '%s' at position %s",
|
||||||
"",
|
"",
|
||||||
"Slave I/O thread killed during or after a reconnect done to recover from \
|
"Slave I/O thread killed during or after a reconnect done to recover from \
|
||||||
failed read"
|
failed read"
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
/* Copyright (C) 2003 MySQL AB, 2008-2009 Sun Microsystems, Inc
|
/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or
|
||||||
it under the terms of the GNU General Public License as published by
|
modify it under the terms of the GNU General Public License
|
||||||
the Free Software Foundation; version 2 of the License.
|
as published by the Free Software Foundation; version 2 of
|
||||||
|
the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
02110-1301 USA */
|
||||||
|
|
||||||
#ifdef USE_PRAGMA_IMPLEMENTATION
|
#ifdef USE_PRAGMA_IMPLEMENTATION
|
||||||
#pragma implementation // gcc: Class implementation
|
#pragma implementation // gcc: Class implementation
|
||||||
@ -923,7 +925,7 @@ int ha_archive::write_row(uchar *buf)
|
|||||||
*/
|
*/
|
||||||
azflush(&(share->archive_write), Z_SYNC_FLUSH);
|
azflush(&(share->archive_write), Z_SYNC_FLUSH);
|
||||||
/*
|
/*
|
||||||
Set the position of the local read thread to the beginning postion.
|
Set the position of the local read thread to the beginning position.
|
||||||
*/
|
*/
|
||||||
if (read_data_header(&archive))
|
if (read_data_header(&archive))
|
||||||
{
|
{
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
/* Copyright (C) 2003 MySQL AB
|
/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or
|
||||||
it under the terms of the GNU General Public License as published by
|
modify it under the terms of the GNU General Public License
|
||||||
the Free Software Foundation; version 2 of the License.
|
as published by the Free Software Foundation; version 2 of
|
||||||
|
the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
02110-1301 USA */
|
||||||
|
|
||||||
#include "lgman.hpp"
|
#include "lgman.hpp"
|
||||||
#include "diskpage.hpp"
|
#include "diskpage.hpp"
|
||||||
@ -2501,7 +2503,7 @@ Lgman::init_run_undo_log(Signal* signal)
|
|||||||
sendSignal(reference(), GSN_CONTINUEB, signal, 2, JBB);
|
sendSignal(reference(), GSN_CONTINUEB, signal, 2, JBB);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert in correct postion in list of logfile_group's
|
* Insert in correct position in list of logfile_group's
|
||||||
*/
|
*/
|
||||||
Ptr<Logfile_group> pos;
|
Ptr<Logfile_group> pos;
|
||||||
for(tmp.first(pos); !pos.isNull(); tmp.next(pos))
|
for(tmp.first(pos); !pos.isNull(); tmp.next(pos))
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or
|
||||||
it under the terms of the GNU General Public License as published by
|
modify it under the terms of the GNU General Public License
|
||||||
the Free Software Foundation; version 2 of the License.
|
as published by the Free Software Foundation; version 2 of
|
||||||
|
the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
02110-1301 USA */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Note that we can't have assertion on file descriptors; The reason for
|
Note that we can't have assertion on file descriptors; The reason for
|
||||||
@ -865,7 +867,7 @@ size_t vio_read_shared_memory(Vio * vio, uchar* buf, size_t size)
|
|||||||
{
|
{
|
||||||
size_t length;
|
size_t length;
|
||||||
size_t remain_local;
|
size_t remain_local;
|
||||||
char *current_postion;
|
char *current_position;
|
||||||
HANDLE events[2];
|
HANDLE events[2];
|
||||||
|
|
||||||
DBUG_ENTER("vio_read_shared_memory");
|
DBUG_ENTER("vio_read_shared_memory");
|
||||||
@ -873,7 +875,7 @@ size_t vio_read_shared_memory(Vio * vio, uchar* buf, size_t size)
|
|||||||
size));
|
size));
|
||||||
|
|
||||||
remain_local = size;
|
remain_local = size;
|
||||||
current_postion=buf;
|
current_position=buf;
|
||||||
|
|
||||||
events[0]= vio->event_server_wrote;
|
events[0]= vio->event_server_wrote;
|
||||||
events[1]= vio->event_conn_closed;
|
events[1]= vio->event_conn_closed;
|
||||||
@ -907,11 +909,11 @@ size_t vio_read_shared_memory(Vio * vio, uchar* buf, size_t size)
|
|||||||
if (length > remain_local)
|
if (length > remain_local)
|
||||||
length = remain_local;
|
length = remain_local;
|
||||||
|
|
||||||
memcpy(current_postion,vio->shared_memory_pos,length);
|
memcpy(current_position,vio->shared_memory_pos,length);
|
||||||
|
|
||||||
vio->shared_memory_remain-=length;
|
vio->shared_memory_remain-=length;
|
||||||
vio->shared_memory_pos+=length;
|
vio->shared_memory_pos+=length;
|
||||||
current_postion+=length;
|
current_position+=length;
|
||||||
remain_local-=length;
|
remain_local-=length;
|
||||||
|
|
||||||
if (!vio->shared_memory_remain)
|
if (!vio->shared_memory_remain)
|
||||||
@ -931,7 +933,7 @@ size_t vio_write_shared_memory(Vio * vio, const uchar* buf, size_t size)
|
|||||||
{
|
{
|
||||||
size_t length, remain, sz;
|
size_t length, remain, sz;
|
||||||
HANDLE pos;
|
HANDLE pos;
|
||||||
const uchar *current_postion;
|
const uchar *current_position;
|
||||||
HANDLE events[2];
|
HANDLE events[2];
|
||||||
|
|
||||||
DBUG_ENTER("vio_write_shared_memory");
|
DBUG_ENTER("vio_write_shared_memory");
|
||||||
@ -939,7 +941,7 @@ size_t vio_write_shared_memory(Vio * vio, const uchar* buf, size_t size)
|
|||||||
size));
|
size));
|
||||||
|
|
||||||
remain = size;
|
remain = size;
|
||||||
current_postion = buf;
|
current_position = buf;
|
||||||
|
|
||||||
events[0]= vio->event_server_read;
|
events[0]= vio->event_server_read;
|
||||||
events[1]= vio->event_conn_closed;
|
events[1]= vio->event_conn_closed;
|
||||||
@ -957,9 +959,9 @@ size_t vio_write_shared_memory(Vio * vio, const uchar* buf, size_t size)
|
|||||||
|
|
||||||
int4store(vio->handle_map,sz);
|
int4store(vio->handle_map,sz);
|
||||||
pos = vio->handle_map + 4;
|
pos = vio->handle_map + 4;
|
||||||
memcpy(pos,current_postion,sz);
|
memcpy(pos,current_position,sz);
|
||||||
remain-=sz;
|
remain-=sz;
|
||||||
current_postion+=sz;
|
current_position+=sz;
|
||||||
if (!SetEvent(vio->event_client_wrote))
|
if (!SetEvent(vio->event_client_wrote))
|
||||||
DBUG_RETURN((size_t) -1);
|
DBUG_RETURN((size_t) -1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user