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
3a2c3044
Commit
3a2c3044
authored
Dec 07, 2009
by
Alexander Nozdrin
Browse files
Options
Browse Files
Download
Plain Diff
Auto-merge from mysql-next-mr.
parents
f26c7bcd
662088d1
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
3857 additions
and
23 deletions
+3857
-23
Makefile.am
Makefile.am
+5
-4
include/Makefile.am
include/Makefile.am
+7
-3
include/my_global.h
include/my_global.h
+11
-1
include/my_no_pthread.h
include/my_no_pthread.h
+12
-1
include/my_pthread.h
include/my_pthread.h
+8
-4
include/my_sys.h
include/my_sys.h
+11
-1
include/mysql/psi/mysql_file.h
include/mysql/psi/mysql_file.h
+1398
-0
include/mysql/psi/mysql_thread.h
include/mysql/psi/mysql_thread.h
+884
-0
include/mysql/psi/psi.h
include/mysql/psi/psi.h
+1086
-0
include/mysql/psi/psi_abi_v1.h
include/mysql/psi/psi_abi_v1.h
+26
-0
include/mysql/psi/psi_abi_v1.h.pp
include/mysql/psi/psi_abi_v1.h.pp
+242
-0
include/mysql/psi/psi_abi_v2.h
include/mysql/psi/psi_abi_v2.h
+26
-0
include/mysql/psi/psi_abi_v2.h.pp
include/mysql/psi/psi_abi_v2.h.pp
+92
-0
libmysql/Makefile.am
libmysql/Makefile.am
+4
-2
libmysql/Makefile.shared
libmysql/Makefile.shared
+3
-2
mysys/my_static.c
mysys/my_static.c
+28
-0
mysys/my_winthread.c
mysys/my_winthread.c
+3
-3
strings/Makefile.am
strings/Makefile.am
+11
-2
No files found.
Makefile.am
View file @
3a2c3044
...
@@ -269,11 +269,12 @@ test-full-qa:
...
@@ -269,11 +269,12 @@ test-full-qa:
#
#
API_PREPROCESSOR_HEADER
=
$(top_srcdir)
/include/mysql/plugin.h
\
API_PREPROCESSOR_HEADER
=
$(top_srcdir)
/include/mysql/plugin.h
\
$(top_srcdir)
/include/mysql.h
$(top_srcdir)
/include/mysql.h
\
$(top_srcdir)
/include/mysql/psi/psi_abi_v1.h
\
$(top_srcdir)
/include/mysql/psi/psi_abi_v2.h
TEST_PREPROCESSOR_HEADER
=
$(top_srcdir)
/include/mysql/plugin.h
\
TEST_PREPROCESSOR_HEADER
=
$(API_PREPROCESSOR_HEADER)
\
$(top_srcdir)
/sql/mysql_priv.h
\
$(top_srcdir)
/sql/mysql_priv.h
$(top_srcdir)
/include/mysql.h
#
#
# Rules for checking that the abi/api has not changed.
# Rules for checking that the abi/api has not changed.
...
...
include/Makefile.am
View file @
3a2c3044
# Copyright (C) 2000-2006 MySQL AB
# Copyright (C) 2000-2006 MySQL AB
, 2009 Sun Microsystems, Inc
#
#
# This library is free software; you can redistribute it and/or
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# modify it under the terms of the GNU Library General Public
...
@@ -24,6 +24,8 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \
...
@@ -24,6 +24,8 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \
my_xml.h mysql_embed.h mysql/services.h
\
my_xml.h mysql_embed.h mysql/services.h
\
mysql/service_my_snprintf.h mysql/service_thd_alloc.h
\
mysql/service_my_snprintf.h mysql/service_thd_alloc.h
\
my_pthread.h my_no_pthread.h
\
my_pthread.h my_no_pthread.h
\
mysql/psi/psi.h mysql/psi/mysql_thread.h
\
mysql/psi/mysql_file.h
\
decimal.h errmsg.h my_global.h my_net.h
\
decimal.h errmsg.h my_global.h my_net.h
\
my_getopt.h sslopt-longopts.h my_dir.h
\
my_getopt.h sslopt-longopts.h my_dir.h
\
sslopt-vars.h sslopt-case.h sql_common.h keycache.h
\
sslopt-vars.h sslopt-case.h sql_common.h keycache.h
\
...
@@ -38,13 +40,15 @@ noinst_HEADERS = config-win.h config-netware.h lf.h my_bit.h \
...
@@ -38,13 +40,15 @@ noinst_HEADERS = config-win.h config-netware.h lf.h my_bit.h \
my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h
\
my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h
\
thr_lock.h t_ctype.h violite.h my_md5.h base64.h
\
thr_lock.h t_ctype.h violite.h my_md5.h base64.h
\
my_handler.h my_time.h service_versions.h
\
my_handler.h my_time.h service_versions.h
\
my_rdtsc.h
\
my_rdtsc.h
mysql/psi/psi_abi_v1.h mysql/psi/psi_abi_v2.h
\
my_vle.h my_user.h my_atomic.h atomic/nolock.h
\
my_vle.h my_user.h my_atomic.h atomic/nolock.h
\
atomic/rwlock.h atomic/x86-gcc.h atomic/generic-msvc.h
\
atomic/rwlock.h atomic/x86-gcc.h atomic/generic-msvc.h
\
atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h
\
atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h
\
atomic/solaris.h
atomic/solaris.h
EXTRA_DIST
=
mysql.h.pp mysql/plugin.h.pp probes_mysql.d.base
EXTRA_DIST
=
mysql.h.pp mysql/plugin.h.pp probes_mysql.d.base
\
mysql/psi/psi_abi_v1.h.pp
\
mysql/psi/psi_abi_v2.h.pp
# Remove built files and the symlinked directories
# Remove built files and the symlinked directories
CLEANFILES
=
$(BUILT_SOURCES)
readline openssl probes_mysql.d probes_mysql_nodtrace.h
CLEANFILES
=
$(BUILT_SOURCES)
readline openssl probes_mysql.d probes_mysql_nodtrace.h
...
...
include/my_global.h
View file @
3a2c3044
/* Copyright (C) 2000-2003 MySQL AB
/* Copyright (C) 2000-2003 MySQL AB
, 2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
...
@@ -83,6 +83,16 @@
...
@@ -83,6 +83,16 @@
#endif
#endif
#endif
/* _WIN32... */
#endif
/* _WIN32... */
#ifdef EMBEDDED_LIBRARY
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
#undef WITH_PERFSCHEMA_STORAGE_ENGINE
#endif
#endif
/* EMBEDDED_LIBRARY */
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
#define HAVE_PSI_INTERFACE
#endif
/* WITH_PERFSCHEMA_STORAGE_ENGINE */
/* Make it easier to add conditionl code for windows */
/* Make it easier to add conditionl code for windows */
#ifdef __WIN__
#ifdef __WIN__
#define IF_WIN(A,B) (A)
#define IF_WIN(A,B) (A)
...
...
include/my_no_pthread.h
View file @
3a2c3044
#ifndef MY_NO_PTHREAD_INCLUDED
#ifndef MY_NO_PTHREAD_INCLUDED
#define MY_NO_PTHREAD_INCLUDED
#define MY_NO_PTHREAD_INCLUDED
/* Copyright (C) 2000 MySQL AB
/* Copyright (C) 2000 MySQL AB
, 2008-2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
...
@@ -48,5 +48,16 @@
...
@@ -48,5 +48,16 @@
#define rw_unlock(A)
#define rw_unlock(A)
#define rwlock_destroy(A)
#define rwlock_destroy(A)
#define mysql_mutex_init(A, B, C) do {} while (0)
#define mysql_mutex_lock(A) do {} while (0)
#define mysql_mutex_unlock(A) do {} while (0)
#define mysql_mutex_destroy(A) do {} while (0)
#define mysql_rwlock_init(A, B, C) do {} while (0)
#define mysql_rwlock_rdlock(A) do {} while (0)
#define mysql_rwlock_wrlock(A) do {} while (0)
#define mysql_rwlock_unlock(A) do {} while (0)
#define mysql_rwlock_destroy(A) do {} while (0)
#endif
#endif
#endif
/* MY_NO_PTHREAD_INCLUDED */
#endif
/* MY_NO_PTHREAD_INCLUDED */
include/my_pthread.h
View file @
3a2c3044
/* Copyright (C) 2000
MySQL AB
/* Copyright (C) 2000
-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
...
@@ -99,7 +99,7 @@ struct timespec {
...
@@ -99,7 +99,7 @@ struct timespec {
int
win_pthread_mutex_trylock
(
pthread_mutex_t
*
mutex
);
int
win_pthread_mutex_trylock
(
pthread_mutex_t
*
mutex
);
int
pthread_create
(
pthread_t
*
,
pthread_attr_t
*
,
pthread_handler
,
void
*
);
int
pthread_create
(
pthread_t
*
,
const
pthread_attr_t
*
,
pthread_handler
,
void
*
);
int
pthread_cond_init
(
pthread_cond_t
*
cond
,
const
pthread_condattr_t
*
attr
);
int
pthread_cond_init
(
pthread_cond_t
*
cond
,
const
pthread_condattr_t
*
attr
);
int
pthread_cond_wait
(
pthread_cond_t
*
cond
,
pthread_mutex_t
*
mutex
);
int
pthread_cond_wait
(
pthread_cond_t
*
cond
,
pthread_mutex_t
*
mutex
);
int
pthread_cond_timedwait
(
pthread_cond_t
*
cond
,
pthread_mutex_t
*
mutex
,
int
pthread_cond_timedwait
(
pthread_cond_t
*
cond
,
pthread_mutex_t
*
mutex
,
...
@@ -137,8 +137,8 @@ int pthread_join(pthread_t thread, void **value_ptr);
...
@@ -137,8 +137,8 @@ int pthread_join(pthread_t thread, void **value_ptr);
#define pthread_mutex_init(A,B) (InitializeCriticalSection(A),0)
#define pthread_mutex_init(A,B) (InitializeCriticalSection(A),0)
#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
#define pthread_mutex_trylock(A) win_pthread_mutex_trylock((A))
#define pthread_mutex_trylock(A) win_pthread_mutex_trylock((A))
#define pthread_mutex_unlock(A)
LeaveCriticalSection(A
)
#define pthread_mutex_unlock(A)
(LeaveCriticalSection(A), 0
)
#define pthread_mutex_destroy(A)
DeleteCriticalSection(A
)
#define pthread_mutex_destroy(A)
(DeleteCriticalSection(A), 0
)
#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
...
@@ -630,6 +630,10 @@ extern int pthread_dummy(int);
...
@@ -630,6 +630,10 @@ extern int pthread_dummy(int);
#endif
#endif
#endif
#endif
#include <mysql/psi/mysql_thread.h>
#define INSTRUMENT_ME 0
struct
st_my_thread_var
struct
st_my_thread_var
{
{
int
thr_errno
;
int
thr_errno
;
...
...
include/my_sys.h
View file @
3a2c3044
/* Copyright (C) 2000-2003 MySQL AB
/* Copyright (C) 2000-2003 MySQL AB
, 2008-2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
...
@@ -1018,5 +1018,15 @@ void netware_reg_user(const char *ip, const char *user,
...
@@ -1018,5 +1018,15 @@ void netware_reg_user(const char *ip, const char *user,
const
char
*
application
);
const
char
*
application
);
#endif
#endif
#include <mysql/psi/psi.h>
#ifdef HAVE_PSI_INTERFACE
extern
MYSQL_PLUGIN_IMPORT
struct
PSI_bootstrap
*
PSI_hook
;
void
my_init_mysys_psi_keys
(
void
);
#endif
struct
st_mysql_file
;
extern
struct
st_mysql_file
*
mysql_stdin
;
C_MODE_END
C_MODE_END
#endif
/* _my_sys_h */
#endif
/* _my_sys_h */
include/mysql/psi/mysql_file.h
0 → 100644
View file @
3a2c3044
This diff is collapsed.
Click to expand it.
include/mysql/psi/mysql_thread.h
0 → 100644
View file @
3a2c3044
This diff is collapsed.
Click to expand it.
include/mysql/psi/psi.h
0 → 100644
View file @
3a2c3044
This diff is collapsed.
Click to expand it.
include/mysql/psi/psi_abi_v1.h
0 → 100644
View file @
3a2c3044
/* Copyright (C) 2008-2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public 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,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/**
@file mysql/psi/psi_abi_v1.h
ABI check for mysql/psi/psi.h, when using PSI_VERSION_1.
This file is only used to automate detection of changes between versions.
Do not include this file, include mysql/psi/psi.h instead.
*/
#define USE_PSI_1
#define HAVE_PSI_INTERFACE
#define _global_h
#include "mysql/psi/psi.h"
include/mysql/psi/psi_abi_v1.h.pp
0 → 100644
View file @
3a2c3044
#include "mysql/psi/psi.h"
C_MODE_START
struct
PSI_mutex
;
struct
PSI_rwlock
;
struct
PSI_cond
;
struct
PSI_table_share
;
struct
PSI_table
;
struct
PSI_thread
;
struct
PSI_file
;
struct
PSI_bootstrap
{
void
*
(
*
get_interface
)(
int
version
);
};
struct
PSI_mutex_locker
;
struct
PSI_rwlock_locker
;
struct
PSI_cond_locker
;
struct
PSI_file_locker
;
enum
PSI_mutex_operation
{
PSI_MUTEX_LOCK
=
0
,
PSI_MUTEX_TRYLOCK
=
1
};
enum
PSI_rwlock_operation
{
PSI_RWLOCK_READLOCK
=
0
,
PSI_RWLOCK_WRITELOCK
=
1
,
PSI_RWLOCK_TRYREADLOCK
=
2
,
PSI_RWLOCK_TRYWRITELOCK
=
3
};
enum
PSI_cond_operation
{
PSI_COND_WAIT
=
0
,
PSI_COND_TIMEDWAIT
=
1
};
enum
PSI_file_operation
{
PSI_FILE_CREATE
=
0
,
PSI_FILE_CREATE_TMP
=
1
,
PSI_FILE_OPEN
=
2
,
PSI_FILE_STREAM_OPEN
=
3
,
PSI_FILE_CLOSE
=
4
,
PSI_FILE_STREAM_CLOSE
=
5
,
PSI_FILE_READ
=
6
,
PSI_FILE_WRITE
=
7
,
PSI_FILE_SEEK
=
8
,
PSI_FILE_TELL
=
9
,
PSI_FILE_FLUSH
=
10
,
PSI_FILE_STAT
=
11
,
PSI_FILE_FSTAT
=
12
,
PSI_FILE_CHSIZE
=
13
,
PSI_FILE_DELETE
=
14
,
PSI_FILE_RENAME
=
15
,
PSI_FILE_SYNC
=
16
};
struct
PSI_table_locker
;
typedef
unsigned
int
PSI_mutex_key
;
typedef
unsigned
int
PSI_rwlock_key
;
typedef
unsigned
int
PSI_cond_key
;
typedef
unsigned
int
PSI_thread_key
;
typedef
unsigned
int
PSI_file_key
;
struct
PSI_mutex_info_v1
{
PSI_mutex_key
*
m_key
;
const
char
*
m_name
;
int
m_flags
;
};
struct
PSI_rwlock_info_v1
{
PSI_rwlock_key
*
m_key
;
const
char
*
m_name
;
int
m_flags
;
};
struct
PSI_cond_info_v1
{
PSI_cond_key
*
m_key
;
const
char
*
m_name
;
int
m_flags
;
};
struct
PSI_thread_info_v1
{
PSI_thread_key
*
m_key
;
const
char
*
m_name
;
int
m_flags
;
};
struct
PSI_file_info_v1
{
PSI_file_key
*
m_key
;
const
char
*
m_name
;
int
m_flags
;
};
typedef
void
(
*
register_mutex_v1_t
)
(
const
char
*
category
,
struct
PSI_mutex_info_v1
*
info
,
int
count
);
typedef
void
(
*
register_rwlock_v1_t
)
(
const
char
*
category
,
struct
PSI_rwlock_info_v1
*
info
,
int
count
);
typedef
void
(
*
register_cond_v1_t
)
(
const
char
*
category
,
struct
PSI_cond_info_v1
*
info
,
int
count
);
typedef
void
(
*
register_thread_v1_t
)
(
const
char
*
category
,
struct
PSI_thread_info_v1
*
info
,
int
count
);
typedef
void
(
*
register_file_v1_t
)
(
const
char
*
category
,
struct
PSI_file_info_v1
*
info
,
int
count
);
typedef
struct
PSI_mutex
*
(
*
init_mutex_v1_t
)
(
PSI_mutex_key
key
,
const
void
*
identity
);
typedef
void
(
*
destroy_mutex_v1_t
)(
struct
PSI_mutex
*
mutex
);
typedef
struct
PSI_rwlock
*
(
*
init_rwlock_v1_t
)
(
PSI_rwlock_key
key
,
const
void
*
identity
);
typedef
void
(
*
destroy_rwlock_v1_t
)(
struct
PSI_rwlock
*
rwlock
);
typedef
struct
PSI_cond
*
(
*
init_cond_v1_t
)
(
PSI_cond_key
key
,
const
void
*
identity
);
typedef
void
(
*
destroy_cond_v1_t
)(
struct
PSI_cond
*
cond
);
typedef
struct
PSI_table_share
*
(
*
get_table_share_v1_t
)
(
const
char
*
schema_name
,
int
schema_name_length
,
const
char
*
table_name
,
int
table_name_length
,
const
void
*
identity
);
typedef
void
(
*
release_table_share_v1_t
)(
struct
PSI_table_share
*
share
);
typedef
struct
PSI_table
*
(
*
open_table_v1_t
)
(
struct
PSI_table_share
*
share
,
const
void
*
identity
);
typedef
void
(
*
close_table_v1_t
)(
struct
PSI_table
*
table
);
typedef
void
(
*
create_file_v1_t
)(
PSI_file_key
key
,
const
char
*
name
,
File
file
);
typedef
int
(
*
spawn_thread_v1_t
)(
PSI_thread_key
key
,
pthread_t
*
thread
,
const
pthread_attr_t
*
attr
,
void
*
(
*
start_routine
)(
void
*
),
void
*
arg
);
typedef
struct
PSI_thread
*
(
*
new_thread_v1_t
)
(
PSI_thread_key
key
,
const
void
*
identity
,
ulong
thread_id
);
typedef
void
(
*
set_thread_id_v1_t
)(
struct
PSI_thread
*
thread
,
unsigned
long
id
);
typedef
struct
PSI_thread
*
(
*
get_thread_v1_t
)(
void
);
typedef
void
(
*
set_thread_v1_t
)(
struct
PSI_thread
*
thread
);
typedef
void
(
*
delete_current_thread_v1_t
)(
void
);
typedef
struct
PSI_mutex_locker
*
(
*
get_thread_mutex_locker_v1_t
)
(
struct
PSI_mutex
*
mutex
,
enum
PSI_mutex_operation
op
);
typedef
struct
PSI_rwlock_locker
*
(
*
get_thread_rwlock_locker_v1_t
)
(
struct
PSI_rwlock
*
rwlock
,
enum
PSI_rwlock_operation
op
);
typedef
struct
PSI_cond_locker
*
(
*
get_thread_cond_locker_v1_t
)
(
struct
PSI_cond
*
cond
,
struct
PSI_mutex
*
mutex
,
enum
PSI_cond_operation
op
);
typedef
struct
PSI_table_locker
*
(
*
get_thread_table_locker_v1_t
)
(
struct
PSI_table
*
table
);
typedef
struct
PSI_file_locker
*
(
*
get_thread_file_name_locker_v1_t
)
(
PSI_file_key
key
,
enum
PSI_file_operation
op
,
const
char
*
name
,
const
void
*
identity
);
typedef
struct
PSI_file_locker
*
(
*
get_thread_file_stream_locker_v1_t
)
(
struct
PSI_file
*
file
,
enum
PSI_file_operation
op
);
typedef
struct
PSI_file_locker
*
(
*
get_thread_file_descriptor_locker_v1_t
)
(
File
file
,
enum
PSI_file_operation
op
);
typedef
void
(
*
unlock_mutex_v1_t
)
(
struct
PSI_thread
*
thread
,
struct
PSI_mutex
*
mutex
);
typedef
void
(
*
unlock_rwlock_v1_t
)
(
struct
PSI_thread
*
thread
,
struct
PSI_rwlock
*
rwlock
);
typedef
void
(
*
signal_cond_v1_t
)
(
struct
PSI_thread
*
thread
,
struct
PSI_cond
*
cond
);
typedef
void
(
*
broadcast_cond_v1_t
)
(
struct
PSI_thread
*
thread
,
struct
PSI_cond
*
cond
);
typedef
void
(
*
start_mutex_wait_v1_t
)
(
struct
PSI_mutex_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_mutex_wait_v1_t
)
(
struct
PSI_mutex_locker
*
locker
,
int
rc
);
typedef
void
(
*
start_rwlock_rdwait_v1_t
)
(
struct
PSI_rwlock_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_rwlock_rdwait_v1_t
)
(
struct
PSI_rwlock_locker
*
locker
,
int
rc
);
typedef
void
(
*
start_rwlock_wrwait_v1_t
)
(
struct
PSI_rwlock_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_rwlock_wrwait_v1_t
)
(
struct
PSI_rwlock_locker
*
locker
,
int
rc
);
typedef
void
(
*
start_cond_wait_v1_t
)
(
struct
PSI_cond_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_cond_wait_v1_t
)
(
struct
PSI_cond_locker
*
locker
,
int
rc
);
typedef
void
(
*
start_table_wait_v1_t
)
(
struct
PSI_table_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_table_wait_v1_t
)(
struct
PSI_table_locker
*
locker
);
typedef
struct
PSI_file
*
(
*
start_file_open_wait_v1_t
)
(
struct
PSI_file_locker
*
locker
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_file_open_wait_v1_t
)(
struct
PSI_file_locker
*
locker
);
typedef
void
(
*
end_file_open_wait_and_bind_to_descriptor_v1_t
)
(
struct
PSI_file_locker
*
locker
,
File
file
);
typedef
void
(
*
start_file_wait_v1_t
)
(
struct
PSI_file_locker
*
locker
,
size_t
count
,
const
char
*
src_file
,
uint
src_line
);
typedef
void
(
*
end_file_wait_v1_t
)
(
struct
PSI_file_locker
*
locker
,
size_t
count
);
struct
PSI_v1
{
register_mutex_v1_t
register_mutex
;
register_rwlock_v1_t
register_rwlock
;
register_cond_v1_t
register_cond
;
register_thread_v1_t
register_thread
;
register_file_v1_t
register_file
;
init_mutex_v1_t
init_mutex
;
destroy_mutex_v1_t
destroy_mutex
;
init_rwlock_v1_t
init_rwlock
;
destroy_rwlock_v1_t
destroy_rwlock
;
init_cond_v1_t
init_cond
;
destroy_cond_v1_t
destroy_cond
;
get_table_share_v1_t
get_table_share
;
release_table_share_v1_t
release_table_share
;
open_table_v1_t
open_table
;
close_table_v1_t
close_table
;
create_file_v1_t
create_file
;
spawn_thread_v1_t
spawn_thread
;
new_thread_v1_t
new_thread
;
set_thread_id_v1_t
set_thread_id
;
get_thread_v1_t
get_thread
;
set_thread_v1_t
set_thread
;
delete_current_thread_v1_t
delete_current_thread
;
get_thread_mutex_locker_v1_t
get_thread_mutex_locker
;
get_thread_rwlock_locker_v1_t
get_thread_rwlock_locker
;
get_thread_cond_locker_v1_t
get_thread_cond_locker
;
get_thread_table_locker_v1_t
get_thread_table_locker
;
get_thread_file_name_locker_v1_t
get_thread_file_name_locker
;
get_thread_file_stream_locker_v1_t
get_thread_file_stream_locker
;
get_thread_file_descriptor_locker_v1_t
get_thread_file_descriptor_locker
;
unlock_mutex_v1_t
unlock_mutex
;
unlock_rwlock_v1_t
unlock_rwlock
;
signal_cond_v1_t
signal_cond
;
broadcast_cond_v1_t
broadcast_cond
;
start_mutex_wait_v1_t
start_mutex_wait
;
end_mutex_wait_v1_t
end_mutex_wait
;
start_rwlock_rdwait_v1_t
start_rwlock_rdwait
;
end_rwlock_rdwait_v1_t
end_rwlock_rdwait
;
start_rwlock_wrwait_v1_t
start_rwlock_wrwait
;
end_rwlock_wrwait_v1_t
end_rwlock_wrwait
;
start_cond_wait_v1_t
start_cond_wait
;
end_cond_wait_v1_t
end_cond_wait
;
start_table_wait_v1_t
start_table_wait
;
end_table_wait_v1_t
end_table_wait
;
start_file_open_wait_v1_t
start_file_open_wait
;
end_file_open_wait_v1_t
end_file_open_wait
;
end_file_open_wait_and_bind_to_descriptor_v1_t
end_file_open_wait_and_bind_to_descriptor
;
start_file_wait_v1_t
start_file_wait
;
end_file_wait_v1_t
end_file_wait
;
};
typedef
struct
PSI_v1
PSI
;
typedef
struct
PSI_mutex_info_v1
PSI_mutex_info
;
typedef
struct
PSI_rwlock_info_v1
PSI_rwlock_info
;
typedef
struct
PSI_cond_info_v1
PSI_cond_info
;
typedef
struct
PSI_thread_info_v1
PSI_thread_info
;
typedef
struct
PSI_file_info_v1
PSI_file_info
;
extern
MYSQL_PLUGIN_IMPORT
PSI
*
PSI_server
;
C_MODE_END
include/mysql/psi/psi_abi_v2.h
0 → 100644
View file @
3a2c3044
/* Copyright (C) 2008-2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public 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,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/**
@file mysql/psi/psi_abi_v1.h
ABI check for mysql/psi/psi.h, when using PSI_VERSION_2.
This file is only used to automate detection of changes between versions.
Do not include this file, include mysql/psi/psi.h instead.
*/
#define USE_PSI_2
#define HAVE_PSI_INTERFACE
#define _global_h
#include "mysql/psi/psi.h"
include/mysql/psi/psi_abi_v2.h.pp
0 → 100644
View file @
3a2c3044
#include "mysql/psi/psi.h"
C_MODE_START
struct
PSI_mutex
;
struct
PSI_rwlock
;
struct
PSI_cond
;
struct
PSI_table_share
;
struct
PSI_table
;
struct
PSI_thread
;
struct
PSI_file
;
struct
PSI_bootstrap
{
void
*
(
*
get_interface
)(
int
version
);
};
struct
PSI_mutex_locker
;
struct
PSI_rwlock_locker
;
struct
PSI_cond_locker
;
struct
PSI_file_locker
;
enum
PSI_mutex_operation
{
PSI_MUTEX_LOCK
=
0
,
PSI_MUTEX_TRYLOCK
=
1
};
enum
PSI_rwlock_operation
{
PSI_RWLOCK_READLOCK
=
0
,
PSI_RWLOCK_WRITELOCK
=
1
,
PSI_RWLOCK_TRYREADLOCK
=
2
,
PSI_RWLOCK_TRYWRITELOCK
=
3
};
enum
PSI_cond_operation
{
PSI_COND_WAIT
=
0
,
PSI_COND_TIMEDWAIT
=
1
};
enum
PSI_file_operation
{
PSI_FILE_CREATE
=
0
,
PSI_FILE_CREATE_TMP
=
1
,
PSI_FILE_OPEN
=
2
,
PSI_FILE_STREAM_OPEN
=
3
,
PSI_FILE_CLOSE
=
4
,
PSI_FILE_STREAM_CLOSE
=
5
,
PSI_FILE_READ
=
6
,
PSI_FILE_WRITE
=
7
,
PSI_FILE_SEEK
=
8
,
PSI_FILE_TELL
=
9
,
PSI_FILE_FLUSH
=
10
,
PSI_FILE_STAT
=
11
,
PSI_FILE_FSTAT
=
12
,
PSI_FILE_CHSIZE
=
13
,
PSI_FILE_DELETE
=
14
,
PSI_FILE_RENAME
=
15
,
PSI_FILE_SYNC
=
16
};
struct
PSI_table_locker
;
typedef
unsigned
int
PSI_mutex_key
;
typedef
unsigned
int
PSI_rwlock_key
;
typedef
unsigned
int
PSI_cond_key
;
typedef
unsigned
int
PSI_thread_key
;
typedef
unsigned
int
PSI_file_key
;
struct
PSI_v2
{
int
placeholder
;
};
struct
PSI_mutex_info_v2
{
int
placeholder
;
};
struct
PSI_rwlock_info_v2
{
int
placeholder
;
};
struct
PSI_cond_info_v2
{
int
placeholder
;
};
struct
PSI_thread_info_v2
{
int
placeholder
;
};
struct
PSI_file_info_v2
{
int
placeholder
;
};
typedef
struct
PSI_v2
PSI
;
typedef
struct
PSI_mutex_info_v2
PSI_mutex_info
;
typedef
struct
PSI_rwlock_info_v2
PSI_rwlock_info
;
typedef
struct
PSI_cond_info_v2
PSI_cond_info
;
typedef
struct
PSI_thread_info_v2
PSI_thread_info
;
typedef
struct
PSI_file_info_v2
PSI_file_info
;
extern
MYSQL_PLUGIN_IMPORT
PSI
*
PSI_server
;
C_MODE_END
libmysql/Makefile.am
View file @
3a2c3044
# Copyright (C) 2000-2004 MySQL AB
# Copyright (C) 2000-2004 MySQL AB
, 2008-2009 Sun Microsystems, Inc.
#
#
# This program is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 GNU General Public License as
# it under the terms of version 2 GNU General Public License as
...
@@ -21,7 +21,9 @@
...
@@ -21,7 +21,9 @@
# This file is public domain and comes with NO WARRANTY of any kind
# This file is public domain and comes with NO WARRANTY of any kind
target
=
libmysqlclient.la
target
=
libmysqlclient.la
target_defs
=
-DMYSQL_CLIENT_NO_THREADS
-DDONT_USE_RAID
@LIB_EXTRA_CCFLAGS@
target_defs
=
-DMYSQL_CLIENT_NO_THREADS
-DDONT_USE_RAID
\
-DDISABLE_MYSQL_THREAD_H
@LIB_EXTRA_CCFLAGS@
LIBS
=
@CLIENT_LIBS@
LIBS
=
@CLIENT_LIBS@
INCLUDES
=
-I
$(top_builddir)
/include
-I
$(top_srcdir)
/include
\
INCLUDES
=
-I
$(top_builddir)
/include
-I
$(top_srcdir)
/include
\
$(openssl_includes)
@ZLIB_INCLUDES@
$(openssl_includes)
@ZLIB_INCLUDES@
...
...
libmysql/Makefile.shared
View file @
3a2c3044
# Copyright (C) 2000-2004 MySQL AB
# Copyright (C) 2000-2004 MySQL AB
, 2008-2009 Sun Microsystems, Inc.
#
#
# This program is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 GNU General Public License as
# it under the terms of version 2 GNU General Public License as
...
@@ -68,7 +68,8 @@ mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
...
@@ -68,7 +68,8 @@ mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
mf_iocache2.lo my_seek.lo my_sleep.lo
\
mf_iocache2.lo my_seek.lo my_sleep.lo
\
my_pread.lo mf_cache.lo md5.lo sha1.lo
\
my_pread.lo mf_cache.lo md5.lo sha1.lo
\
my_getopt.lo my_gethostbyname.lo my_port.lo
\
my_getopt.lo my_gethostbyname.lo my_port.lo
\
my_rename.lo my_chsize.lo my_sync.lo my_getsystime.lo
my_rename.lo my_chsize.lo my_sync.lo
\
my_getsystime.lo my_symlink2.lo mf_same.lo
sqlobjects
=
net.lo
sqlobjects
=
net.lo
sql_cmn_objects
=
pack.lo client.lo my_time.lo
sql_cmn_objects
=
pack.lo client.lo my_time.lo
...
...
mysys/my_static.c
View file @
3a2c3044
...
@@ -111,3 +111,31 @@ my_bool NEAR my_disable_async_io=0;
...
@@ -111,3 +111,31 @@ my_bool NEAR my_disable_async_io=0;
my_bool
NEAR
my_disable_flush_key_blocks
=
0
;
my_bool
NEAR
my_disable_flush_key_blocks
=
0
;
my_bool
NEAR
my_disable_symlinks
=
0
;
my_bool
NEAR
my_disable_symlinks
=
0
;
my_bool
NEAR
mysys_uses_curses
=
0
;
my_bool
NEAR
mysys_uses_curses
=
0
;
/*
Note that PSI_hook and PSI_server are unconditionally
(no ifdef HAVE_PSI_INTERFACE) defined.
This is to ensure binary compatibility between the server and plugins,
in the case when:
- the server is not compiled with HAVE_PSI_INTERFACE
- a plugin is compiled with HAVE_PSI_INTERFACE
See the doxygen documentation for the performance schema.
*/
/**
Hook for the instrumentation interface.
Code implementing the instrumentation interface should register here.
*/
struct
PSI_bootstrap
*
PSI_hook
=
NULL
;
/**
Instance of the instrumentation interface for the MySQL server.
@todo This is currently a global variable, which is handy when
compiling instrumented code that is bundled with the server.
When dynamic plugin are truly supported, this variable will need
to be replaced by a macro, so that each XYZ plugin can have it's own
xyz_psi_server variable, obtained from PSI_bootstrap::get_interface()
with the version used at compile time for plugin XYZ.
*/
PSI
*
PSI_server
=
NULL
;
mysys/my_winthread.c
View file @
3a2c3044
/* Copyright (C) 2000 MySQL AB
/* Copyright (C) 2000 MySQL AB
, 2008-2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
...
@@ -63,8 +63,8 @@ static unsigned int __stdcall pthread_start(void *p)
...
@@ -63,8 +63,8 @@ static unsigned int __stdcall pthread_start(void *p)
}
}
int
pthread_create
(
pthread_t
*
thread_id
,
pthread_attr_t
*
attr
,
int
pthread_create
(
pthread_t
*
thread_id
,
const
pthread_attr_t
*
attr
,
pthread_handler
func
,
void
*
param
)
pthread_handler
func
,
void
*
param
)
{
{
uintptr_t
handle
;
uintptr_t
handle
;
struct
thread_start_parameter
*
par
;
struct
thread_start_parameter
*
par
;
...
...
strings/Makefile.am
View file @
3a2c3044
# Copyright (C) 2000-2006 MySQL AB
# Copyright (C) 2000-2006 MySQL AB
, 2009 Sun Microsystems, Inc.
#
#
# This program is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
...
@@ -15,7 +15,16 @@
...
@@ -15,7 +15,16 @@
# This file is public domain and comes with NO WARRANTY of any kind
# This file is public domain and comes with NO WARRANTY of any kind
INCLUDES
=
-I
$(top_builddir)
/include
-I
$(top_srcdir)
/include
#
# Note that the string library is built with #define THREAD,
# which by default cause all the thread related code (my_pthread.h)
# and therefore the associated instrumentation (mysql/psi/mysql_thread.h)
# to be used.
# Since the string code itself is not instrumented, we use
# #define DISABLE_MYSQL_THREAD_H here to avoid unneeded dependencies.
#
INCLUDES
=
-I
$(top_builddir)
/include
-I
$(top_srcdir)
/include
-DDISABLE_MYSQL_THREAD_H
pkglib_LIBRARIES
=
libmystrings.a
pkglib_LIBRARIES
=
libmystrings.a
# Exact one of ASSEMBLER_X
# Exact one of ASSEMBLER_X
...
...
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