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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b8c89538
Commit
b8c89538
authored
Jan 20, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into outpost.site:/home/cps/mysql/devel/test-6
parents
a3242691
bd7120f9
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
103 additions
and
34 deletions
+103
-34
config/ac-macros/storage.m4
config/ac-macros/storage.m4
+4
-1
configure.in
configure.in
+2
-2
sql/ha_myisam.cc
sql/ha_myisam.cc
+4
-1
sql/ha_myisam.h
sql/ha_myisam.h
+4
-1
sql/handler.cc
sql/handler.cc
+6
-0
sql/handler.h
sql/handler.h
+9
-1
sql/item.h
sql/item.h
+2
-1
sql/lock.cc
sql/lock.cc
+5
-2
sql/mysql_priv.h
sql/mysql_priv.h
+14
-0
sql/sql_class.cc
sql/sql_class.cc
+19
-0
sql/sql_class.h
sql/sql_class.h
+5
-1
sql/sql_lex.h
sql/sql_lex.h
+6
-0
storage/csv/Makefile.am
storage/csv/Makefile.am
+6
-7
storage/csv/ha_tina.cc
storage/csv/ha_tina.cc
+13
-16
storage/csv/ha_tina.h
storage/csv/ha_tina.h
+4
-1
No files found.
config/ac-macros/storage.m4
View file @
b8c89538
...
@@ -39,7 +39,10 @@ then
...
@@ -39,7 +39,10 @@ then
AC_DEFINE([$5])
AC_DEFINE([$5])
mysql_se_decls="${mysql_se_decls},$6"
mysql_se_decls="${mysql_se_decls},$6"
mysql_se_htons="${mysql_se_htons},&$6"
mysql_se_htons="${mysql_se_htons},&$6"
if test "$8" != "no"
then
mysql_se_objs="$mysql_se_objs $8"
mysql_se_objs="$mysql_se_objs $8"
fi
mysql_se_dirs="$mysql_se_dirs $7"
mysql_se_dirs="$mysql_se_dirs $7"
mysql_se_libs="$mysql_se_libs $9"
mysql_se_libs="$mysql_se_libs $9"
else
else
...
...
configure.in
View file @
b8c89538
...
@@ -2437,8 +2437,8 @@ MYSQL_STORAGE_ENGINE(archive,,,,,,storage/archive,,
...
@@ -2437,8 +2437,8 @@ MYSQL_STORAGE_ENGINE(archive,,,,,,storage/archive,,
\$
(
top_builddir
)
/storage/archive/libarchive.a,
[
\$
(
top_builddir
)
/storage/archive/libarchive.a,
[
AC_CONFIG_FILES
(
storage/archive/Makefile
)
AC_CONFIG_FILES
(
storage/archive/Makefile
)
])
])
MYSQL_STORAGE_ENGINE
(
csv,,,
"yes"
,,tina_hton,storage/csv,
MYSQL_STORAGE_ENGINE
(
csv,,,
"yes"
,,tina_hton,storage/csv,
no,
../storage/csv/ha_tina.o,
,[
\$
(
top_builddir
)
/storage/csv/libcsv.a
,[
AC_CONFIG_FILES
(
storage/csv/Makefile
)
AC_CONFIG_FILES
(
storage/csv/Makefile
)
])
])
MYSQL_STORAGE_ENGINE
(
blackhole
)
MYSQL_STORAGE_ENGINE
(
blackhole
)
...
...
sql/ha_myisam.cc
View file @
b8c89538
...
@@ -296,7 +296,10 @@ err:
...
@@ -296,7 +296,10 @@ err:
#endif
/* HAVE_REPLICATION */
#endif
/* HAVE_REPLICATION */
bool
ha_myisam
::
check_if_locking_is_allowed
(
THD
*
thd
,
TABLE
*
table
,
uint
count
)
bool
ha_myisam
::
check_if_locking_is_allowed
(
uint
sql_command
,
ulong
type
,
TABLE
*
table
,
uint
count
,
bool
called_by_logger_thread
)
{
{
/*
/*
To be able to open and lock for reading system tables like 'mysql.proc',
To be able to open and lock for reading system tables like 'mysql.proc',
...
...
sql/ha_myisam.h
View file @
b8c89538
...
@@ -60,7 +60,10 @@ class ha_myisam: public handler
...
@@ -60,7 +60,10 @@ class ha_myisam: public handler
uint
max_supported_key_part_length
()
const
{
return
MI_MAX_KEY_LENGTH
;
}
uint
max_supported_key_part_length
()
const
{
return
MI_MAX_KEY_LENGTH
;
}
uint
checksum
()
const
;
uint
checksum
()
const
;
virtual
bool
check_if_locking_is_allowed
(
THD
*
thd
,
TABLE
*
table
,
uint
count
);
virtual
bool
check_if_locking_is_allowed
(
uint
sql_command
,
ulong
type
,
TABLE
*
table
,
uint
count
,
bool
called_by_logger_thread
);
int
open
(
const
char
*
name
,
int
mode
,
uint
test_if_locked
);
int
open
(
const
char
*
name
,
int
mode
,
uint
test_if_locked
);
int
close
(
void
);
int
close
(
void
);
int
write_row
(
byte
*
buf
);
int
write_row
(
byte
*
buf
);
...
...
sql/handler.cc
View file @
b8c89538
...
@@ -1425,6 +1425,12 @@ int ha_delete_table(THD *thd, handlerton *table_type, const char *path,
...
@@ -1425,6 +1425,12 @@ int ha_delete_table(THD *thd, handlerton *table_type, const char *path,
** General handler functions
** General handler functions
****************************************************************************/
****************************************************************************/
void
handler
::
ha_statistic_increment
(
ulong
SSV
::*
offset
)
const
{
statistic_increment
(
table
->
in_use
->
status_var
.
*
offset
,
&
LOCK_status
);
}
/*
/*
Open database-handler.
Open database-handler.
...
...
sql/handler.h
View file @
b8c89538
...
@@ -1006,6 +1006,8 @@ typedef struct st_handler_buffer
...
@@ -1006,6 +1006,8 @@ typedef struct st_handler_buffer
byte
*
end_of_used_area
;
/* End of area that was used by handler */
byte
*
end_of_used_area
;
/* End of area that was used by handler */
}
HANDLER_BUFFER
;
}
HANDLER_BUFFER
;
typedef
struct
system_status_var
SSV
;
class
handler
:
public
Sql_alloc
class
handler
:
public
Sql_alloc
{
{
#ifdef WITH_PARTITION_STORAGE_ENGINE
#ifdef WITH_PARTITION_STORAGE_ENGINE
...
@@ -1027,6 +1029,9 @@ class handler :public Sql_alloc
...
@@ -1027,6 +1029,9 @@ class handler :public Sql_alloc
virtual
int
rnd_init
(
bool
scan
)
=
0
;
virtual
int
rnd_init
(
bool
scan
)
=
0
;
virtual
int
rnd_end
()
{
return
0
;
}
virtual
int
rnd_end
()
{
return
0
;
}
void
ha_statistic_increment
(
ulong
SSV
::*
offset
)
const
;
private:
private:
virtual
int
reset
()
{
return
extra
(
HA_EXTRA_RESET
);
}
virtual
int
reset
()
{
return
extra
(
HA_EXTRA_RESET
);
}
public:
public:
...
@@ -1109,7 +1114,10 @@ public:
...
@@ -1109,7 +1114,10 @@ public:
TRUE Locking is allowed
TRUE Locking is allowed
FALSE Locking is not allowed. The error was thrown.
FALSE Locking is not allowed. The error was thrown.
*/
*/
virtual
bool
check_if_locking_is_allowed
(
THD
*
thd
,
TABLE
*
table
,
uint
count
)
virtual
bool
check_if_locking_is_allowed
(
uint
sql_command
,
ulong
type
,
TABLE
*
table
,
uint
count
,
bool
called_by_logger_thread
)
{
{
return
TRUE
;
return
TRUE
;
}
}
...
...
sql/item.h
View file @
b8c89538
...
@@ -1932,7 +1932,7 @@ public:
...
@@ -1932,7 +1932,7 @@ public:
virtual
Item
*
real_item
()
{
return
ref
;
}
virtual
Item
*
real_item
()
{
return
ref
;
}
};
};
#ifdef MYSQL_SERVER
#include "gstream.h"
#include "gstream.h"
#include "spatial.h"
#include "spatial.h"
#include "item_sum.h"
#include "item_sum.h"
...
@@ -1945,6 +1945,7 @@ public:
...
@@ -1945,6 +1945,7 @@ public:
#include "item_uniq.h"
#include "item_uniq.h"
#include "item_subselect.h"
#include "item_subselect.h"
#include "item_xmlfunc.h"
#include "item_xmlfunc.h"
#endif
class
Item_copy_string
:
public
Item
class
Item_copy_string
:
public
Item
{
{
...
...
sql/lock.cc
View file @
b8c89538
...
@@ -617,8 +617,11 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
...
@@ -617,8 +617,11 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
Check if we can lock the table. For some tables we cannot do that
Check if we can lock the table. For some tables we cannot do that
beacause of handler-specific locking issues.
beacause of handler-specific locking issues.
*/
*/
if
(
!
table_ptr
[
i
]
->
file
->
check_if_locking_is_allowed
(
thd
,
table_ptr
[
i
],
if
(
!
table_ptr
[
i
]
->
file
->
count
))
check_if_locking_is_allowed
(
thd
->
lex
->
sql_command
,
thd
->
lex
->
type
,
table_ptr
[
i
],
count
,
(
thd
==
logger
.
get_general_log_thd
())
||
(
thd
==
logger
.
get_slow_log_thd
())))
return
0
;
return
0
;
}
}
...
...
sql/mysql_priv.h
View file @
b8c89538
...
@@ -477,6 +477,11 @@ inline THD *_current_thd(void)
...
@@ -477,6 +477,11 @@ inline THD *_current_thd(void)
}
}
#define current_thd _current_thd()
#define current_thd _current_thd()
/* below functions are required for plugins as THD class is opaque */
my_bool
thd_in_lock_tables
(
const
THD
*
thd
);
my_bool
thd_tablespace_op
(
const
THD
*
thd
);
const
char
*
thd_proc_info
(
THD
*
thd
,
const
char
*
info
);
/*
/*
External variables
External variables
*/
*/
...
@@ -507,7 +512,9 @@ enum enum_var_type
...
@@ -507,7 +512,9 @@ enum enum_var_type
class
sys_var
;
class
sys_var
;
#include "item.h"
#include "item.h"
extern
my_decimal
decimal_zero
;
extern
my_decimal
decimal_zero
;
#ifdef MYSQL_SERVER
typedef
Comp_creator
*
(
*
chooser_compare_func_creator
)(
bool
invert
);
typedef
Comp_creator
*
(
*
chooser_compare_func_creator
)(
bool
invert
);
#endif
/* sql_parse.cc */
/* sql_parse.cc */
void
free_items
(
Item
*
item
);
void
free_items
(
Item
*
item
);
void
cleanup_items
(
Item
*
item
);
void
cleanup_items
(
Item
*
item
);
...
@@ -545,6 +552,7 @@ Item *negate_expression(THD *thd, Item *expr);
...
@@ -545,6 +552,7 @@ Item *negate_expression(THD *thd, Item *expr);
#include "sql_class.h"
#include "sql_class.h"
#include "sql_acl.h"
#include "sql_acl.h"
#include "tztime.h"
#include "tztime.h"
#ifdef MYSQL_SERVER
#include "opt_range.h"
#include "opt_range.h"
#ifdef HAVE_QUERY_CACHE
#ifdef HAVE_QUERY_CACHE
...
@@ -841,6 +849,8 @@ find_field_in_table(THD *thd, TABLE *table, const char *name, uint length,
...
@@ -841,6 +849,8 @@ find_field_in_table(THD *thd, TABLE *table, const char *name, uint length,
Field
*
Field
*
find_field_in_table_sef
(
TABLE
*
table
,
const
char
*
name
);
find_field_in_table_sef
(
TABLE
*
table
,
const
char
*
name
);
#endif
/* MYSQL_SERVER */
#ifdef HAVE_OPENSSL
#ifdef HAVE_OPENSSL
#include <openssl/des.h>
#include <openssl/des.h>
struct
st_des_keyblock
struct
st_des_keyblock
...
@@ -858,6 +868,7 @@ extern pthread_mutex_t LOCK_des_key_file;
...
@@ -858,6 +868,7 @@ extern pthread_mutex_t LOCK_des_key_file;
bool
load_des_key_file
(
const
char
*
file_name
);
bool
load_des_key_file
(
const
char
*
file_name
);
#endif
/* HAVE_OPENSSL */
#endif
/* HAVE_OPENSSL */
#ifdef MYSQL_SERVER
/* sql_do.cc */
/* sql_do.cc */
bool
mysql_do
(
THD
*
thd
,
List
<
Item
>
&
values
);
bool
mysql_do
(
THD
*
thd
,
List
<
Item
>
&
values
);
...
@@ -1169,6 +1180,7 @@ int key_cmp(KEY_PART_INFO *key_part, const byte *key, uint key_length);
...
@@ -1169,6 +1180,7 @@ int key_cmp(KEY_PART_INFO *key_part, const byte *key, uint key_length);
int
key_rec_cmp
(
void
*
key_info
,
byte
*
a
,
byte
*
b
);
int
key_rec_cmp
(
void
*
key_info
,
byte
*
a
,
byte
*
b
);
bool
init_errmessage
(
void
);
bool
init_errmessage
(
void
);
#endif
/* MYSQL_SERVER */
void
sql_perror
(
const
char
*
message
);
void
sql_perror
(
const
char
*
message
);
int
vprint_msg_to_log
(
enum
loglevel
level
,
const
char
*
format
,
va_list
args
);
int
vprint_msg_to_log
(
enum
loglevel
level
,
const
char
*
format
,
va_list
args
);
...
@@ -1191,6 +1203,7 @@ bool general_log_print(THD *thd, enum enum_server_command command,
...
@@ -1191,6 +1203,7 @@ bool general_log_print(THD *thd, enum enum_server_command command,
bool
fn_format_relative_to_data_home
(
my_string
to
,
const
char
*
name
,
bool
fn_format_relative_to_data_home
(
my_string
to
,
const
char
*
name
,
const
char
*
dir
,
const
char
*
extension
);
const
char
*
dir
,
const
char
*
extension
);
#ifdef MYSQL_SERVER
File
open_binlog
(
IO_CACHE
*
log
,
const
char
*
log_file_name
,
File
open_binlog
(
IO_CACHE
*
log
,
const
char
*
log_file_name
,
const
char
**
errmsg
);
const
char
**
errmsg
);
...
@@ -1739,4 +1752,5 @@ inline void kill_delayed_threads(void) {}
...
@@ -1739,4 +1752,5 @@ inline void kill_delayed_threads(void) {}
#define check_stack_overrun(A, B, C) 0
#define check_stack_overrun(A, B, C) 0
#endif
#endif
#endif
/* MYSQL_SERVER */
#endif
/* MYSQL_CLIENT */
#endif
/* MYSQL_CLIENT */
sql/sql_class.cc
View file @
b8c89538
...
@@ -167,6 +167,25 @@ Open_tables_state::Open_tables_state(ulong version_arg)
...
@@ -167,6 +167,25 @@ Open_tables_state::Open_tables_state(ulong version_arg)
reset_open_tables_state
();
reset_open_tables_state
();
}
}
my_bool
thd_in_lock_tables
(
const
THD
*
thd
)
{
return
thd
->
in_lock_tables
;
}
my_bool
thd_tablespace_op
(
const
THD
*
thd
)
{
return
thd
->
tablespace_op
;
}
const
char
*
thd_proc_info
(
THD
*
thd
,
const
char
*
info
)
{
const
char
*
old_info
=
thd
->
proc_info
;
thd
->
proc_info
=
info
;
return
old_info
;
}
/*
/*
Pass nominal parameters to Statement constructor only to ensure that
Pass nominal parameters to Statement constructor only to ensure that
...
...
sql/sql_class.h
View file @
b8c89538
...
@@ -171,6 +171,7 @@ public:
...
@@ -171,6 +171,7 @@ public:
class
delayed_insert
;
class
delayed_insert
;
class
select_result
;
class
select_result
;
class
Time_zone
;
#define THD_SENTRY_MAGIC 0xfeedd1ff
#define THD_SENTRY_MAGIC 0xfeedd1ff
#define THD_SENTRY_GONE 0xdeadbeef
#define THD_SENTRY_GONE 0xdeadbeef
...
@@ -344,6 +345,8 @@ typedef struct system_status_var
...
@@ -344,6 +345,8 @@ typedef struct system_status_var
#define last_system_status_var com_stmt_close
#define last_system_status_var com_stmt_close
#ifdef MYSQL_SERVER
void
free_tmp_table
(
THD
*
thd
,
TABLE
*
entry
);
void
free_tmp_table
(
THD
*
thd
,
TABLE
*
entry
);
...
@@ -354,7 +357,6 @@ void free_tmp_table(THD *thd, TABLE *entry);
...
@@ -354,7 +357,6 @@ void free_tmp_table(THD *thd, TABLE *entry);
#define INIT_ARENA_DBUG_INFO
#define INIT_ARENA_DBUG_INFO
#endif
#endif
class
Query_arena
class
Query_arena
{
{
public:
public:
...
@@ -1905,3 +1907,5 @@ public:
...
@@ -1905,3 +1907,5 @@ public:
/* Functions in sql_class.cc */
/* Functions in sql_class.cc */
void
add_to_status
(
STATUS_VAR
*
to_var
,
STATUS_VAR
*
from_var
);
void
add_to_status
(
STATUS_VAR
*
to_var
,
STATUS_VAR
*
from_var
);
#endif
/* MYSQL_SERVER */
sql/sql_lex.h
View file @
b8c89538
...
@@ -29,6 +29,7 @@ class st_alter_tablespace;
...
@@ -29,6 +29,7 @@ class st_alter_tablespace;
class
partition_info
;
class
partition_info
;
class
event_timed
;
class
event_timed
;
#ifdef MYSQL_SERVER
/*
/*
The following hack is needed because mysql_yacc.cc does not define
The following hack is needed because mysql_yacc.cc does not define
YYSTYPE before including this file
YYSTYPE before including this file
...
@@ -43,6 +44,7 @@ class event_timed;
...
@@ -43,6 +44,7 @@ class event_timed;
#include "sql_yacc.h"
#include "sql_yacc.h"
#define LEX_YYSTYPE YYSTYPE *
#define LEX_YYSTYPE YYSTYPE *
#endif
#endif
#endif
/*
/*
When a command is added here, be sure it's also added in mysqld.cc
When a command is added here, be sure it's also added in mysqld.cc
...
@@ -115,6 +117,8 @@ enum enum_sql_command {
...
@@ -115,6 +117,8 @@ enum enum_sql_command {
*/
*/
#define DESCRIBE_PARTITIONS 4
#define DESCRIBE_PARTITIONS 4
#ifdef MYSQL_SERVER
enum
enum_sp_suid_behaviour
enum
enum_sp_suid_behaviour
{
{
SP_IS_DEFAULT_SUID
=
0
,
SP_IS_DEFAULT_SUID
=
0
,
...
@@ -1109,3 +1113,5 @@ extern int yylex(void *arg, void *yythd);
...
@@ -1109,3 +1113,5 @@ extern int yylex(void *arg, void *yythd);
extern
pthread_key
(
LEX
*
,
THR_LEX
);
extern
pthread_key
(
LEX
*
,
THR_LEX
);
#define current_lex (current_thd->lex)
#define current_lex (current_thd->lex)
#endif
storage/csv/Makefile.am
View file @
b8c89538
...
@@ -24,17 +24,16 @@ INCLUDES = -I$(top_srcdir)/include \
...
@@ -24,17 +24,16 @@ INCLUDES = -I$(top_srcdir)/include \
-I
$(top_srcdir)
/regex
\
-I
$(top_srcdir)
/regex
\
-I
$(top_srcdir)
/sql
\
-I
$(top_srcdir)
/sql
\
-I
$(srcdir)
-I
$(srcdir)
WRAPLIBS
=
pkglib_LTLIBRARIES
=
ha_csv.la
pkglib_LIBRARIES
=
libcsv.a
ha_csv_la_LDFLAGS
=
-module
noinst_HEADERS
=
ha_tina.h
ha_csv_la_SOURCES
=
ha_tina.cc
LDADD
=
LDADD
=
DEFS
=
-DMYSQL_SERVER
@DEFS@
DEFS
=
@DEFS@
libcsv_a_CXXFLAGS
=
$(AM_CFLAGS)
noinst_HEADERS
=
ha_tina.h
libcsv_a_SOURCES
=
ha_tina.cc
# Don't update the files from bitkeeper
# Don't update the files from bitkeeper
%
::
SCCS/s.%
%
::
SCCS/s.%
storage/csv/ha_tina.cc
View file @
b8c89538
...
@@ -590,7 +590,10 @@ void ha_tina::update_status()
...
@@ -590,7 +590,10 @@ void ha_tina::update_status()
}
}
bool
ha_tina
::
check_if_locking_is_allowed
(
THD
*
thd
,
TABLE
*
table
,
uint
count
)
bool
ha_tina
::
check_if_locking_is_allowed
(
uint
sql_command
,
ulong
type
,
TABLE
*
table
,
uint
count
,
bool
called_by_logger_thread
)
{
{
/*
/*
Deny locking of the log tables, which is incompatible with
Deny locking of the log tables, which is incompatible with
...
@@ -598,11 +601,10 @@ bool ha_tina::check_if_locking_is_allowed(THD *thd, TABLE *table, uint count)
...
@@ -598,11 +601,10 @@ bool ha_tina::check_if_locking_is_allowed(THD *thd, TABLE *table, uint count)
general_log_thd or slow_log_thd.
general_log_thd or slow_log_thd.
*/
*/
if
(
table
->
s
->
log_table
&&
if
(
table
->
s
->
log_table
&&
thd
->
lex
->
sql_command
!=
SQLCOM_TRUNCATE
&&
sql_command
!=
SQLCOM_TRUNCATE
&&
!
(
thd
->
lex
->
sql_command
==
SQLCOM_FLUSH
&&
!
(
sql_command
==
SQLCOM_FLUSH
&&
thd
->
lex
->
type
&
REFRESH_LOG
)
&&
type
&
REFRESH_LOG
)
&&
(
thd
!=
logger
.
get_general_log_thd
())
&&
!
called_by_logger_thread
&&
(
thd
!=
logger
.
get_slow_log_thd
())
&&
(
table
->
reginfo
.
lock_type
>=
TL_READ_NO_INSERT
))
(
table
->
reginfo
.
lock_type
>=
TL_READ_NO_INSERT
))
{
{
/*
/*
...
@@ -665,7 +667,7 @@ int ha_tina::write_row(byte * buf)
...
@@ -665,7 +667,7 @@ int ha_tina::write_row(byte * buf)
int
size
;
int
size
;
DBUG_ENTER
(
"ha_tina::write_row"
);
DBUG_ENTER
(
"ha_tina::write_row"
);
statistic_increment
(
table
->
in_use
->
status_var
.
ha_write_count
,
&
LOCK_status
);
ha_statistic_increment
(
&
SSV
::
ha_write_count
);
if
(
table
->
timestamp_field_type
&
TIMESTAMP_AUTO_SET_ON_INSERT
)
if
(
table
->
timestamp_field_type
&
TIMESTAMP_AUTO_SET_ON_INSERT
)
table
->
timestamp_field
->
set_time
();
table
->
timestamp_field
->
set_time
();
...
@@ -714,9 +716,7 @@ int ha_tina::update_row(const byte * old_data, byte * new_data)
...
@@ -714,9 +716,7 @@ int ha_tina::update_row(const byte * old_data, byte * new_data)
int
size
;
int
size
;
DBUG_ENTER
(
"ha_tina::update_row"
);
DBUG_ENTER
(
"ha_tina::update_row"
);
ha_statistic_increment
(
&
SSV
::
ha_read_rnd_next_count
);
statistic_increment
(
table
->
in_use
->
status_var
.
ha_read_rnd_next_count
,
&
LOCK_status
);
if
(
table
->
timestamp_field_type
&
TIMESTAMP_AUTO_SET_ON_UPDATE
)
if
(
table
->
timestamp_field_type
&
TIMESTAMP_AUTO_SET_ON_UPDATE
)
table
->
timestamp_field
->
set_time
();
table
->
timestamp_field
->
set_time
();
...
@@ -751,8 +751,7 @@ int ha_tina::update_row(const byte * old_data, byte * new_data)
...
@@ -751,8 +751,7 @@ int ha_tina::update_row(const byte * old_data, byte * new_data)
int
ha_tina
::
delete_row
(
const
byte
*
buf
)
int
ha_tina
::
delete_row
(
const
byte
*
buf
)
{
{
DBUG_ENTER
(
"ha_tina::delete_row"
);
DBUG_ENTER
(
"ha_tina::delete_row"
);
statistic_increment
(
table
->
in_use
->
status_var
.
ha_delete_count
,
ha_statistic_increment
(
&
SSV
::
ha_delete_count
);
&
LOCK_status
);
if
(
chain_append
())
if
(
chain_append
())
DBUG_RETURN
(
-
1
);
DBUG_RETURN
(
-
1
);
...
@@ -903,8 +902,7 @@ int ha_tina::rnd_next(byte *buf)
...
@@ -903,8 +902,7 @@ int ha_tina::rnd_next(byte *buf)
{
{
DBUG_ENTER
(
"ha_tina::rnd_next"
);
DBUG_ENTER
(
"ha_tina::rnd_next"
);
statistic_increment
(
table
->
in_use
->
status_var
.
ha_read_rnd_next_count
,
ha_statistic_increment
(
&
SSV
::
ha_read_rnd_next_count
);
&
LOCK_status
);
current_position
=
next_position
;
current_position
=
next_position
;
if
(
!
share
->
mapped_file
)
if
(
!
share
->
mapped_file
)
...
@@ -941,8 +939,7 @@ void ha_tina::position(const byte *record)
...
@@ -941,8 +939,7 @@ void ha_tina::position(const byte *record)
int
ha_tina
::
rnd_pos
(
byte
*
buf
,
byte
*
pos
)
int
ha_tina
::
rnd_pos
(
byte
*
buf
,
byte
*
pos
)
{
{
DBUG_ENTER
(
"ha_tina::rnd_pos"
);
DBUG_ENTER
(
"ha_tina::rnd_pos"
);
statistic_increment
(
table
->
in_use
->
status_var
.
ha_read_rnd_next_count
,
ha_statistic_increment
(
&
SSV
::
ha_read_rnd_next_count
);
&
LOCK_status
);
current_position
=
my_get_ptr
(
pos
,
ref_length
);
current_position
=
my_get_ptr
(
pos
,
ref_length
);
DBUG_RETURN
(
find_current_row
(
buf
));
DBUG_RETURN
(
find_current_row
(
buf
));
}
}
...
...
storage/csv/ha_tina.h
View file @
b8c89538
...
@@ -104,7 +104,10 @@ public:
...
@@ -104,7 +104,10 @@ public:
*/
*/
ha_rows
estimate_rows_upper_bound
()
{
return
HA_POS_ERROR
;
}
ha_rows
estimate_rows_upper_bound
()
{
return
HA_POS_ERROR
;
}
virtual
bool
check_if_locking_is_allowed
(
THD
*
thd
,
TABLE
*
table
,
uint
count
);
virtual
bool
check_if_locking_is_allowed
(
uint
sql_command
,
ulong
type
,
TABLE
*
table
,
uint
count
,
bool
called_by_logger_thread
);
int
open
(
const
char
*
name
,
int
mode
,
uint
test_if_locked
);
int
open
(
const
char
*
name
,
int
mode
,
uint
test_if_locked
);
int
close
(
void
);
int
close
(
void
);
int
write_row
(
byte
*
buf
);
int
write_row
(
byte
*
buf
);
...
...
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