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
64b6c611
Commit
64b6c611
authored
Aug 03, 2007
by
iggy@amd64.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge amd64.(none):/src/mysql-5.1-maint
into amd64.(none):/src/mysql-5.1-build_29903
parents
db15f4da
171f402a
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
159 additions
and
25 deletions
+159
-25
.bzrignore
.bzrignore
+3
-0
client/client_priv.h
client/client_priv.h
+1
-1
client/mysql.cc
client/mysql.cc
+36
-12
libmysqld/CMakeLists.txt
libmysqld/CMakeLists.txt
+57
-6
libmysqld/examples/CMakeLists.txt
libmysqld/examples/CMakeLists.txt
+3
-3
libmysqld/libmysqld.def
libmysqld/libmysqld.def
+5
-3
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+31
-0
mysql-test/r/mysql.result
mysql-test/r/mysql.result
+1
-0
mysql-test/t/mysql.test
mysql-test/t/mysql.test
+7
-0
win/README
win/README
+15
-0
No files found.
.bzrignore
View file @
64b6c611
...
...
@@ -1099,6 +1099,7 @@ libmysqld/item_sum.cc
libmysqld/item_timefunc.cc
libmysqld/item_uniq.cc
libmysqld/key.cc
libmysqld/lex_hash.h
libmysqld/lib_sql.cpp
libmysqld/libmysql.c
libmysqld/link_sources
...
...
@@ -1107,6 +1108,8 @@ libmysqld/log.cc
libmysqld/log_event.cc
libmysqld/log_event_old.cc
libmysqld/md5.c
libmysqld/message.h
libmysqld/message.rc
libmysqld/mf_iocache.cc
libmysqld/mini_client.cc
libmysqld/my_decimal.cc
...
...
client/client_priv.h
View file @
64b6c611
...
...
@@ -48,7 +48,7 @@ enum options_client
OPT_PROMPT
,
OPT_IGN_LINES
,
OPT_TRANSACTION
,
OPT_MYSQL_PROTOCOL
,
OPT_SHARED_MEMORY_BASE_NAME
,
OPT_FRM
,
OPT_SKIP_OPTIMIZATION
,
OPT_COMPATIBLE
,
OPT_RECONNECT
,
OPT_DELIMITER
,
OPT_SECURE_AUTH
,
OPT_OPEN_FILES_LIMIT
,
OPT_SET_CHARSET
,
OPT_CREATE_OPTIONS
,
OPT_OPEN_FILES_LIMIT
,
OPT_SET_CHARSET
,
OPT_CREATE_OPTIONS
,
OPT_SERVER_ARG
,
OPT_START_POSITION
,
OPT_STOP_POSITION
,
OPT_START_DATETIME
,
OPT_STOP_DATETIME
,
OPT_SIGINT_IGNORE
,
OPT_HEXBLOB
,
OPT_ORDER_BY_PRIMARY
,
OPT_COUNT
,
#ifdef HAVE_NDBCLUSTER_DB
...
...
client/mysql.cc
View file @
64b6c611
...
...
@@ -51,6 +51,9 @@ const char *VER= "14.14";
/* Buffer to hold 'version' and 'version_comment' */
#define MAX_SERVER_VERSION_LENGTH 128
/* Array of options to pass to libemysqld */
#define MAX_SERVER_ARGS 64
void
*
sql_alloc
(
unsigned
size
);
// Don't use mysqld alloc for these
void
sql_element_free
(
void
*
ptr
);
#include "sql_string.h"
...
...
@@ -304,7 +307,10 @@ static COMMANDS commands[] = {
};
static
const
char
*
load_default_groups
[]
=
{
"mysql"
,
"client"
,
0
};
static
const
char
*
server_default_groups
[]
=
static
int
embedded_server_arg_count
=
0
;
static
char
*
embedded_server_args
[
MAX_SERVER_ARGS
];
static
const
char
*
embedded_server_groups
[]
=
{
"server"
,
"embedded"
,
"mysql_SERVER"
,
0
};
#ifdef HAVE_READLINE
...
...
@@ -349,15 +355,6 @@ static sig_handler handle_sigint(int sig);
int
main
(
int
argc
,
char
*
argv
[])
{
char
buff
[
80
];
char
*
defaults
,
*
extra_defaults
,
*
group_suffix
;
char
*
emb_argv
[
4
];
int
emb_argc
;
/* Get --defaults-xxx args for mysql_server_init() */
emb_argc
=
get_defaults_options
(
argc
,
argv
,
&
defaults
,
&
extra_defaults
,
&
group_suffix
)
+
1
;
memcpy
((
char
*
)
emb_argv
,
(
char
*
)
argv
,
emb_argc
*
sizeof
(
*
argv
));
emb_argv
[
emb_argc
]
=
0
;
MY_INIT
(
argv
[
0
]);
DBUG_ENTER
(
"main"
);
...
...
@@ -418,7 +415,8 @@ int main(int argc,char *argv[])
my_end
(
0
);
exit
(
1
);
}
if
(
mysql_server_init
(
emb_argc
,
emb_argv
,
(
char
**
)
server_default_groups
))
if
(
mysql_server_init
(
embedded_server_arg_count
,
embedded_server_args
,
(
char
**
)
embedded_server_groups
))
{
free_defaults
(
defaults_argv
);
my_end
(
0
);
...
...
@@ -541,6 +539,8 @@ sig_handler mysql_end(int sig)
my_free
(
shared_memory_base_name
,
MYF
(
MY_ALLOW_ZERO_PTR
));
#endif
my_free
(
current_prompt
,
MYF
(
MY_ALLOW_ZERO_PTR
));
while
(
embedded_server_arg_count
>
1
)
my_free
(
embedded_server_args
[
--
embedded_server_arg_count
],
MYF
(
0
));
mysql_server_end
();
free_defaults
(
defaults_argv
);
my_end
(
my_end_arg
);
...
...
@@ -766,6 +766,8 @@ static struct my_option my_long_options[] =
{
"secure-auth"
,
OPT_SECURE_AUTH
,
"Refuse client connecting to server if it"
" uses old (pre-4.1.1) protocol"
,
(
uchar
**
)
&
opt_secure_auth
,
(
uchar
**
)
&
opt_secure_auth
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"server-arg"
,
OPT_SERVER_ARG
,
"Send embedded server this as a parameter."
,
0
,
0
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"show-warnings"
,
OPT_SHOW_WARNINGS
,
"Show warnings after every statement."
,
(
uchar
**
)
&
show_warnings
,
(
uchar
**
)
&
show_warnings
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
...
@@ -893,7 +895,29 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_protocol
=
find_type_or_exit
(
argument
,
&
sql_protocol_typelib
,
opt
->
name
);
break
;
break
;
case
OPT_SERVER_ARG
:
#ifdef EMBEDDED_LIBRARY
/*
When the embedded server is being tested, the client needs to be
able to pass command-line arguments to the embedded server so it can
locate the language files and data directory.
*/
if
(
!
embedded_server_arg_count
)
{
embedded_server_arg_count
=
1
;
embedded_server_args
[
0
]
=
(
char
*
)
""
;
}
if
(
embedded_server_arg_count
==
MAX_SERVER_ARGS
-
1
||
!
(
embedded_server_args
[
embedded_server_arg_count
++
]
=
my_strdup
(
argument
,
MYF
(
MY_FAE
))))
{
put_info
(
"Can't use server argument"
,
INFO_ERROR
);
return
0
;
}
#else
/*EMBEDDED_LIBRARY */
printf
(
"WARNING: --server-arg option not supported in this configuration.
\n
"
);
#endif
break
;
case
'A'
:
opt_rehash
=
0
;
break
;
...
...
libmysqld/CMakeLists.txt
View file @
64b6c611
...
...
@@ -21,16 +21,20 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
ADD_DEFINITIONS
(
-DUSE_TLS -DMYSQL_SERVER
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/include
${
CMAKE_SOURCE_DIR
}
/libmysqld
${
CMAKE_SOURCE_DIR
}
/libmysql
${
CMAKE_SOURCE_DIR
}
/libmysqld
${
CMAKE_SOURCE_DIR
}
/libmysql
${
CMAKE_SOURCE_DIR
}
/sql
${
CMAKE_SOURCE_DIR
}
/regex
${
CMAKE_SOURCE_DIR
}
/extra/yassl/include
${
CMAKE_SOURCE_DIR
}
/zlib
)
SET_SOURCE_FILES_PROPERTIES
(
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.cc
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.h
SET_SOURCE_FILES_PROPERTIES
(
sql_yacc.cc
sql_yacc.h
message.h
message.rc
${
CMAKE_SOURCE_DIR
}
/sql/sql_builtin.cc
lex_hash.h
PROPERTIES GENERATED 1
)
ADD_LIBRARY
(
mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc
...
...
@@ -76,10 +80,54 @@ ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc
../sql/scheduler.cc
../vio/vio.c ../vio/viosocket.c ../vio/viossl.c
../vio/viosslfactories.c
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.cc
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.h
)
sql_yacc.cc
sql_yacc.h
message.h
message.rc
lex_hash.h
)
ADD_DEPENDENCIES
(
mysqldemb GenError
)
# Sql Parser custom command
ADD_CUSTOM_COMMAND
(
SOURCE
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.yy
OUTPUT sql_yacc.cc
COMMAND bison.exe
ARGS -y -p MYSQL --defines=sql_yacc.h
--output=sql_yacc.cc
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.yy
DEPENDS
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.yy
)
ADD_CUSTOM_COMMAND
(
OUTPUT sql_yacc.h
COMMAND echo
DEPENDS
${
PROJECT_SOURCE_DIR
}
/sql/sql_yacc.cc
)
# Windows message file
ADD_CUSTOM_COMMAND
(
SOURCE
${
CMAKE_SOURCE_DIR
}
/sql/message.mc
OUTPUT message.rc message.h
COMMAND mc
ARGS
${
CMAKE_SOURCE_DIR
}
/sql/message.mc
DEPENDS
${
CMAKE_SOURCE_DIR
}
/sql/message.mc
)
# Gen_lex_hash
ADD_EXECUTABLE
(
gen_lex_hash ../sql/gen_lex_hash.cc
)
TARGET_LINK_LIBRARIES
(
gen_lex_hash dbug mysqlclient wsock32
)
GET_TARGET_PROPERTY
(
GEN_LEX_HASH_EXE gen_lex_hash LOCATION
)
ADD_CUSTOM_COMMAND
(
OUTPUT lex_hash.h
COMMAND
${
GEN_LEX_HASH_EXE
}
ARGS > lex_hash.h
DEPENDS
${
GEN_LEX_HASH_EXE
}
)
# Remove the auto-generated files as part of 'Clean Solution'
SET_DIRECTORY_PROPERTIES
(
PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"lex_hash.h;message.rc;message.h;sql_yacc.h;sql_yacc.cc"
)
ADD_DEPENDENCIES
(
mysqldemb gen_lex_hash
)
# Seems we cannot make a library without at least one source file. So use a
# dummy empty file
FILE
(
WRITE cmake_dummy.c
" "
)
...
...
@@ -116,3 +164,6 @@ ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF
(
WITH_BLACKHOLE_STORAGE_ENGINE
)
TARGET_LINK_LIBRARIES
(
libmysqld blackhole
)
ENDIF
(
WITH_BLACKHOLE_STORAGE_ENGINE
)
IF
(
WITH_CSV_STORAGE_ENGINE
)
TARGET_LINK_LIBRARIES
(
libmysqld csv
)
ENDIF
(
WITH_CSV_STORAGE_ENGINE
)
libmysqld/examples/CMakeLists.txt
View file @
64b6c611
...
...
@@ -23,11 +23,11 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
# Currently does not work with DBUG, there are missing symbols reported.
ADD_DEFINITIONS
(
-DDBUG_OFF
)
ADD_DEFINITIONS
(
-DUSE_TLS
)
ADD_EXECUTABLE
(
test_libmysql
d ../../client/completion_hash.cc
ADD_EXECUTABLE
(
mysql_embedde
d ../../client/completion_hash.cc
../../client/mysql.cc ../../client/readline.cc
../../client/sql_string.cc
)
TARGET_LINK_LIBRARIES
(
test_libmysql
d mysys yassl taocrypt zlib dbug regex strings wsock32
)
ADD_DEPENDENCIES
(
test_libmysql
d libmysqld
)
TARGET_LINK_LIBRARIES
(
mysql_embedde
d mysys yassl taocrypt zlib dbug regex strings wsock32
)
ADD_DEPENDENCIES
(
mysql_embedde
d libmysqld
)
ADD_EXECUTABLE
(
mysqltest_embedded ../../client/mysqltest.c
)
TARGET_LINK_LIBRARIES
(
mysqltest_embedded mysys yassl taocrypt zlib dbug regex strings wsock32
)
...
...
libmysqld/libmysqld.def
View file @
64b6c611
LIBRARY LIBMYSQLD
DESCRIPTION 'MySQL 5.
0
Embedded Server Library'
VERSION 5.
0
DESCRIPTION 'MySQL 5.
1
Embedded Server Library'
VERSION 5.
1
EXPORTS
_dig_vec_upper
_dig_vec_lower
...
...
@@ -48,6 +48,7 @@ EXPORTS
mysql_errno
mysql_error
mysql_escape_string
mysql_hex_string
mysql_fetch_field
mysql_fetch_field_direct
mysql_fetch_fields
...
...
@@ -62,11 +63,13 @@ EXPORTS
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_get_client_version
mysql_get_ssl_cipher
mysql_info
mysql_init
mysql_insert_id
mysql_kill
mysql_set_server_option
mysql_list_dbs
mysql_list_fields
mysql_list_processes
...
...
@@ -172,4 +175,3 @@ EXPORTS
my_charset_bin
my_charset_same
modify_defaults_file
mysql_set_server_option
mysql-test/mysql-test-run.pl
View file @
64b6c611
...
...
@@ -693,6 +693,37 @@ sub command_line_setup () {
$glob_timers
=
mtr_init_timers
();
# --------------------------------------------------------------------------
# Embedded server flag
# --------------------------------------------------------------------------
if
(
$opt_embedded_server
)
{
$glob_use_embedded_server
=
1
;
# Add the location for libmysqld.dll to the path.
if
(
$glob_win32
)
{
my
$lib_mysqld
=
mtr_path_exists
(
vs_config_dirs
('
libmysqld
',''));
$lib_mysqld
=
$glob_cygwin_perl
?
"
:
"
.
`
cygpath "
$lib_mysqld
"
`
:
"
;
"
.
$lib_mysqld
;
chomp
(
$lib_mysqld
);
$ENV
{'
PATH
'}
=
"
$ENV
{'PATH'}
"
.
$lib_mysqld
;
}
push
(
@glob_test_mode
,
"
embedded
");
$opt_skip_rpl
=
1
;
# We never run replication with embedded
$opt_skip_ndbcluster
=
1
;
# Turn off use of NDB cluster
$opt_skip_ssl
=
1
;
# Turn off use of SSL
# Turn off use of bin log
push
(
@opt_extra_mysqld_opt
,
"
--skip-log-bin
");
if
(
$opt_extern
)
{
mtr_error
("
Can't use --extern with --embedded-server
");
}
}
#
# Find the mysqld executable to be able to find the mysqld version
# number as early as possible
...
...
mysql-test/r/mysql.result
View file @
64b6c611
...
...
@@ -177,3 +177,4 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
1
1
End of 5.0 tests
WARNING: --server-arg option not supported in this configuration.
mysql-test/t/mysql.test
View file @
64b6c611
...
...
@@ -275,3 +275,10 @@ EOF
--
exec
$MYSQL
--
character
-
sets
-
dir
=
"540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
-
e
"select 1"
2
>&
1
--
echo
End
of
5.0
tests
#
# Bug #29903: The CMake build method does not produce the embedded library.
#
--
disable_query_log
--
exec
$MYSQL
--
server
-
arg
=
no
-
defaults
test
-
e
"quit"
--
enable_query_log
win/README
View file @
64b6c611
...
...
@@ -65,6 +65,8 @@ The options right now are:
EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS
default will be used. (Note - This option should only be
used by MySQL AB.)
EMBEDDED_ONLY Configure solution to produce libmysqld.dll
default will be used.
So the command line could look like:
...
...
@@ -98,3 +100,16 @@ may be necessary to clean the build tree to remove any stale objects.
Please see this link: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
At step 5 you only need to add the libraries advapi32.lib and user32.lib to
the file "corewin_express.vsprops" in order to avoid link errors.
3. Testing the Windows embedded library requires a two step process. The extra
step is necessary because the testsuite requires mysqld to run properly but both
the embedded library and the mysqld executable cannot be built at the same time.
Here's the process for building and testing the embedded library:
A. Follow steps 1 - 7 listed above to produce the Release configuration.
B. Perform step 5 from above again adding "--EMBEDDED-ONLY" to previously
supplied options.
C. Complete the build steps above to produce the Release configuration. Make
sure to Rebuild the solution so that all libraries are re-built.
D. Run the testsuite as usual.
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