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
eb968344
Commit
eb968344
authored
Feb 12, 2006
by
kent@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
38108ee6
6c464815
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
191 additions
and
236 deletions
+191
-236
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+1
-1
mysql-test/r/im_utils.result
mysql-test/r/im_utils.result
+2
-2
mysql-test/t/rpl_ndb_bank.test
mysql-test/t/rpl_ndb_bank.test
+3
-3
scripts/make_binary_distribution.sh
scripts/make_binary_distribution.sh
+10
-8
server-tools/instance-manager/Makefile.am
server-tools/instance-manager/Makefile.am
+2
-1
sql/log.cc
sql/log.cc
+38
-29
sql/log.h
sql/log.h
+10
-14
sql/mysql_priv.h
sql/mysql_priv.h
+0
-1
sql/mysqld.cc
sql/mysqld.cc
+66
-41
sql/sql_plugin.cc
sql/sql_plugin.cc
+1
-1
storage/innobase/include/univ.i
storage/innobase/include/univ.i
+0
-6
storage/ndb/src/kernel/blocks/Makefile.am
storage/ndb/src/kernel/blocks/Makefile.am
+1
-1
storage/ndb/src/kernel/blocks/dbtup/Makefile.am
storage/ndb/src/kernel/blocks/dbtup/Makefile.am
+1
-1
support-files/mysql.spec.sh
support-files/mysql.spec.sh
+56
-127
No files found.
mysql-test/mysql-test-run.pl
View file @
eb968344
...
...
@@ -1905,7 +1905,7 @@ EOF
;
print
OUT
"
nonguarded
\n
"
if
$instance
->
{'
nonguarded
'};
print
OUT
"
old-log-format
\n
"
if
$instance
->
{'
old_log_format
'};
print
OUT
"
log-output=FILE
\n
"
if
$instance
->
{'
old_log_format
'};
print
OUT
"
\n
";
}
...
...
mysql-test/r/im_utils.result
View file @
eb968344
...
...
@@ -21,7 +21,7 @@ skip-stack-trace VALUE
skip-innodb VALUE
skip-bdb VALUE
skip-ndbcluster VALUE
old-log-forma
t VALUE
log-outpu
t VALUE
SHOW INSTANCE OPTIONS mysqld2;
option_name value
instance_name VALUE
...
...
@@ -42,7 +42,7 @@ skip-stack-trace VALUE
skip-innodb VALUE
skip-bdb VALUE
skip-ndbcluster VALUE
old-log-forma
t VALUE
log-outpu
t VALUE
START INSTANCE mysqld2;
STOP INSTANCE mysqld2;
SHOW mysqld1 LOG FILES;
...
...
mysql-test/t/rpl_ndb_bank.test
View file @
eb968344
...
...
@@ -10,14 +10,14 @@
# 5. check that the slave and master BANK databases are the same
#
# kill any trailing processes
--
system
killall
lt
-
bankTransactionMaker
lt
-
bankTimer
lt
-
bankMakeGL
||
true
--
source
include
/
have_ndb
.
inc
--
source
include
/
have_ndb_extra
.
inc
--
source
include
/
have_binlog_format_row
.
inc
--
source
include
/
master
-
slave
.
inc
# kill any trailing processes
--
system
killall
lt
-
bankTransactionMaker
lt
-
bankTimer
lt
-
bankMakeGL
||
true
--
disable_warnings
# initialize master
--
connection
master
...
...
scripts/make_binary_distribution.sh
View file @
eb968344
...
...
@@ -131,7 +131,7 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
extra/resolve_stack_dump
$BS
extra/mysql_waitpid
$BS
\
storage/myisam/myisamchk
$BS
storage/myisam/myisampack
$BS
\
storage/myisam/myisamlog
$BS
storage/myisam/myisam_ftdump
$BS
\
sql/mysqld
$BS
sql/mysql_tzinfo_to_sql
$BS
\
sql/mysqld
$BS
sql/mysql
d-debug
$BS
sql/mysql
_tzinfo_to_sql
$BS
\
server-tools/instance-manager/mysqlmanager
$BS
\
client/mysql
$BS
client/mysqlshow
$BS
client/mysqladmin
$BS
\
client/mysqlslap
$BS
\
...
...
@@ -173,8 +173,9 @@ if [ x$STRIP = x1 ] ; then
strip
$BASE
/bin/
*
fi
# Copy not binary files
copyfileto
$BASE
/bin sql/mysqld.sym.gz
# Obsolete, starting from 5.1.6-beta
# # Copy not binary files
# copyfileto $BASE/bin sql/mysqld.sym.gz
if
[
$BASE_SYSTEM
=
"netware"
]
;
then
$CP
netware/
*
.pl
$BASE
/scripts
...
...
@@ -304,11 +305,12 @@ else
rm
-f
$BASE
/README.NW
fi
# Make safe_mysqld a symlink to mysqld_safe for backwards portability
# To be removed in MySQL 4.1
if
[
$BASE_SYSTEM
!=
"netware"
]
;
then
(
cd
$BASE
/bin
;
ln
-s
mysqld_safe safe_mysqld
)
fi
# Dropped with 5.1.6-beta
# # Make safe_mysqld a symlink to mysqld_safe for backwards portability
# # To be removed in MySQL 4.1
# if [ $BASE_SYSTEM != "netware" ] ; then
# (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld )
# fi
# Clean up if we did this from a bk tree
if
[
-d
$BASE
/sql-bench/SCCS
]
;
then
...
...
server-tools/instance-manager/Makefile.am
View file @
eb968344
...
...
@@ -77,7 +77,8 @@ mysqlmanager_SOURCES= command.cc command.h mysqlmanager.cc \
mysql_manager_error.h
\
portability.h
mysqlmanager_LDADD
=
liboptions.a
\
mysqlmanager_LDADD
=
@CLIENT_EXTRA_LDFLAGS@
\
liboptions.a
\
libnet.a
\
$(top_builddir)
/vio/libvio.a
\
$(top_builddir)
/mysys/libmysys.a
\
...
...
sql/log.cc
View file @
eb968344
...
...
@@ -610,7 +610,7 @@ void LOGGER::init_base()
file_log_handler
=
new
Log_to_file_event_handler
;
/* by default we use traditional error log */
init_error_log
(
L
EGACY
);
init_error_log
(
L
OG_FILE
);
file_log_handler
->
init_pthread_objects
();
(
void
)
pthread_mutex_init
(
&
LOCK_logger
,
MY_MUTEX_INIT_SLOW
);
...
...
@@ -819,41 +819,47 @@ bool LOGGER::general_log_print(THD *thd, enum enum_server_command command,
return
error
;
}
void
LOGGER
::
init_error_log
(
enum
enum_printer
error_log_printer
)
void
LOGGER
::
init_error_log
(
uint
error_log_printer
)
{
switch
(
error_log_printer
)
{
case
NONE
:
if
(
error_log_printer
&
LOG_NONE
)
{
error_log_handler_list
[
0
]
=
0
;
break
;
case
LEGACY
:
return
;
}
switch
(
error_log_printer
)
{
case
LOG_FILE
:
error_log_handler_list
[
0
]
=
file_log_handler
;
error_log_handler_list
[
1
]
=
0
;
break
;
/* these two are disabled for now */
case
CSV
:
case
LOG_TABLE
:
DBUG_ASSERT
(
0
);
break
;
case
L
EGACY_AND_CSV
:
case
L
OG_TABLE
|
LOG_FILE
:
DBUG_ASSERT
(
0
);
break
;
}
}
void
LOGGER
::
init_slow_log
(
enum
enum_printer
slow_log_printer
)
void
LOGGER
::
init_slow_log
(
uint
slow_log_printer
)
{
switch
(
slow_log_printer
)
{
case
NONE
:
if
(
slow_log_printer
&
LOG_NONE
)
{
slow_log_handler_list
[
0
]
=
0
;
break
;
case
LEGACY
:
return
;
}
switch
(
slow_log_printer
)
{
case
LOG_FILE
:
slow_log_handler_list
[
0
]
=
file_log_handler
;
slow_log_handler_list
[
1
]
=
0
;
break
;
case
CSV
:
case
LOG_TABLE
:
slow_log_handler_list
[
0
]
=
table_log_handler
;
slow_log_handler_list
[
1
]
=
0
;
break
;
case
L
EGACY_AND_CSV
:
case
L
OG_TABLE
|
LOG_FILE
:
slow_log_handler_list
[
0
]
=
file_log_handler
;
slow_log_handler_list
[
1
]
=
table_log_handler
;
slow_log_handler_list
[
2
]
=
0
;
...
...
@@ -861,21 +867,24 @@ void LOGGER::init_slow_log(enum enum_printer slow_log_printer)
}
}
void
LOGGER
::
init_general_log
(
enum
enum_printer
general_log_printer
)
void
LOGGER
::
init_general_log
(
uint
general_log_printer
)
{
switch
(
general_log_printer
)
{
case
NONE
:
if
(
general_log_printer
&
LOG_NONE
)
{
general_log_handler_list
[
0
]
=
0
;
break
;
case
LEGACY
:
return
;
}
switch
(
general_log_printer
)
{
case
LOG_FILE
:
general_log_handler_list
[
0
]
=
file_log_handler
;
general_log_handler_list
[
1
]
=
0
;
break
;
case
CSV
:
case
LOG_TABLE
:
general_log_handler_list
[
0
]
=
table_log_handler
;
general_log_handler_list
[
1
]
=
0
;
break
;
case
L
EGACY_AND_CSV
:
case
L
OG_TABLE
|
LOG_FILE
:
general_log_handler_list
[
0
]
=
file_log_handler
;
general_log_handler_list
[
1
]
=
table_log_handler
;
general_log_handler_list
[
2
]
=
0
;
...
...
@@ -906,20 +915,20 @@ bool Log_to_csv_event_handler::init()
return
(
open_log_table
(
QUERY_LOG_GENERAL
)
||
open_log_table
(
QUERY_LOG_SLOW
));
}
int
LOGGER
::
set_handlers
(
enum
enum_printer
error_log_printer
,
enum
enum_printer
slow_log_printer
,
enum
enum_printer
general_log_printer
)
int
LOGGER
::
set_handlers
(
uint
error_log_printer
,
uint
slow_log_printer
,
uint
general_log_printer
)
{
/* error log table is not supported yet */
DBUG_ASSERT
(
error_log_printer
<
CSV
);
DBUG_ASSERT
(
error_log_printer
<
LOG_TABLE
);
lock
();
if
((
slow_log_printer
>=
CSV
||
general_log_printer
>=
CSV
)
&&
if
((
slow_log_printer
&
LOG_TABLE
||
general_log_printer
&
LOG_TABLE
)
&&
!
is_log_tables_initialized
)
{
slow_log_printer
=
LEGACY
;
general_log_printer
=
LEGACY
;
slow_log_printer
=
(
slow_log_printer
&
~
LOG_TABLE
)
|
LOG_FILE
;
general_log_printer
=
(
general_log_printer
&
~
LOG_TABLE
)
|
LOG_FILE
;
sql_print_error
(
"Failed to initialize log tables. "
"Falling back to the old-fashioned logs"
);
...
...
sql/log.h
View file @
eb968344
...
...
@@ -138,14 +138,10 @@ typedef struct st_log_info
*/
#define MAX_LOG_HANDLERS_NUM 3
enum
enum_printer
{
NONE
,
LEGACY
,
CSV
,
LEGACY_AND_CSV
};
/* log event handler flags */
#define LOG_NONE 1
#define LOG_FILE 2
#define LOG_TABLE 4
class
Log_event
;
class
Rows_log_event
;
...
...
@@ -503,12 +499,12 @@ public:
bool
reopen_log_table
(
uint
log_type
);
/* we use this function to setup all enabled log event handlers */
int
set_handlers
(
enum
enum_printer
error_log_printer
,
enum
enum_printer
slow_log_printer
,
enum
enum_printer
general_log_printer
);
void
init_error_log
(
enum
enum_printer
error_log_printer
);
void
init_slow_log
(
enum
enum_printer
slow_log_printer
);
void
init_general_log
(
enum
enum_printer
general_log_printer
);
int
set_handlers
(
uint
error_log_printer
,
uint
slow_log_printer
,
uint
general_log_printer
);
void
init_error_log
(
uint
error_log_printer
);
void
init_slow_log
(
uint
slow_log_printer
);
void
init_general_log
(
uint
general_log_printer
);
};
#endif
/* LOG_H */
sql/mysql_priv.h
View file @
eb968344
...
...
@@ -1305,7 +1305,6 @@ extern my_bool locked_in_memory;
extern
bool
opt_using_transactions
,
mysqld_embedded
;
extern
bool
using_update_log
,
opt_large_files
,
server_id_supplied
;
extern
bool
opt_log
,
opt_update_log
,
opt_bin_log
,
opt_slow_log
,
opt_error_log
;
extern
bool
opt_old_log_format
;
extern
bool
opt_disable_networking
,
opt_skip_show_db
;
extern
my_bool
opt_character_set_client_handshake
;
extern
bool
volatile
abort_loop
,
shutdown_in_progress
,
grant_option
;
...
...
sql/mysqld.cc
View file @
eb968344
...
...
@@ -304,8 +304,16 @@ arg_cmp_func Arg_comparator::comparator_matrix[5][2] =
{
&
Arg_comparator
::
compare_row
,
&
Arg_comparator
::
compare_e_row
},
{
&
Arg_comparator
::
compare_decimal
,
&
Arg_comparator
::
compare_e_decimal
}};
const
char
*
log_output_names
[]
=
{
"NONE"
,
"FILE"
,
"TABLE"
,
NullS
};
TYPELIB
log_output_typelib
=
{
array_elements
(
log_output_names
)
-
1
,
""
,
log_output_names
,
NULL
};
/* static variables */
/* the default log output is log tables */
static
const
char
*
log_output_str
=
"TABLE"
;
static
ulong
log_output_options
=
LOG_TABLE
;
static
bool
lower_case_table_names_used
=
0
;
static
bool
volatile
select_thread_in_use
,
signal_thread_in_use
;
static
bool
volatile
ready_to_exit
;
...
...
@@ -339,9 +347,6 @@ static my_bool opt_sync_bdb_logs;
bool
opt_log
,
opt_update_log
,
opt_bin_log
,
opt_slow_log
;
bool
opt_error_log
=
IF_WIN
(
1
,
0
);
#ifdef WITH_CSV_STORAGE_ENGINE
bool
opt_old_log_format
,
opt_both_log_formats
;
#endif
bool
opt_disable_networking
=
0
,
opt_skip_show_db
=
0
;
my_bool
opt_character_set_client_handshake
=
1
;
bool
server_id_supplied
=
0
;
...
...
@@ -2402,8 +2407,8 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
sql_print_information
(
"Got signal %d to shutdown mysqld"
,
sig
);
#endif
/* switch to the old log message processing */
logger
.
set_handlers
(
L
EGACY
,
opt_slow_log
?
LEGACY
:
NONE
,
opt_log
?
L
EGACY
:
NONE
);
logger
.
set_handlers
(
L
OG_FILE
,
opt_slow_log
?
LOG_FILE
:
LOG_
NONE
,
opt_log
?
L
OG_FILE
:
LOG_
NONE
);
DBUG_PRINT
(
"info"
,(
"Got signal: %d abort_loop: %d"
,
sig
,
abort_loop
));
if
(
!
abort_loop
)
{
...
...
@@ -2432,8 +2437,8 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
(
TABLE_LIST
*
)
0
,
&
not_used
);
// Flush logs
}
/* reenable logs after the options were reloaded */
logger
.
set_handlers
(
L
EGACY
,
opt_slow_log
?
CSV
:
NONE
,
opt_log
?
CSV
:
NONE
);
logger
.
set_handlers
(
L
OG_FILE
,
opt_slow_log
?
LOG_TABLE
:
LOG_
NONE
,
opt_log
?
LOG_TABLE
:
LOG_
NONE
);
break
;
#ifdef USE_ONE_SIGNAL_HAND
case
THR_SERVER_ALARM
:
...
...
@@ -3091,25 +3096,38 @@ static int init_server_components()
#ifdef WITH_CSV_STORAGE_ENGINE
if
(
opt_bootstrap
)
opt_old_log_format
=
TRU
E
;
log_output_options
=
LOG_FIL
E
;
else
logger
.
init_log_tables
();
if
(
opt_old_log_format
||
(
have_csv_db
!=
SHOW_OPTION_YES
))
logger
.
set_handlers
(
LEGACY
,
opt_slow_log
?
LEGACY
:
NONE
,
opt_log
?
LEGACY
:
NONE
);
if
(
log_output_options
&
LOG_NONE
)
{
/*
Issue a warining if there were specified additional options to the
log-output along with NONE. Probably this wasn't what user wanted.
*/
if
((
log_output_options
&
LOG_NONE
)
&&
(
log_output_options
&
~
LOG_NONE
))
sql_print_warning
(
"There were other values specified to "
"log-output besides NONE. Disabling slow "
"and general logs anyway."
);
logger
.
set_handlers
(
LOG_FILE
,
LOG_NONE
,
LOG_NONE
);
}
else
if
(
opt_both_log_formats
)
logger
.
set_handlers
(
LEGACY
,
opt_slow_log
?
LEGACY_AND_CSV
:
NONE
,
opt_log
?
LEGACY_AND_CSV
:
NONE
);
else
/* the default is CSV log tables */
logger
.
set_handlers
(
LEGACY
,
opt_slow_log
?
CSV
:
NONE
,
opt_log
?
CSV
:
NONE
);
{
/* fall back to the log files if tables are not present */
if
(
have_csv_db
==
SHOW_OPTION_NO
)
{
sql_print_error
(
"CSV engine is not present, falling back to the "
"log files"
);
log_output_options
=
log_output_options
&
~
LOG_TABLE
|
LOG_FILE
;
}
logger
.
set_handlers
(
LOG_FILE
,
opt_slow_log
?
log_output_options
:
LOG_NONE
,
opt_log
?
log_output_options
:
LOG_NONE
);
}
#else
logger
.
set_handlers
(
L
EGACY
,
opt_slow_log
?
LEGACY
:
NONE
,
opt_log
?
L
EGACY
:
NONE
);
logger
.
set_handlers
(
L
OG_FILE
,
opt_slow_log
?
LOG_FILE
:
LOG_
NONE
,
opt_log
?
L
OG_FILE
:
LOG_
NONE
);
#endif
if
(
opt_update_log
)
...
...
@@ -4689,7 +4707,7 @@ enum options_mysqld
OPT_REPLICATE_IGNORE_TABLE
,
OPT_REPLICATE_WILD_DO_TABLE
,
OPT_REPLICATE_WILD_IGNORE_TABLE
,
OPT_REPLICATE_SAME_SERVER_ID
,
OPT_DISCONNECT_SLAVE_EVENT_COUNT
,
OPT_TC_HEURISTIC_RECOVER
,
OPT_ABORT_SLAVE_EVENT_COUNT
,
OPT_OLD_LOG_FORMAT
,
OPT_BOTH_LOG_FORMATS
,
OPT_ABORT_SLAVE_EVENT_COUNT
,
OPT_INNODB_DATA_HOME_DIR
,
OPT_INNODB_DATA_FILE_PATH
,
OPT_INNODB_LOG_GROUP_HOME_DIR
,
...
...
@@ -4832,6 +4850,7 @@ enum options_mysqld
OPT_LOG_SLOW_ADMIN_STATEMENTS
,
OPT_TABLE_LOCK_WAIT_TIMEOUT
,
OPT_PLUGIN_DIR
,
OPT_LOG_OUTPUT
,
OPT_PORT_OPEN_TIMEOUT
};
...
...
@@ -5230,6 +5249,13 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite,
{
"log-long-format"
,
'0'
,
"Log some extra information to update log. Please note that this option is deprecated; see --log-short-format option."
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#ifdef WITH_CSV_STORAGE_ENGINE
{
"log-output"
,
OPT_LOG_OUTPUT
,
"Syntax: log-output[=value[,value...]], where
\"
value
\"
could be TABLE, "
"FILE or NONE."
,
(
gptr
*
)
&
log_output_str
,
(
gptr
*
)
&
log_output_str
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"log-queries-not-using-indexes"
,
OPT_LOG_QUERIES_NOT_USING_INDEXES
,
"Log queries that are executed without benefit of any index to the slow log if it is open."
,
(
gptr
*
)
&
opt_log_queries_not_using_indexes
,
(
gptr
*
)
&
opt_log_queries_not_using_indexes
,
...
...
@@ -5251,16 +5277,6 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite,
"Log slow queries to this log file. Defaults logging to hostname-slow.log file. Must be enabled to activate other slow log options."
,
(
gptr
*
)
&
opt_slow_logname
,
(
gptr
*
)
&
opt_slow_logname
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#ifdef WITH_CSV_STORAGE_ENGINE
{
"old-log-format"
,
OPT_OLD_LOG_FORMAT
,
"Enable old log file format. (No SELECT * FROM logs)"
,
(
gptr
*
)
&
opt_old_log_format
,
0
,
0
,
GET_BOOL
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"both-log-formats"
,
OPT_BOTH_LOG_FORMATS
,
"Enable old log file format along with log tables"
,
(
gptr
*
)
&
opt_both_log_formats
,
0
,
0
,
GET_BOOL
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"log-tc"
,
OPT_LOG_TC
,
"Path to transaction coordinator log (used for transactions that affect "
"more than one storage engine, when binary log is disabled)"
,
...
...
@@ -6954,10 +6970,6 @@ static void mysql_init_variables(void)
opt_skip_slave_start
=
opt_reckless_slave
=
0
;
mysql_home
[
0
]
=
pidfile_name
[
0
]
=
log_error_file
[
0
]
=
0
;
opt_log
=
opt_update_log
=
opt_slow_log
=
0
;
#ifdef WITH_CSV_STORAGE_ENGINE
opt_old_log_format
=
0
;
opt_both_log_formats
=
0
;
#endif
opt_bin_log
=
0
;
opt_disable_networking
=
opt_skip_show_db
=
0
;
opt_logname
=
opt_update_logname
=
opt_binlog_index_name
=
opt_slow_logname
=
0
;
...
...
@@ -7366,12 +7378,25 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_slow_log
=
1
;
break
;
#ifdef WITH_CSV_STORAGE_ENGINE
case
(
int
)
OPT_OLD_LOG_FORMAT
:
opt_old_log_format
=
1
;
break
;
case
(
int
)
OPT_BOTH_LOG_FORMATS
:
opt_both_log_formats
=
1
;
case
OPT_LOG_OUTPUT
:
{
if
(
!
argument
||
!
argument
[
0
])
{
log_output_options
=
LOG_TABLE
;
log_output_str
=
log_output_typelib
.
type_names
[
1
];
}
else
{
log_output_str
=
argument
;
if
((
log_output_options
=
find_bit_type
(
argument
,
&
log_output_typelib
))
==
~
(
ulong
)
0
)
{
fprintf
(
stderr
,
"Unknown option to log-output: %s
\n
"
,
argument
);
exit
(
1
);
}
}
break
;
}
#endif
case
(
int
)
OPT_SKIP_NEW
:
opt_specialflag
|=
SPECIAL_NO_NEW_FUNC
;
...
...
sql/sql_plugin.cc
View file @
eb968344
...
...
@@ -345,7 +345,7 @@ struct st_plugin_int *plugin_lock(LEX_STRING *name, int type)
rw_wrlock
(
&
THR_LOCK_plugin
);
if
((
rc
=
plugin_find_internal
(
name
,
type
)))
{
if
(
rc
->
state
==
PLUGIN_IS_READY
)
if
(
rc
->
state
==
PLUGIN_IS_READY
||
rc
->
state
==
PLUGIN_IS_UNINITIALIZED
)
rc
->
ref_count
++
;
else
rc
=
0
;
...
...
storage/innobase/include/univ.i
View file @
eb968344
...
...
@@ -126,14 +126,8 @@ by one. */
#
ifdef
__WIN__
#
define
UNIV_INLINE
__inline
#
else
/* config.h contains the right def for 'inline' for the current compiler */
#
if
(
__GNUC__
==
2
)
#
define
UNIV_INLINE
extern
inline
#
else
/* extern inline doesn't work with gcc 3.0.2 */
#
define
UNIV_INLINE
static
inline
#
endif
#
endif
#
else
/* If we want to compile a noninlined version we use the following macro
...
...
storage/ndb/src/kernel/blocks/Makefile.am
View file @
eb968344
...
...
@@ -38,7 +38,7 @@ libblocks_a_SOURCES = tsman.cpp lgman.cpp pgman.cpp diskpage.cpp restore.cpp\
dbtux/DbtuxSearch.cpp dbtux/DbtuxCmp.cpp dbtux/DbtuxStat.cpp
\
dbtux/DbtuxDebug.cpp
ndbtools
_PROGRAMS
=
ndb_print_file
EXTRA
_PROGRAMS
=
ndb_print_file
ndb_print_file_SOURCES
=
print_file.cpp diskpage.cpp dbtup/tuppage.cpp
ndb_print_file_LDFLAGS
=
@ndb_bin_am_ldflags@
\
$(top_builddir)
/storage/ndb/src/libndbclient.la
\
...
...
storage/ndb/src/kernel/blocks/dbtup/Makefile.am
View file @
eb968344
...
...
@@ -5,7 +5,7 @@ include $(top_srcdir)/storage/ndb/config/type_kernel.mk.am
# Don't update the files from bitkeeper
%
::
SCCS/s.%
ndbtest
_PROGRAMS
=
test_varpage
EXTRA
_PROGRAMS
=
test_varpage
test_varpage_SOURCES
=
test_varpage.cpp tuppage.cpp
test_varpage_LDFLAGS
=
@ndb_bin_am_ldflags@
\
$(top_builddir)
/storage/ndb/src/libndbclient.la
\
...
...
support-files/mysql.spec.sh
View file @
eb968344
...
...
@@ -114,8 +114,6 @@ Group: Applications/Databases
This package contains the ndbcluster storage engine.
It is necessary to have this package installed on all
computers that should store ndbcluster table data.
Note that this storage engine can only be used
in
conjunction
with the MySQL Max server.
%
{
see_base
}
...
...
@@ -181,29 +179,6 @@ Group: Applications/Databases
This package contains the shared libraries
(
*
.so
*
)
which certain
languages and applications need to dynamically load and use MySQL.
%package Max
Summary: MySQL - server with extended functionality
Group: Applications/Databases
Provides: mysql-Max
Obsoletes: mysql-Max
Requires: MySQL-server
>=
@MYSQL_BASE_VERSION@
%description Max
Optional MySQL server binary that supports additional features like:
- Berkeley DB Storage Engine
- Ndbcluster Storage Engine interface
- Archive Storage Engine
- CSV Storage Engine
- Example Storage Engine
- Federated Storage Engine
- User Defined Functions
(
UDFs
)
.
To activate this binary, just
install
this package
in
addition to
the standard MySQL package.
Please note that this is a dynamically linked binary!
%package embedded
Requires: %
{
name
}
-devel
Summary: MySQL - embedded library
...
...
@@ -224,7 +199,11 @@ client/server version.
%
{
see_base
}
%prep
%setup
-n
mysql-%
{
mysql_version
}
# We unpack the source twice, once for debug and once for release build.
%setup
-T
-a
0
-c
-n
mysql-%
{
mysql_version
}
mv
mysql-%
{
mysql_version
}
mysql-debug-%
{
mysql_version
}
%setup
-D
-T
-a
0
-n
mysql-%
{
mysql_version
}
mv
mysql-%
{
mysql_version
}
mysql-release-%
{
mysql_version
}
%build
...
...
@@ -234,12 +213,13 @@ BuildMySQL() {
sh
-c
"PATH=
\"
${
MYSQL_BUILD_PATH
:-
$PATH
}
\"
\
CC=
\"
${
CC
:-
$MYSQL_BUILD_CC
}
\"
\
CXX=
\"
${
CXX
:-
$MYSQL_BUILD_CXX
}
\"
\
CFLAGS=
\"
${
MYSQL_BUILD_CFLAGS
:-
$RPM_OPT_FLAGS
}
\"
\
CXXFLAGS=
\"
${
MYSQL_BUILD_CXXFLAGS
:-
$RPM_OPT_FLAGS
\
-felide-constructors -fno-exceptions -fno-rtti \
}
\"
\
CFLAGS=
\"
$CFLAGS
\"
\
CXXFLAGS=
\"
$CXXFLAGS
\"
\
./configure
\
$*
\
--with-mysqld-ldflags='-static'
\
--with-client-ldflags='-static'
\
--with-zlib-dir=bundled
\
--enable-assembler
\
--enable-local-infile
\
--with-mysqld-user=%{mysqld_user}
\
...
...
@@ -280,7 +260,6 @@ fi
# Use the build root for temporary storage of the shared libraries.
RBR
=
$RPM_BUILD_ROOT
MBD
=
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
# Clean up the BuildRoot first
[
"
$RBR
"
!=
"/"
]
&&
[
-d
$RBR
]
&&
rm
-rf
$RBR
;
...
...
@@ -292,8 +271,7 @@ mkdir -p $RBR%{_libdir}/mysql
PATH
=
${
MYSQL_BUILD_PATH
:-
/bin
:/usr/bin
}
export
PATH
# Build the Max binary (includes BDB and UDFs and therefore
# cannot be linked statically against the patched glibc)
# Build the Debug binary.
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
# including exceptions into the code
...
...
@@ -303,7 +281,12 @@ then
export
CXX
=
"gcc"
fi
# Strip -Oxxx, add -g and --with-debug.
(
cd
mysql-debug-%
{
mysql_version
}
&&
CFLAGS
=
`
echo
"
${
MYSQL_BUILD_CFLAGS
:-
$RPM_OPT_FLAGS
}
-g"
|
sed
-e
's/-O[0-9]*//g'
`
\
CXXFLAGS
=
`
echo
"
${
MYSQL_BUILD_CXXFLAGS
:-
$RPM_OPT_FLAGS
-felide-constructors -fno-exceptions -fno-rtti
}
-g"
|
sed
-e
's/-O[0-9]*//g'
`
\
BuildMySQL
"--enable-shared
\
--with-debug
\
--with-berkeley-db
\
--with-innodb
\
--with-ndbcluster
\
...
...
@@ -313,86 +296,43 @@ BuildMySQL "--enable-shared \
--with-blackhole-storage-engine
\
--with-federated-storage-engine
\
--with-big-tables
\
--with-comment=
\"
MySQL Community Edition - Experimental (GPL)
\"
\
--with-server-suffix='-max'"
--with-comment=
\"
MySQL Community Edition - Debug (GPL)
\"
"
)
# We might want to save the config log file
if
test
-n
"
$MYSQL_MAXCONFLOG_DEST
"
then
cp
-fp
config.log
"
$MYSQL_MAXCONFLOG_DEST
"
fi
make test-force
||
true
# Save mysqld-max
# check if mysqld was installed in .libs/
if
test
-f
sql/.libs/mysqld
then
cp
sql/.libs/mysqld sql/mysqld-max
else
cp
sql/mysqld sql/mysqld-max
fi
nm
--numeric-sort
sql/mysqld-max
>
sql/mysqld-max.sym
# Save the perror binary so it supports the NDB error codes (BUG#13740)
mv
extra/perror extra/perror.ndb
# Install the ndb binaries
(
cd
ndb
;
make
install
DESTDIR
=
$RBR
)
# Include libgcc.a in the devel subpackage (BUG 4921)
if
expr
"
$CC
"
:
".*gcc.*"
>
/dev/null
;
if
test
-n
"
$MYSQL_DEBUGCONFLOG_DEST
"
then
libgcc
=
`
$CC
--print-libgcc-file
`
if
[
-f
$libgcc
]
then
%define have_libgcc 1
install
-m
644
$libgcc
$RBR
%
{
_libdir
}
/mysql/libmygcc.a
fi
cp
-fp
mysql-debug-%
{
mysql_version
}
/config.log
"
$MYSQL_DEBUGCONFLOG_DEST
"
fi
# Save libraries
(
cd
libmysql/.libs
;
tar
cf
$RBR
/shared-libs.tar
*
.so
*
)
(
cd
libmysql_r/.libs
;
tar
rf
$RBR
/shared-libs.tar
*
.so
*
)
(
cd
ndb/src/.libs
;
tar
rf
$RBR
/shared-libs.tar
*
.so
*
)
(
cd
mysql-debug-%
{
mysql_version
}
&&
make test-force
)
||
true
# Now clean up
make clean
#
# Only link statically on our i386 build host (which has a specially
# patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched)
# so don't link statically there
#
BuildMySQL
"--disable-shared
\
%if %{STATIC_BUILD}
--with-mysqld-ldflags='-all-static'
\
--with-client-ldflags='-all-static'
\
$USE_OTHER_LIBC_DIR
\
%endif
--with-zlib-dir=bundled
\
--with-comment=
\"
MySQL Community Edition - Standard (GPL)
\"
\
--with-server-suffix='%{server_suffix}'
\
--with-archive-storage-engine
\
# Build release binary.
(
cd
mysql-release-%
{
mysql_version
}
&&
CFLAGS
=
"
${
MYSQL_BUILD_CFLAGS
:-
$RPM_OPT_FLAGS
}
-g"
\
CXXFLAGS
=
"
${
MYSQL_BUILD_CXXFLAGS
:-
$RPM_OPT_FLAGS
-felide-constructors -fno-exceptions -fno-rtti
}
-g"
\
BuildMySQL
"--enable-shared
\
--with-berkeley-db
\
--with-innodb
\
--with-big-tables"
if
test
-f
sql/.libs/mysqld
then
nm
--numeric-sort
sql/.libs/mysqld
>
sql/mysqld.sym
else
nm
--numeric-sort
sql/mysqld
>
sql/mysqld.sym
fi
--with-ndbcluster
\
--with-archive-storage-engine
\
--with-csv-storage-engine
\
--with-example-storage-engine
\
--with-blackhole-storage-engine
\
--with-federated-storage-engine
\
--with-big-tables
\
--with-comment=
\"
MySQL Community Edition (GPL)
\"
"
)
# We might want to save the config log file
if
test
-n
"
$MYSQL_CONFLOG_DEST
"
then
cp
-fp
config.log
"
$MYSQL_CONFLOG_DEST
"
cp
-fp
mysql-release-%
{
mysql_version
}
/
config.log
"
$MYSQL_CONFLOG_DEST
"
fi
make test-force
||
true
(
cd
mysql-release-%
{
mysql_version
}
&&
make test-force
)
||
true
%install
RBR
=
$RPM_BUILD_ROOT
MBD
=
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
MBD
=
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
/mysql-release-%
{
mysql_version
}
# Ensure that needed directories exists
install
-d
$RBR
%
{
_sysconfdir
}
/
{
logrotate.d,init.d
}
...
...
@@ -404,21 +344,22 @@ install -d $RBR%{_mandir}
install
-d
$RBR
%
{
_sbindir
}
# Install all binaries
stripped
make install-strip
DESTDIR
=
$RBR
benchdir_root
=
%
{
_datadir
}
#
Install shared libraries (Disable for architectures that don't support it)
(
cd
$RBR
%
{
_libdir
}
;
tar
xf
$RBR
/shared-libs.tar
;
rm
-f
$RBR
/shared-libs.tar
)
# Install all binaries
(
cd
$MBD
&&
make
install
DESTDIR
=
$RBR
benchdir_root
=
%
{
_datadir
})
# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
#
the same here.
mv
$RBR
/%
{
_libdir
}
/mysql/
*
.so
*
$RBR
/%
{
_libdir
}
/
# install saved mysqld-max
install
-s
-m
755
$MBD
/sql/mysqld-max
$RBR
%
{
_sbindir
}
/mysqld-max
# install mysqld-debug
if
test
-f
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
/mysql-debug-%
{
mysql_version
}
/sql/.libs/mysqld
then
install
-m
755
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
/mysql-debug-%
{
mysql_version
}
/sql/.libs/mysqld
$RBR
%
{
_sbindir
}
/mysqld-debug
else
install
-m
755
$RPM_BUILD_DIR
/mysql-%
{
mysql_version
}
/mysql-debug-%
{
mysql_version
}
/sql/mysqld
$RBR
%
{
_sbindir
}
/mysqld-debug
fi
# install saved perror binary with NDB support (BUG#13740)
install
-s
-m
755
$MBD
/extra/perror.ndb
$RBR
%
{
_bindir
}
/perror
# install symbol files ( for stack trace resolution)
install
-m
644
$MBD
/sql/mysqld-max.sym
$RBR
%
{
_libdir
}
/mysql/mysqld-max.sym
install
-m
644
$MBD
/sql/mysqld.sym
$RBR
%
{
_libdir
}
/mysql/mysqld.sym
install
-m
755
$MBD
/extra/perror
$RBR
%
{
_bindir
}
/perror
# Install logrotate and autostart
install
-m
644
$MBD
/support-files/mysql-log-rotate
$RBR
%
{
_sysconfdir
}
/logrotate.d/mysql
...
...
@@ -510,11 +451,6 @@ mysql_clusterdir=/var/lib/mysql-cluster
if
test
!
-d
$mysql_clusterdir
;
then
mkdir
-m
755
$mysql_clusterdir
;
fi
%post Max
# Restart mysqld, to use the new binary.
echo
"Restarting mysqld."
%
{
_sysconfdir
}
/init.d/mysql restart
>
/dev/null 2>&1
%preun server
if
test
$1
=
0
then
...
...
@@ -546,9 +482,9 @@ fi
%files server
%defattr
(
-,root,root,0755
)
%doc
COPYING
README
%doc support-files/my-
*
.cnf
%doc support-files/ndb-
*
.ini
%doc
mysql-release-%
{
mysql_version
}
/COPYING mysql-release-%
{
mysql_version
}
/
README
%doc
mysql-release-%
{
mysql_version
}
/
support-files/my-
*
.cnf
%doc
mysql-release-%
{
mysql_version
}
/
support-files/ndb-
*
.ini
%doc %attr
(
644, root, root
)
%
{
_infodir
}
/mysql.info
*
...
...
@@ -597,9 +533,9 @@ fi
%attr
(
755, root, root
)
%
{
_bindir
}
/safe_mysqld
%attr
(
755, root, root
)
%
{
_sbindir
}
/mysqld
%attr
(
755, root, root
)
%
{
_sbindir
}
/mysqld-debug
%attr
(
755, root, root
)
%
{
_sbindir
}
/mysqlmanager
%attr
(
755, root, root
)
%
{
_sbindir
}
/rcmysql
%attr
(
644, root, root
)
%
{
_libdir
}
/mysql/mysqld.sym
%attr
(
644, root, root
)
%config
(
noreplace,missingok
)
%
{
_sysconfdir
}
/logrotate.d/mysql
%attr
(
755, root, root
)
%
{
_sysconfdir
}
/init.d/mysql
...
...
@@ -631,6 +567,7 @@ fi
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqldump.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlimport.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlshow.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlslap.1
*
%post shared
/sbin/ldconfig
...
...
@@ -666,7 +603,7 @@ fi
%files devel
%defattr
(
-, root, root, 0755
)
%doc EXCEPTIONS-CLIENT
%doc
mysql-release-%
{
mysql_version
}
/
EXCEPTIONS-CLIENT
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysql_config.1
*
%attr
(
755, root, root
)
%
{
_bindir
}
/comp_err
%attr
(
755, root, root
)
%
{
_bindir
}
/mysql_config
...
...
@@ -675,9 +612,6 @@ fi
%
{
_includedir
}
/mysql/
*
%
{
_libdir
}
/mysql/libdbug.a
%
{
_libdir
}
/mysql/libheap.a
%if %
{
have_libgcc
}
%
{
_libdir
}
/mysql/libmygcc.a
%endif
%
{
_libdir
}
/mysql/libmyisam.a
%
{
_libdir
}
/mysql/libmyisammrg.a
%
{
_libdir
}
/mysql/libmysqlclient.a
...
...
@@ -706,11 +640,6 @@ fi
%attr
(
755, root, root
)
%
{
_bindir
}
/mysqltestmanager-pwgen
%attr
(
755, root, root
)
%
{
_bindir
}
/mysqltestmanagerc
%files Max
%defattr
(
-, root, root, 0755
)
%attr
(
755, root, root
)
%
{
_sbindir
}
/mysqld-max
%attr
(
644, root, root
)
%
{
_libdir
}
/mysql/mysqld-max.sym
%files embedded
%defattr
(
-, root, root, 0755
)
# %attr(644, root, root) %{_libdir}/mysql/libmysqld.a
...
...
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