Merge bk-internal:/home/bk/mysql-5.1-marvel

into  mysql.com:/data0/mysqldev/my/build-200708161639-5.1.21-beta/mysql-5.1-release
parents 9b6b53f0 b3db1d49
...@@ -21,22 +21,6 @@ INCLUDE(win/configure.data) ...@@ -21,22 +21,6 @@ INCLUDE(win/configure.data)
# Hardcode support for CSV storage engine # Hardcode support for CSV storage engine
SET(WITH_CSV_STORAGE_ENGINE TRUE) SET(WITH_CSV_STORAGE_ENGINE TRUE)
# CMAKE will not allow custom VS7+ configurations. mysqld and libmysqld
# cannot be built at the same time as they require different configurations
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
# By default, CMake will create Release, Debug, RelWithDebInfo and MinSizeRel
# configurations. The EMBEDDED_ONLY build parameter is necessary because CMake
# doesn't support custom build configurations for VS2005. Since the Debug
# configuration does not work properly with USE_TLS defined
# (see mysys/CMakeLists.txt) the easiest way to debug the Embedded Server is to
# use the RelWithDebInfo configuration without optimizations.
#
# Debug default CXX_FLAGS "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1"
# RelWithDebInfo default CXX_FLAGS "/MD /Zi /O2 /Ob1 /D NDEBUG"
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /Od /Ob0 /D NDEBUG" CACHE STRING "No Optimization" FORCE)
ENDIF(EMBEDDED_ONLY)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY) ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
...@@ -154,7 +138,9 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR ...@@ -154,7 +138,9 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
CMAKE_GENERATOR MATCHES "Visual Studio 8") CMAKE_GENERATOR MATCHES "Visual Studio 8")
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE") IF(WIN32)
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
ENDIF(WIN32)
IF(EMBED_MANIFESTS) IF(EMBED_MANIFESTS)
# Search for the tools (mt, makecat, signtool) necessary for embedding # Search for the tools (mt, makecat, signtool) necessary for embedding
...@@ -229,7 +215,7 @@ ADD_SUBDIRECTORY(extra) ...@@ -229,7 +215,7 @@ ADD_SUBDIRECTORY(extra)
ADD_SUBDIRECTORY(storage/heap) ADD_SUBDIRECTORY(storage/heap)
ADD_SUBDIRECTORY(storage/myisam) ADD_SUBDIRECTORY(storage/myisam)
ADD_SUBDIRECTORY(storage/myisammrg) ADD_SUBDIRECTORY(storage/myisammrg)
ADD_SUBDIRECTORY(client)
IF(WITH_ARCHIVE_STORAGE_ENGINE) IF(WITH_ARCHIVE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/archive) ADD_SUBDIRECTORY(storage/archive)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE) ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
...@@ -248,13 +234,11 @@ ENDIF(WITH_FEDERATED_STORAGE_ENGINE) ...@@ -248,13 +234,11 @@ ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE) IF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(storage/innobase) ADD_SUBDIRECTORY(storage/innobase)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE) ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_SUBDIRECTORY(sql)
ADD_SUBDIRECTORY(server-tools/instance-manager)
ADD_SUBDIRECTORY(libmysql) ADD_SUBDIRECTORY(libmysql)
IF(EMBEDDED_ONLY) ADD_SUBDIRECTORY(tests)
IF(WITH_EMBEDDED_SERVER)
ADD_SUBDIRECTORY(libmysqld) ADD_SUBDIRECTORY(libmysqld)
ADD_SUBDIRECTORY(libmysqld/examples) ADD_SUBDIRECTORY(libmysqld/examples)
ELSE(EMBEDDED_ONLY) ENDIF(WITH_EMBEDDED_SERVER)
ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(sql)
ADD_SUBDIRECTORY(server-tools/instance-manager)
ADD_SUBDIRECTORY(tests)
ENDIF(EMBEDDED_ONLY)
...@@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM ...@@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM
# #
# When changing major version number please also check switch statement # When changing major version number please also check switch statement
# in mysqlbinlog::check_master_version(). # in mysqlbinlog::check_master_version().
AM_INIT_AUTOMAKE(mysql, 5.1.22-beta) AM_INIT_AUTOMAKE(mysql, 5.1.21-beta)
AM_CONFIG_HEADER([include/config.h:config.h.in]) AM_CONFIG_HEADER([include/config.h:config.h.in])
PROTOCOL_VERSION=10 PROTOCOL_VERSION=10
......
...@@ -38,6 +38,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ...@@ -38,6 +38,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
# Include and add the directory path # Include and add the directory path
SET(SOURCE_SUBLIBS TRUE) SET(SOURCE_SUBLIBS TRUE)
SET(LIB_SOURCES "")
INCLUDE(${CMAKE_SOURCE_DIR}/zlib/CMakeLists.txt) INCLUDE(${CMAKE_SOURCE_DIR}/zlib/CMakeLists.txt)
FOREACH(rpath ${ZLIB_SOURCES}) FOREACH(rpath ${ZLIB_SOURCES})
...@@ -118,16 +119,16 @@ ADD_LIBRARY(mysqlclient_notls STATIC ${CLIENT_SOURCES}) ...@@ -118,16 +119,16 @@ ADD_LIBRARY(mysqlclient_notls STATIC ${CLIENT_SOURCES})
ADD_DEPENDENCIES(mysqlclient_notls GenError) ADD_DEPENDENCIES(mysqlclient_notls GenError)
TARGET_LINK_LIBRARIES(mysqlclient_notls) TARGET_LINK_LIBRARIES(mysqlclient_notls)
IF(NOT EMBEDDED_ONLY) ADD_LIBRARY(libmysql SHARED ${CLIENT_SOURCES} dll.c libmysql.def)
ADD_LIBRARY(libmysql SHARED ${CLIENT_SOURCES} dll.c libmysql.def) IF(WIN32)
SET_TARGET_PROPERTIES(libmysql mysqlclient PROPERTIES COMPILE_FLAGS "-DUSE_TLS") SET_TARGET_PROPERTIES(libmysql mysqlclient PROPERTIES COMPILE_FLAGS "-DUSE_TLS")
ADD_DEPENDENCIES(libmysql GenError) ENDIF(WIN32)
TARGET_LINK_LIBRARIES(libmysql wsock32) ADD_DEPENDENCIES(libmysql GenError)
TARGET_LINK_LIBRARIES(libmysql wsock32)
ADD_EXECUTABLE(myTest mytest.c)
TARGET_LINK_LIBRARIES(myTest libmysql) ADD_EXECUTABLE(myTest mytest.c)
TARGET_LINK_LIBRARIES(myTest libmysql)
IF(EMBED_MANIFESTS)
MYSQL_EMBED_MANIFEST("myTest" "asInvoker") IF(EMBED_MANIFESTS)
ENDIF(EMBED_MANIFESTS) MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
ENDIF(NOT EMBEDDED_ONLY) ENDIF(EMBED_MANIFESTS)
...@@ -18,7 +18,11 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ...@@ -18,7 +18,11 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
# Need to set USE_TLS, since __declspec(thread) approach to thread local # Need to set USE_TLS, since __declspec(thread) approach to thread local
# storage does not work properly in DLLs. # storage does not work properly in DLLs.
ADD_DEFINITIONS(-DUSE_TLS -DMYSQL_SERVER) IF(WIN32)
ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(WIN32)
ADD_DEFINITIONS(-DMYSQL_SERVER -DEMBEDDED_LIBRARY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/libmysqld ${CMAKE_SOURCE_DIR}/libmysqld
...@@ -26,18 +30,124 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ...@@ -26,18 +30,124 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include ${CMAKE_SOURCE_DIR}/extra/yassl/include
${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/zlib)
)
SET(GEN_SOURCES ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc
SET_SOURCE_FILES_PROPERTIES(sql_yacc.cc ${CMAKE_SOURCE_DIR}/sql/sql_yacc.h
sql_yacc.h ${CMAKE_SOURCE_DIR}/sql/message.h
message.h ${CMAKE_SOURCE_DIR}/sql/message.rc
message.rc ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc ${CMAKE_SOURCE_DIR}/sql/lex_hash.h)
lex_hash.h
PROPERTIES GENERATED 1) SET_SOURCE_FILES_PROPERTIES(${GEN_SOURCES} PROPERTIES GENERATED 1)
# Include and add the directory path
SET(SOURCE_SUBLIBS TRUE)
SET(LIB_SOURCES "")
INCLUDE(${CMAKE_SOURCE_DIR}/zlib/CMakeLists.txt)
FOREACH(rpath ${ZLIB_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../zlib/${rpath})
ENDFOREACH(rpath)
# FIXME only needed if build type is "Debug", but CMAKE_BUILD_TYPE is
# not set during configure time.
INCLUDE(${CMAKE_SOURCE_DIR}/dbug/CMakeLists.txt)
FOREACH(rpath ${DBUG_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../dbug/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/CMakeLists.txt)
FOREACH(rpath ${TAOCRYPT_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../extra/yassl/taocrypt/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/extra/yassl/CMakeLists.txt)
FOREACH(rpath ${YASSL_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../extra/yassl/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/strings/CMakeLists.txt)
FOREACH(rpath ${STRINGS_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../strings/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/regex/CMakeLists.txt)
FOREACH(rpath ${REGEX_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../regex/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/mysys/CMakeLists.txt)
FOREACH(rpath ${MYSYS_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../mysys/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/vio/CMakeLists.txt)
FOREACH(rpath ${VIO_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../vio/${rpath})
ENDFOREACH(rpath)
# Engines
INCLUDE(${CMAKE_SOURCE_DIR}/storage/heap/CMakeLists.txt)
FOREACH(rpath ${HEAP_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/heap/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/myisam/CMakeLists.txt)
FOREACH(rpath ${MYISAM_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/myisam/${rpath})
ENDFOREACH(rpath)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/myisammrg/CMakeLists.txt)
FOREACH(rpath ${MYISAMMRG_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/myisammrg/${rpath})
ENDFOREACH(rpath)
IF(WITH_ARCHIVE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/archive/CMakeLists.txt)
FOREACH(rpath ${ARCHIVE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/archive/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/blackhole/CMakeLists.txt)
FOREACH(rpath ${BLACKHOLE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/blackhole/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/example/CMakeLists.txt)
FOREACH(rpath ${EXAMPLE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/example/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/federated/CMakeLists.txt)
FOREACH(rpath ${FEDERATED_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/federated/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/innobase/CMakeLists.txt)
FOREACH(rpath ${INNOBASE_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/innobase/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE)
INCLUDE(${CMAKE_SOURCE_DIR}/storage/csv/CMakeLists.txt)
FOREACH(rpath ${CSV_SOURCES})
SET(LIB_SOURCES ${LIB_SOURCES} ../storage/csv/${rpath})
ENDFOREACH(rpath)
ENDIF(WITH_CSV_STORAGE_ENGINE)
SET(SOURCE_SUBLIBS FALSE)
ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../libmysql/libmysql.c ../libmysql/errmsg.c ../client/get_password.c ../libmysql/libmysql.c ../libmysql/errmsg.c ../client/get_password.c
../sql-common/client.c ../sql-common/my_time.c ../sql-common/client.c ../sql-common/my_time.c
../sql-common/my_user.c ../sql-common/pack.c ../sql-common/my_user.c ../sql-common/pack.c
...@@ -69,101 +179,30 @@ ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc ...@@ -69,101 +179,30 @@ ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc ../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc
../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc ../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc
../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc ../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc
../sql/sql_select.cc ../sql/sql_servers.cc ../sql/sql_builtin.cc ../sql/sql_select.cc ../sql/sql_servers.cc
../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc ../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc
../sql/sql_tablespace.cc ../sql/sql_table.cc ../sql/sql_test.cc ../sql/sql_tablespace.cc ../sql/sql_table.cc ../sql/sql_test.cc
../sql/sql_trigger.cc ../sql/sql_udf.cc ../sql/sql_union.cc ../sql/sql_trigger.cc ../sql/sql_udf.cc ../sql/sql_union.cc
../sql/sql_update.cc ../sql/sql_view.cc ../sql/sql_update.cc ../sql/sql_view.cc
../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
../sql/partition_info.cc ../sql/sql_locale.cc ../sql/sql_connect.cc ../sql/partition_info.cc ../sql/sql_connect.cc
../sql/scheduler.cc ../sql/scheduler.cc
../vio/vio.c ../vio/viosocket.c ../vio/viossl.c ${GEN_SOURCES}
../vio/viosslfactories.c ${LIB_SOURCES})
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 # Seems we cannot make a library without at least one source file. So use a
# dummy empty file # dummy empty file
FILE(WRITE cmake_dummy.c " ") FILE(WRITE cmake_dummy.c " ")
ADD_LIBRARY(mysqlserver cmake_dummy.c) # Tried use the correct ${GEN_SOURCES} as dependency, worked on Unix
TARGET_LINK_LIBRARIES(mysqlserver wsock32) # but not on Windows and Visual Studio generators. Likely because they
ADD_DEPENDENCIES(mysqlserver mysqldemb heap myisam myisammrg dbug mysys zlib strings mysqldemb regex # are no real targets from the Visual Studio project files view. Added
yassl taocrypt vio) # custom targets to "sql/CMakeLists.txt" and reference them here.
IF(WITH_ARCHIVE_STORAGE_ENGINE) ADD_LIBRARY(mysqlserver STATIC ${LIBMYSQLD_SOURCES})
ADD_DEPENDENCIES(mysqlserver archive) ADD_DEPENDENCIES(mysqlserver GenServerSource GenError)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE) TARGET_LINK_LIBRARIES(mysqlserver)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver example)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqlserver blackhole)
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqlserver csv)
ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver federated)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver innobase)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_LIBRARY(libmysqld MODULE cmake_dummy.c libmysqld.def) ADD_LIBRARY(libmysqld MODULE cmake_dummy.c libmysqld.def)
TARGET_LINK_LIBRARIES(libmysqld wsock32)
ADD_DEPENDENCIES(libmysqld mysqlserver) ADD_DEPENDENCIES(libmysqld mysqlserver)
IF(WITH_ARCHIVE_STORAGE_ENGINE) TARGET_LINK_LIBRARIES(libmysqld mysqlserver wsock32)
ADD_DEPENDENCIES(libmysqld archive)
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)
...@@ -15,24 +15,24 @@ ...@@ -15,24 +15,24 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/libmysqld/include ${CMAKE_SOURCE_DIR}/libmysqld/include
${CMAKE_SOURCE_DIR}/libmysqld/release
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
# Currently does not work with DBUG, there are missing symbols reported. # Currently does not work with DBUG, there are missing symbols reported.
ADD_DEFINITIONS(-DDBUG_OFF) IF(WIN32)
ADD_DEFINITIONS(-DUSE_TLS) ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(WIN32)
ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
../../client/mysql.cc ../../client/readline.cc ../../client/mysql.cc ../../client/readline.cc
../../client/sql_string.cc) ../../client/sql_string.cc)
TARGET_LINK_LIBRARIES(mysql_embedded mysys yassl taocrypt zlib dbug regex strings wsock32) TARGET_LINK_LIBRARIES(mysql_embedded mysys yassl taocrypt zlib debug dbug regex strings wsock32)
ADD_DEPENDENCIES(mysql_embedded libmysqld) ADD_DEPENDENCIES(mysql_embedded libmysqld)
ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c) ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c)
TARGET_LINK_LIBRARIES(mysqltest_embedded mysys yassl taocrypt zlib dbug regex strings wsock32) TARGET_LINK_LIBRARIES(mysqltest_embedded mysys yassl taocrypt zlib debug dbug regex strings wsock32)
ADD_DEPENDENCIES(mysqltest_embedded libmysqld) ADD_DEPENDENCIES(mysqltest_embedded libmysqld)
ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c) ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c)
TARGET_LINK_LIBRARIES(mysql_client_test_embedded dbug mysys yassl taocrypt zlib strings wsock32) TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug dbug mysys yassl taocrypt zlib strings wsock32)
ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld) ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld)
...@@ -1463,4 +1463,26 @@ where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name; ...@@ -1463,4 +1463,26 @@ where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE a ALL NULL TABLE_SCHEMA,TABLE_NAME NULL NULL NULL Using where; Skip_open_table; Scanned 0 databases 1 SIMPLE a ALL NULL TABLE_SCHEMA,TABLE_NAME NULL NULL NULL Using where; Skip_open_table; Scanned 0 databases
1 SIMPLE b ALL NULL NULL NULL NULL NULL Using where; Open_frm_only; Scanned all databases; Using join buffer 1 SIMPLE b ALL NULL NULL NULL NULL NULL Using where; Open_frm_only; Scanned all databases; Using join buffer
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'mysqltest';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = '';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'test';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
NULL test latin1 latin1_swedish_ci NULL
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='nonexisting';
count(*)
0
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='';
count(*)
0
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='';
count(*)
0
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='nonexisting';
count(*)
0
End of 5.1 tests. End of 5.1 tests.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); ...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END// END//
SHOW CREATE PROCEDURE sp1; SHOW CREATE PROCEDURE sp1;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`() sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN BEGIN
declare a tinyint; declare a tinyint;
...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored'); ...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
ELSE ELSE
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode=''; set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB'; ...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END// END//
SHOW CREATE PROCEDURE sp2; SHOW CREATE PROCEDURE sp2;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`() sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN BEGIN
SET @@sql_mode='MAXDB'; SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure ... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
......
...@@ -122,6 +122,9 @@ LAST_ALTERED <created> ...@@ -122,6 +122,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -146,6 +149,9 @@ LAST_ALTERED <created> ...@@ -146,6 +149,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -168,6 +174,9 @@ LAST_ALTERED <created> ...@@ -168,6 +174,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -190,6 +199,9 @@ LAST_ALTERED <created> ...@@ -190,6 +199,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -199,6 +211,9 @@ set @x=i1; ...@@ -199,6 +211,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -210,6 +225,9 @@ set @x=i1; ...@@ -210,6 +225,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -235,6 +259,9 @@ Modified <modified> ...@@ -235,6 +259,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -243,6 +270,9 @@ Modified <modified> ...@@ -243,6 +270,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -252,6 +282,9 @@ Modified <modified> ...@@ -252,6 +282,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -260,6 +293,9 @@ Modified <modified> ...@@ -260,6 +293,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... now change some stuff: ... now change some stuff:
-------------------------- --------------------------
...@@ -304,6 +340,9 @@ LAST_ALTERED <created> ...@@ -304,6 +340,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -328,6 +367,9 @@ LAST_ALTERED <created> ...@@ -328,6 +367,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -350,6 +392,9 @@ LAST_ALTERED <created> ...@@ -350,6 +392,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -372,6 +417,9 @@ LAST_ALTERED <created> ...@@ -372,6 +417,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -384,6 +432,9 @@ set @x=i1; ...@@ -384,6 +432,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -395,6 +446,9 @@ set @x=i1; ...@@ -395,6 +446,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -422,6 +482,9 @@ Modified <modified> ...@@ -422,6 +482,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -430,6 +493,9 @@ Modified <modified> ...@@ -430,6 +493,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -439,6 +505,9 @@ Modified <modified> ...@@ -439,6 +505,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -447,6 +516,9 @@ Modified <modified> ...@@ -447,6 +516,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... change back to default and check result: ... change back to default and check result:
-------------------------------------------- --------------------------------------------
...@@ -479,6 +551,9 @@ LAST_ALTERED <created> ...@@ -479,6 +551,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -503,6 +578,9 @@ LAST_ALTERED <created> ...@@ -503,6 +578,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -525,6 +603,9 @@ LAST_ALTERED <created> ...@@ -525,6 +603,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -547,6 +628,9 @@ LAST_ALTERED <created> ...@@ -547,6 +628,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -559,6 +643,9 @@ set @x=i1; ...@@ -559,6 +643,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -569,6 +656,9 @@ set @x=i1; ...@@ -569,6 +656,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -596,6 +692,9 @@ Modified <modified> ...@@ -596,6 +692,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -604,6 +703,9 @@ Modified <modified> ...@@ -604,6 +703,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -613,6 +715,9 @@ Modified <modified> ...@@ -613,6 +715,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -621,6 +726,9 @@ Modified <modified> ...@@ -621,6 +726,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... cleanup ... cleanup
----------- -----------
......
...@@ -263,7 +263,7 @@ select current_user; ...@@ -263,7 +263,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update on priv_db.t1 to test_yesprivs@localhost; grant select, insert, update on priv_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -296,7 +296,7 @@ select current_user; ...@@ -296,7 +296,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables; show tables;
Tables_in_priv_db Tables_in_priv_db
t1 t1
...@@ -317,7 +317,7 @@ select current_user; ...@@ -317,7 +317,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
select current_user; select current_user;
...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl ...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
create trigger trg1_4 before UPDATE on t1 for each row create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes'; set new.f1 = 'trig 1_4-yes';
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user; select current_user;
current_user current_user
test_noprivs@localhost test_noprivs@localhost
...@@ -570,11 +570,11 @@ current_user ...@@ -570,11 +570,11 @@ current_user
test_yesprivs@localhost test_yesprivs@localhost
use priv_db; use priv_db;
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select * from information_schema.triggers; select * from information_schema.triggers;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop trigger trg1_1; drop trigger trg1_1;
ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1' ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
select current_user; select current_user;
...@@ -863,7 +863,7 @@ select current_user; ...@@ -863,7 +863,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost; grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -878,7 +878,7 @@ select current_user; ...@@ -878,7 +878,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
create trigger trg2_1 before INSERT on t2 for each row create trigger trg2_1 before INSERT on t2 for each row
...@@ -990,7 +990,7 @@ select current_user; ...@@ -990,7 +990,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); ...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END// END//
SHOW CREATE PROCEDURE sp1; SHOW CREATE PROCEDURE sp1;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`() sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN BEGIN
declare a tinyint; declare a tinyint;
...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored'); ...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
ELSE ELSE
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode=''; set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB'; ...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END// END//
SHOW CREATE PROCEDURE sp2; SHOW CREATE PROCEDURE sp2;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`() sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN BEGIN
SET @@sql_mode='MAXDB'; SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure ... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
......
...@@ -122,6 +122,9 @@ LAST_ALTERED <created> ...@@ -122,6 +122,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -146,6 +149,9 @@ LAST_ALTERED <created> ...@@ -146,6 +149,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -168,6 +174,9 @@ LAST_ALTERED <created> ...@@ -168,6 +174,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -190,6 +199,9 @@ LAST_ALTERED <created> ...@@ -190,6 +199,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -199,6 +211,9 @@ set @x=i1; ...@@ -199,6 +211,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -210,6 +225,9 @@ set @x=i1; ...@@ -210,6 +225,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -235,6 +259,9 @@ Modified <modified> ...@@ -235,6 +259,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -243,6 +270,9 @@ Modified <modified> ...@@ -243,6 +270,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -252,6 +282,9 @@ Modified <modified> ...@@ -252,6 +282,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -260,6 +293,9 @@ Modified <modified> ...@@ -260,6 +293,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... now change some stuff: ... now change some stuff:
-------------------------- --------------------------
...@@ -304,6 +340,9 @@ LAST_ALTERED <created> ...@@ -304,6 +340,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -328,6 +367,9 @@ LAST_ALTERED <created> ...@@ -328,6 +367,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -350,6 +392,9 @@ LAST_ALTERED <created> ...@@ -350,6 +392,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -372,6 +417,9 @@ LAST_ALTERED <created> ...@@ -372,6 +417,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -384,6 +432,9 @@ set @x=i1; ...@@ -384,6 +432,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -395,6 +446,9 @@ set @x=i1; ...@@ -395,6 +446,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -422,6 +482,9 @@ Modified <modified> ...@@ -422,6 +482,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -430,6 +493,9 @@ Modified <modified> ...@@ -430,6 +493,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -439,6 +505,9 @@ Modified <modified> ...@@ -439,6 +505,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -447,6 +516,9 @@ Modified <modified> ...@@ -447,6 +516,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... change back to default and check result: ... change back to default and check result:
-------------------------------------------- --------------------------------------------
...@@ -479,6 +551,9 @@ LAST_ALTERED <created> ...@@ -479,6 +551,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -503,6 +578,9 @@ LAST_ALTERED <created> ...@@ -503,6 +578,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -525,6 +603,9 @@ LAST_ALTERED <created> ...@@ -525,6 +603,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -547,6 +628,9 @@ LAST_ALTERED <created> ...@@ -547,6 +628,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -559,6 +643,9 @@ set @x=i1; ...@@ -559,6 +643,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -569,6 +656,9 @@ set @x=i1; ...@@ -569,6 +656,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -596,6 +692,9 @@ Modified <modified> ...@@ -596,6 +692,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -604,6 +703,9 @@ Modified <modified> ...@@ -604,6 +703,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -613,6 +715,9 @@ Modified <modified> ...@@ -613,6 +715,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -621,6 +726,9 @@ Modified <modified> ...@@ -621,6 +726,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... cleanup ... cleanup
----------- -----------
......
...@@ -263,7 +263,7 @@ select current_user; ...@@ -263,7 +263,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update on priv_db.t1 to test_yesprivs@localhost; grant select, insert, update on priv_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -296,7 +296,7 @@ select current_user; ...@@ -296,7 +296,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables; show tables;
Tables_in_priv_db Tables_in_priv_db
t1 t1
...@@ -317,7 +317,7 @@ select current_user; ...@@ -317,7 +317,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
select current_user; select current_user;
...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl ...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
create trigger trg1_4 before UPDATE on t1 for each row create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes'; set new.f1 = 'trig 1_4-yes';
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user; select current_user;
current_user current_user
test_noprivs@localhost test_noprivs@localhost
...@@ -570,11 +570,11 @@ current_user ...@@ -570,11 +570,11 @@ current_user
test_yesprivs@localhost test_yesprivs@localhost
use priv_db; use priv_db;
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select * from information_schema.triggers; select * from information_schema.triggers;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop trigger trg1_1; drop trigger trg1_1;
ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1' ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
select current_user; select current_user;
...@@ -863,7 +863,7 @@ select current_user; ...@@ -863,7 +863,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost; grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -878,7 +878,7 @@ select current_user; ...@@ -878,7 +878,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
create trigger trg2_1 before INSERT on t2 for each row create trigger trg2_1 before INSERT on t2 for each row
...@@ -990,7 +990,7 @@ select current_user; ...@@ -990,7 +990,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); ...@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END// END//
SHOW CREATE PROCEDURE sp1; SHOW CREATE PROCEDURE sp1;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`() sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN BEGIN
declare a tinyint; declare a tinyint;
...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored'); ...@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
ELSE ELSE
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored'); INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if; END if;
END END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode=''; set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB'; ...@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END// END//
SHOW CREATE PROCEDURE sp2; SHOW CREATE PROCEDURE sp2;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`() sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN BEGIN
SET @@sql_mode='MAXDB'; SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
END END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure ... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode'; SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value Variable_name Value
......
...@@ -122,6 +122,9 @@ LAST_ALTERED <created> ...@@ -122,6 +122,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -146,6 +149,9 @@ LAST_ALTERED <created> ...@@ -146,6 +149,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -168,6 +174,9 @@ LAST_ALTERED <created> ...@@ -168,6 +174,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT ROUTINE_COMMENT
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -190,6 +199,9 @@ LAST_ALTERED <created> ...@@ -190,6 +199,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT created with INVOKER ROUTINE_COMMENT created with INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -199,6 +211,9 @@ set @x=i1; ...@@ -199,6 +211,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -210,6 +225,9 @@ set @x=i1; ...@@ -210,6 +225,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -235,6 +259,9 @@ Modified <modified> ...@@ -235,6 +259,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -243,6 +270,9 @@ Modified <modified> ...@@ -243,6 +270,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -252,6 +282,9 @@ Modified <modified> ...@@ -252,6 +282,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment Comment
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -260,6 +293,9 @@ Modified <modified> ...@@ -260,6 +293,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment created with INVOKER Comment created with INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... now change some stuff: ... now change some stuff:
-------------------------- --------------------------
...@@ -304,6 +340,9 @@ LAST_ALTERED <created> ...@@ -304,6 +340,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -328,6 +367,9 @@ LAST_ALTERED <created> ...@@ -328,6 +367,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -350,6 +392,9 @@ LAST_ALTERED <created> ...@@ -350,6 +392,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -372,6 +417,9 @@ LAST_ALTERED <created> ...@@ -372,6 +417,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -384,6 +432,9 @@ set @x=i1; ...@@ -384,6 +432,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -395,6 +446,9 @@ set @x=i1; ...@@ -395,6 +446,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -422,6 +482,9 @@ Modified <modified> ...@@ -422,6 +482,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -430,6 +493,9 @@ Modified <modified> ...@@ -430,6 +493,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -439,6 +505,9 @@ Modified <modified> ...@@ -439,6 +505,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -447,6 +516,9 @@ Modified <modified> ...@@ -447,6 +516,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... change back to default and check result: ... change back to default and check result:
-------------------------------------------- --------------------------------------------
...@@ -479,6 +551,9 @@ LAST_ALTERED <created> ...@@ -479,6 +551,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, FN changed to INVOKER ROUTINE_COMMENT new comment, FN changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME fn_2 SPECIFIC_NAME fn_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -503,6 +578,9 @@ LAST_ALTERED <created> ...@@ -503,6 +578,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT FN changed to DEFINER ROUTINE_COMMENT FN changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_1 SPECIFIC_NAME sp_1
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -525,6 +603,9 @@ LAST_ALTERED <created> ...@@ -525,6 +603,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT new comment, SP changed to INVOKER ROUTINE_COMMENT new comment, SP changed to INVOKER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SPECIFIC_NAME sp_2 SPECIFIC_NAME sp_2
ROUTINE_CATALOG NULL ROUTINE_CATALOG NULL
ROUTINE_SCHEMA db_storedproc ROUTINE_SCHEMA db_storedproc
...@@ -547,6 +628,9 @@ LAST_ALTERED <created> ...@@ -547,6 +628,9 @@ LAST_ALTERED <created>
SQL_MODE SQL_MODE
ROUTINE_COMMENT SP changed to DEFINER ROUTINE_COMMENT SP changed to DEFINER
DEFINER root@localhost DEFINER root@localhost
CHARACTER_SET_CLIENT latin1
COLLATION_CONNECTION latin1_swedish_ci
DATABASE_COLLATION latin1_swedish_ci
SHOW CREATE FUNCTION fn_1; SHOW CREATE FUNCTION fn_1;
Function fn_1 Function fn_1
sql_mode sql_mode
...@@ -559,6 +643,9 @@ set @x=i1; ...@@ -559,6 +643,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE FUNCTION fn_2; SHOW CREATE FUNCTION fn_2;
Function fn_2 Function fn_2
sql_mode sql_mode
...@@ -569,6 +656,9 @@ set @x=i1; ...@@ -569,6 +656,9 @@ set @x=i1;
set @y=@x; set @y=@x;
return i4; return i4;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_1; SHOW CREATE PROCEDURE sp_1;
Procedure sp_1 Procedure sp_1
sql_mode sql_mode
...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int) ...@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW CREATE PROCEDURE sp_2; SHOW CREATE PROCEDURE sp_2;
Procedure sp_2 Procedure sp_2
sql_mode sql_mode
...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int) ...@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
BEGIN BEGIN
set @x=i1; set @x=i1;
END END
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW FUNCTION STATUS LIKE 'fn_%'; SHOW FUNCTION STATUS LIKE 'fn_%';
Db db_storedproc Db db_storedproc
Name fn_1 Name fn_1
...@@ -596,6 +692,9 @@ Modified <modified> ...@@ -596,6 +692,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, FN changed to INVOKER Comment new comment, FN changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name fn_2 Name fn_2
Type FUNCTION Type FUNCTION
...@@ -604,6 +703,9 @@ Modified <modified> ...@@ -604,6 +703,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment FN changed to DEFINER Comment FN changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
SHOW PROCEDURE STATUS LIKE 'sp_%'; SHOW PROCEDURE STATUS LIKE 'sp_%';
Db db_storedproc Db db_storedproc
Name sp_1 Name sp_1
...@@ -613,6 +715,9 @@ Modified <modified> ...@@ -613,6 +715,9 @@ Modified <modified>
Created <created> Created <created>
Security_type INVOKER Security_type INVOKER
Comment new comment, SP changed to INVOKER Comment new comment, SP changed to INVOKER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
Db db_storedproc Db db_storedproc
Name sp_2 Name sp_2
Type PROCEDURE Type PROCEDURE
...@@ -621,6 +726,9 @@ Modified <modified> ...@@ -621,6 +726,9 @@ Modified <modified>
Created <created> Created <created>
Security_type DEFINER Security_type DEFINER
Comment SP changed to DEFINER Comment SP changed to DEFINER
character_set_client latin1
collation_connection latin1_swedish_ci
Database Collation latin1_swedish_ci
... cleanup ... cleanup
----------- -----------
......
...@@ -263,7 +263,7 @@ select current_user; ...@@ -263,7 +263,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update on priv_db.t1 to test_yesprivs@localhost; grant select, insert, update on priv_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -296,7 +296,7 @@ select current_user; ...@@ -296,7 +296,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables; show tables;
Tables_in_priv_db Tables_in_priv_db
t1 t1
...@@ -317,7 +317,7 @@ select current_user; ...@@ -317,7 +317,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
select current_user; select current_user;
...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl ...@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
create trigger trg1_4 before UPDATE on t1 for each row create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes'; set new.f1 = 'trig 1_4-yes';
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user; select current_user;
current_user current_user
test_noprivs@localhost test_noprivs@localhost
...@@ -570,11 +570,11 @@ current_user ...@@ -570,11 +570,11 @@ current_user
test_yesprivs@localhost test_yesprivs@localhost
use priv_db; use priv_db;
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select * from information_schema.triggers; select * from information_schema.triggers;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop trigger trg1_1; drop trigger trg1_1;
ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1' ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
select current_user; select current_user;
...@@ -863,7 +863,7 @@ select current_user; ...@@ -863,7 +863,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost; grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
...@@ -878,7 +878,7 @@ select current_user; ...@@ -878,7 +878,7 @@ select current_user;
current_user current_user
test_yesprivs@localhost test_yesprivs@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
create trigger trg1_2 before INSERT on t1 for each row create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes'; set new.f1 = 'trig 1_2-yes';
create trigger trg2_1 before INSERT on t2 for each row create trigger trg2_1 before INSERT on t2 for each row
...@@ -990,7 +990,7 @@ select current_user; ...@@ -990,7 +990,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
......
...@@ -1772,7 +1772,8 @@ SELECT * FROM v1 ORDER BY f1; ...@@ -1772,7 +1772,8 @@ SELECT * FROM v1 ORDER BY f1;
--enable_info --enable_info
# 1. The record to be inserted will be within the scope of the view. # 1. The record to be inserted will be within the scope of the view.
# But there is already a record with the PRIMARY KEY f1 = 2 . # But there is already a record with the PRIMARY KEY f1 = 2 .
--error ER_DUP_ENTRY_WITH_KEY_NAME # OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
--error ER_DUP_ENTRY
INSERT INTO v1 VALUES(2,'two'); INSERT INTO v1 VALUES(2,'two');
# 2. The record to be inserted will be within the scope of the view. # 2. The record to be inserted will be within the scope of the view.
# There is no already existing record with the PRIMARY KEY f1 = 3 . # There is no already existing record with the PRIMARY KEY f1 = 3 .
...@@ -1789,7 +1790,8 @@ SELECT * FROM v1 ORDER BY f1; ...@@ -1789,7 +1790,8 @@ SELECT * FROM v1 ORDER BY f1;
# 1. The record to be updated is within the scope of the view # 1. The record to be updated is within the scope of the view
# and will stay inside the scope. # and will stay inside the scope.
# But there is already a record with the PRIMARY KEY f1 = 2 . # But there is already a record with the PRIMARY KEY f1 = 2 .
--error ER_DUP_ENTRY_WITH_KEY_NAME # OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
--error ER_DUP_ENTRY
UPDATE v1 SET f1 = 2 WHERE f1 = 3; UPDATE v1 SET f1 = 2 WHERE f1 = 3;
# 2. The record to be updated is within the scope of the view # 2. The record to be updated is within the scope of the view
# and will stay inside the scope. # and will stay inside the scope.
...@@ -3287,7 +3289,8 @@ DELETE FROM t1; ...@@ -3287,7 +3289,8 @@ DELETE FROM t1;
# f1 gets the default 0, because we are in the native sql_mode # f1 gets the default 0, because we are in the native sql_mode
INSERT INTO v1 SET f2 = 'ABC'; INSERT INTO v1 SET f2 = 'ABC';
# f1 gets the default 0, but this value is already exists # f1 gets the default 0, but this value is already exists
--error ER_DUP_ENTRY_WITH_KEY_NAME # OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
--error ER_DUP_ENTRY
INSERT INTO v1 SET f2 = 'ABC'; INSERT INTO v1 SET f2 = 'ABC';
SELECT * from t1; SELECT * from t1;
DELETE FROM t1; DELETE FROM t1;
...@@ -3375,7 +3378,8 @@ CREATE VIEW v1 AS SELECT f2, f3 FROM t1; ...@@ -3375,7 +3378,8 @@ CREATE VIEW v1 AS SELECT f2, f3 FROM t1;
# f1 gets the default 0, because we are in the native sql_mode # f1 gets the default 0, because we are in the native sql_mode
INSERT INTO v1 SET f2 = 'ABC'; INSERT INTO v1 SET f2 = 'ABC';
# f1 gets the default 0 and this value is already exists # f1 gets the default 0 and this value is already exists
--error ER_DUP_ENTRY_WITH_KEY_NAME # OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
--error ER_DUP_ENTRY
INSERT INTO v1 SET f2 = 'ABC'; INSERT INTO v1 SET f2 = 'ABC';
SELECT * from t1; SELECT * from t1;
DELETE FROM t1; DELETE FROM t1;
......
select count(*) from information_schema.columns;
count(*)
#
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
CREATE LOGFILE GROUP lg1 CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'undofile.dat' ADD UNDOFILE 'undofile.dat'
......
...@@ -14,6 +14,12 @@ ...@@ -14,6 +14,12 @@
-- source include/have_ndb.inc -- source include/have_ndb.inc
#
# Bug#30322 Server crashes on selecting from i_s.columns when cluster is running -regression
#
--replace_column 1 #
select count(*) from information_schema.columns;
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
--enable_warnings --enable_warnings
......
...@@ -1120,4 +1120,20 @@ explain select b.table_name ...@@ -1120,4 +1120,20 @@ explain select b.table_name
from information_schema.tables a, information_schema.columns b from information_schema.tables a, information_schema.columns b
where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name; where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name;
#
# Bug#30310 wrong result on SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE ..
#
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'mysqltest';
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = '';
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'test';
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='nonexisting';
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='';
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='';
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='nonexisting';
--echo End of 5.1 tests. --echo End of 5.1 tests.
...@@ -23,14 +23,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ...@@ -23,14 +23,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
# Exception is the embedded server that needs this library compiled with # Exception is the embedded server that needs this library compiled with
# dynamic TLS, i.e. define USE_TLS # dynamic TLS, i.e. define USE_TLS
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/mysys) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/mysys)
ADD_LIBRARY(mysys array.c charset-def.c charset.c checksum.c default.c default_modify.c SET(MYSYS_SOURCES array.c charset-def.c charset.c checksum.c default.c default_modify.c
errors.c hash.c list.c md5.c mf_brkhant.c mf_cache.c mf_dirname.c mf_fn_ext.c errors.c hash.c list.c md5.c mf_brkhant.c mf_cache.c mf_dirname.c mf_fn_ext.c
mf_format.c mf_getdate.c mf_iocache.c mf_iocache2.c mf_keycache.c mf_format.c mf_getdate.c mf_iocache.c mf_iocache2.c mf_keycache.c
mf_keycaches.c mf_loadpath.c mf_pack.c mf_path.c mf_qsort.c mf_qsort2.c mf_keycaches.c mf_loadpath.c mf_pack.c mf_path.c mf_qsort.c mf_qsort2.c
...@@ -47,3 +42,7 @@ ADD_LIBRARY(mysys array.c charset-def.c charset.c checksum.c default.c default_m ...@@ -47,3 +42,7 @@ ADD_LIBRARY(mysys array.c charset-def.c charset.c checksum.c default.c default_m
my_windac.c my_winthread.c my_write.c ptr_cmp.c queues.c my_windac.c my_winthread.c my_write.c ptr_cmp.c queues.c
rijndael.c safemalloc.c sha1.c string.c thr_alarm.c thr_lock.c thr_mutex.c rijndael.c safemalloc.c sha1.c string.c thr_alarm.c thr_lock.c thr_mutex.c
thr_rwlock.c tree.c typelib.c my_vle.c base64.c my_memmem.c my_getpagesize.c) thr_rwlock.c tree.c typelib.c my_vle.c base64.c my_memmem.c my_getpagesize.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(mysys ${MYSYS_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
#include "mysys_priv.h" #include "mysys_priv.h"
#include <m_string.h> #include <m_string.h>
#if !defined(__FreeBSD__) || defined(__linux__) #ifndef MAIN
#if defined(__FreeBSD__) || defined(__linux__)
static my_bool memcpy_and_test(uchar *to, uchar *from, uint len) static my_bool memcpy_and_test(uchar *to, uchar *from, uint len)
{ {
uint i, res=1; uint i, res=1;
...@@ -29,6 +31,7 @@ static my_bool memcpy_and_test(uchar *to, uchar *from, uint len) ...@@ -29,6 +31,7 @@ static my_bool memcpy_and_test(uchar *to, uchar *from, uint len)
res=0; res=0;
return res; return res;
} }
#endif /* FreeBSD || linux */
#ifdef __FreeBSD__ #ifdef __FreeBSD__
...@@ -98,7 +101,7 @@ err: ...@@ -98,7 +101,7 @@ err:
return res; return res;
} }
#else #else /* FreeBSD elif linux */
/* just fail */ /* just fail */
my_bool my_gethwaddr(uchar *to __attribute__((unused))) my_bool my_gethwaddr(uchar *to __attribute__((unused)))
{ {
......
...@@ -17,4 +17,9 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE ...@@ -17,4 +17,9 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
ADD_LIBRARY(regex debug.c regcomp.c regerror.c regexec.c regfree.c reginit.c split.c)
SET(REGEX_SOURCES debug.c regcomp.c regerror.c regexec.c regfree.c reginit.c split.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(regex ${REGEX_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -24,7 +24,7 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/sql ...@@ -24,7 +24,7 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/sql
ADD_EXECUTABLE(mysqlmanager buffer.cc command.cc commands.cc guardian.cc instance.cc instance_map.cc ADD_EXECUTABLE(mysqlmanager buffer.cc command.cc commands.cc guardian.cc instance.cc instance_map.cc
instance_options.cc listener.cc log.cc manager.cc messages.cc mysql_connection.cc instance_options.cc listener.cc log.cc manager.cc messages.cc mysql_connection.cc
mysqlmanager.cc options.cc parse.cc parse_output.cc priv.cc protocol.cc mysqlmanager.cc options.cc parse.cc parse_output.cc priv.cc protocol.cc
thread_registry.cc user_map.cc imservice.cpp windowsservice.cpp thread_registry.cc user_map.cc IMService.cpp WindowsService.cpp
user_management_commands.cc user_management_commands.cc
../../sql/net_serv.cc ../../sql-common/pack.c ../../sql/password.c ../../sql/net_serv.cc ../../sql-common/pack.c ../../sql/password.c
../../sql/sql_state.c ../../sql-common/client.c ../../libmysql/get_password.c ../../sql/sql_state.c ../../sql-common/client.c ../../libmysql/get_password.c
......
...@@ -28,9 +28,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ...@@ -28,9 +28,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
) )
SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc
${CMAKE_SOURCE_DIR}/sql/message.h ${CMAKE_SOURCE_DIR}/sql/message.h
${CMAKE_SOURCE_DIR}/sql/sql_yacc.h ${CMAKE_SOURCE_DIR}/sql/sql_yacc.h
${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc
${CMAKE_SOURCE_DIR}/include/mysql_version.h ${CMAKE_SOURCE_DIR}/include/mysql_version.h
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc
${CMAKE_SOURCE_DIR}/sql/lex_hash.h ${CMAKE_SOURCE_DIR}/sql/lex_hash.h
...@@ -41,8 +41,8 @@ SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc ...@@ -41,8 +41,8 @@ SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc
ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN) ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN)
ADD_EXECUTABLE(mysqld${MYSQLD_EXE_SUFFIX} ADD_EXECUTABLE(mysqld
../sql-common/client.c derror.cc des_key_file.cc ../sql-common/client.c derror.cc des_key_file.cc
discover.cc ../libmysql/errmsg.c field.cc field_conv.cc discover.cc ../libmysql/errmsg.c field.cc field_conv.cc
filesort.cc gstream.cc filesort.cc gstream.cc
ha_partition.cc ha_partition.cc
...@@ -74,74 +74,91 @@ ADD_EXECUTABLE(mysqld${MYSQLD_EXE_SUFFIX} ...@@ -74,74 +74,91 @@ ADD_EXECUTABLE(mysqld${MYSQLD_EXE_SUFFIX}
sql_tablespace.cc events.cc ../sql-common/my_user.c sql_tablespace.cc events.cc ../sql-common/my_user.c
partition_info.cc rpl_utility.cc rpl_injector.cc sql_locale.cc partition_info.cc rpl_utility.cc rpl_injector.cc sql_locale.cc
rpl_rli.cc rpl_mi.cc sql_servers.cc rpl_rli.cc rpl_mi.cc sql_servers.cc
sql_connect.cc scheduler.cc sql_connect.cc scheduler.cc
${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
${PROJECT_SOURCE_DIR}/sql/sql_yacc.h ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
${PROJECT_SOURCE_DIR}/include/mysqld_error.h ${PROJECT_SOURCE_DIR}/include/mysqld_error.h
${PROJECT_SOURCE_DIR}/include/mysqld_ername.h ${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
${PROJECT_SOURCE_DIR}/include/sql_state.h ${PROJECT_SOURCE_DIR}/include/sql_state.h
${PROJECT_SOURCE_DIR}/include/mysql_version.h ${PROJECT_SOURCE_DIR}/include/mysql_version.h
${PROJECT_SOURCE_DIR}/sql/sql_builtin.cc ${PROJECT_SOURCE_DIR}/sql/sql_builtin.cc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h) ${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX}
heap myisam myisammrg mysys yassl zlib debug dbug yassl TARGET_LINK_LIBRARIES(mysqld
heap myisam myisammrg mysys yassl zlib debug dbug yassl
taocrypt strings vio regex wsock32 ws2_32) taocrypt strings vio regex wsock32 ws2_32)
SET_TARGET_PROPERTIES(mysqld PROPERTIES OUTPUT_NAME mysqld${MYSQLD_EXE_SUFFIX})
# Work around for 2.4.6 bug, OUTPUT_NAME will not set the right .PDB
# file name. Note that COMPILE_FLAGS set some temporary pdb during build,
# LINK_FLAGS sets the real one.
SET_TARGET_PROPERTIES(mysqld PROPERTIES
COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/mysqld${MYSQLD_EXE_SUFFIX}.pdb"
LINK_FLAGS "/PDB:${CMAKE_CFG_INTDIR}/mysqld${MYSQLD_EXE_SUFFIX}.pdb")
IF(EMBED_MANIFESTS) IF(EMBED_MANIFESTS)
MYSQL_EMBED_MANIFEST("mysqld" "asInvoker") MYSQL_EMBED_MANIFEST("mysqld" "asInvoker")
ENDIF(EMBED_MANIFESTS) ENDIF(EMBED_MANIFESTS)
IF(WITH_ARCHIVE_STORAGE_ENGINE) IF(WITH_ARCHIVE_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} archive) TARGET_LINK_LIBRARIES(mysqld archive)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE) ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE) IF(WITH_BLACKHOLE_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} blackhole) TARGET_LINK_LIBRARIES(mysqld blackhole)
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE) ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_CSV_STORAGE_ENGINE) IF(WITH_CSV_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} csv) TARGET_LINK_LIBRARIES(mysqld csv)
ENDIF(WITH_CSV_STORAGE_ENGINE) ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE) IF(WITH_EXAMPLE_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} example) TARGET_LINK_LIBRARIES(mysqld example)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE) ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE) IF(WITH_FEDERATED_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} federated) TARGET_LINK_LIBRARIES(mysqld federated)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE) ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_INNOBASE_STORAGE_ENGINE) IF(WITH_INNOBASE_STORAGE_ENGINE)
TARGET_LINK_LIBRARIES(mysqld${MYSQLD_EXE_SUFFIX} innobase) TARGET_LINK_LIBRARIES(mysqld innobase)
ENDIF(WITH_INNOBASE_STORAGE_ENGINE) ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqld${MYSQLD_EXE_SUFFIX} GenError) ADD_DEPENDENCIES(mysqld GenError)
# NOTE CMake 2.4.6 creates strange dependencies between files in OUTPUT,
# so for now we only list one if more than one
# Sql Parser custom command # Sql Parser custom command
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
SOURCE ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc # ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
COMMAND bison.exe ARGS -y -p MYSQL --defines=sql_yacc.h COMMAND bison.exe ARGS -y -p MYSQL --defines=sql_yacc.h
--output=sql_yacc.cc sql_yacc.yy --output=sql_yacc.cc sql_yacc.yy
DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy) DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy)
ADD_CUSTOM_COMMAND( IF(WIN32)
OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h # Windows message file
COMMAND echo ADD_CUSTOM_COMMAND(
DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc OUTPUT ${PROJECT_SOURCE_DIR}/sql/message.h
) # ${PROJECT_SOURCE_DIR}/sql/message.rc
COMMAND mc ARGS message.mc
# Windows message file DEPENDS ${PROJECT_SOURCE_DIR}/sql/message.mc)
ADD_CUSTOM_COMMAND( ENDIF(WIN32)
SOURCE message.mc
OUTPUT message.rc message.h
COMMAND mc ARGS message.mc
DEPENDS message.mc)
# Gen_lex_hash # Gen_lex_hash
ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
TARGET_LINK_LIBRARIES(gen_lex_hash dbug mysqlclient wsock32) TARGET_LINK_LIBRARIES(gen_lex_hash debug dbug mysqlclient wsock32)
GET_TARGET_PROPERTY(GEN_LEX_HASH_EXE gen_lex_hash LOCATION) GET_TARGET_PROPERTY(GEN_LEX_HASH_EXE gen_lex_hash LOCATION)
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${PROJECT_SOURCE_DIR}/sql/lex_hash.h OUTPUT ${PROJECT_SOURCE_DIR}/sql/lex_hash.h
COMMAND ${GEN_LEX_HASH_EXE} ARGS > lex_hash.h COMMAND ${GEN_LEX_HASH_EXE} ARGS > lex_hash.h
DEPENDS ${GEN_LEX_HASH_EXE} DEPENDS ${GEN_LEX_HASH_EXE})
)
ADD_DEPENDENCIES(mysqld${MYSQLD_EXE_SUFFIX} gen_lex_hash) ADD_CUSTOM_TARGET(
GenServerSource ALL
DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
# ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
${PROJECT_SOURCE_DIR}/sql/message.h
# ${PROJECT_SOURCE_DIR}/sql/message.rc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
ADD_DEPENDENCIES(mysqld GenServerSource)
# Remove the auto-generated files as part of 'Clean Solution' # Remove the auto-generated files as part of 'Clean Solution'
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
......
...@@ -2957,49 +2957,70 @@ static int fill_schema_table_from_frm(THD *thd,TABLE *table, ...@@ -2957,49 +2957,70 @@ static int fill_schema_table_from_frm(THD *thd,TABLE *table,
LEX_STRING *table_name, LEX_STRING *table_name,
enum enum_schema_tables schema_table_idx) enum enum_schema_tables schema_table_idx)
{ {
TABLE_SHARE share; TABLE_SHARE *share;
TABLE tbl; TABLE tbl;
TABLE_LIST table_list; TABLE_LIST table_list;
char path[FN_REFLEN]; uint res= 0;
uint res; int error;
char key[MAX_DBKEY_LENGTH];
uint key_length;
bzero((char*) &table_list, sizeof(TABLE_LIST)); bzero((char*) &table_list, sizeof(TABLE_LIST));
bzero((char*) &tbl, sizeof(TABLE)); bzero((char*) &tbl, sizeof(TABLE));
(void) build_table_filename(path, sizeof(path), db_name->str,
table_name->str, "", 0); table_list.table_name= table_name->str;
init_tmp_table_share(&share, "", 0, "", path); table_list.db= db_name->str;
if (!(res= open_table_def(thd, &share, OPEN_VIEW))) key_length= create_table_def_key(thd, key, &table_list, 0);
pthread_mutex_lock(&LOCK_open);
share= get_table_share(thd, &table_list, key,
key_length, OPEN_VIEW, &error);
if (!share)
{ {
share.tmp_table= NO_TMP_TABLE; res= 0;
tbl.s= &share; goto err;
table_list.table= &tbl; }
if (schema_table->i_s_requested_object & OPEN_TABLE_FROM_SHARE)
if (share->is_view)
{
if (schema_table->i_s_requested_object & OPEN_TABLE_ONLY)
{ {
if (share.is_view || /* skip view processing */
open_table_from_share(thd, &share, table_name->str, 0, res= 0;
(READ_KEYINFO | COMPUTE_TYPES | goto err1;
EXTRA_RECORD | OPEN_FRM_FILE_ONLY), }
thd->open_options, &tbl, FALSE)) else if (schema_table->i_s_requested_object & OPEN_VIEW_FULL)
{ {
share.tmp_table= INTERNAL_TMP_TABLE; /*
free_table_share(&share); tell get_all_tables() to fall back to
return (share.is_view && open_normal_and_derived_tables()
!(schema_table->i_s_requested_object & */
~(OPEN_TABLE_FROM_SHARE|OPTIMIZE_I_S_TABLE))); res= 1;
} goto err1;
} }
table_list.view= (st_lex*) share.is_view; }
if (share->is_view ||
!open_table_from_share(thd, share, table_name->str, 0,
(READ_KEYINFO | COMPUTE_TYPES |
EXTRA_RECORD | OPEN_FRM_FILE_ONLY),
thd->open_options, &tbl, FALSE))
{
tbl.s= share;
table_list.table= &tbl;
table_list.view= (st_lex*) share->is_view;
res= schema_table->process_table(thd, &table_list, table, res= schema_table->process_table(thd, &table_list, table,
res, db_name, table_name); res, db_name, table_name);
share.tmp_table= INTERNAL_TMP_TABLE; closefrm(&tbl, true);
if (schema_table->i_s_requested_object & OPEN_TABLE_FROM_SHARE) goto err;
closefrm(&tbl, true);
else
free_table_share(&share);
} }
if (res) err1:
thd->clear_error(); release_table_share(share, RELEASE_NORMAL);
return 0;
err:
pthread_mutex_unlock(&LOCK_open);
thd->clear_error();
return res;
} }
...@@ -3038,7 +3059,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond) ...@@ -3038,7 +3059,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
enum enum_schema_tables schema_table_idx; enum enum_schema_tables schema_table_idx;
List<LEX_STRING> db_names; List<LEX_STRING> db_names;
List_iterator_fast<LEX_STRING> it(db_names); List_iterator_fast<LEX_STRING> it(db_names);
COND *partial_cond; COND *partial_cond= 0;
uint derived_tables= lex->derived_tables; uint derived_tables= lex->derived_tables;
int error= 1; int error= 1;
Open_tables_state open_tables_state_backup; Open_tables_state open_tables_state_backup;
...@@ -3077,20 +3098,35 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond) ...@@ -3077,20 +3098,35 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
DBUG_PRINT("INDEX VALUES",("db_name='%s', table_name='%s'", DBUG_PRINT("INDEX VALUES",("db_name='%s', table_name='%s'",
lookup_field_vals.db_value.str, lookup_field_vals.db_value.str,
lookup_field_vals.table_value.str)); lookup_field_vals.table_value.str));
if (lookup_field_vals.db_value.length &&
!lookup_field_vals.wild_db_value &&
lookup_field_vals.table_value.length &&
!lookup_field_vals.wild_table_value)
partial_cond= 0;
else
partial_cond= make_cond_for_info_schema(cond, tables);
if (lookup_field_vals.db_value.length && !lookup_field_vals.wild_db_value) if (!lookup_field_vals.wild_db_value && !lookup_field_vals.wild_table_value)
{
/*
if lookup value is empty string then
it's impossible table name or db name
*/
if (lookup_field_vals.db_value.str &&
!lookup_field_vals.db_value.str[0] ||
lookup_field_vals.table_value.str &&
!lookup_field_vals.table_value.str[0])
{
error= 0;
goto err;
}
}
if (lookup_field_vals.db_value.length &&
!lookup_field_vals.wild_db_value)
tables->has_db_lookup_value= TRUE; tables->has_db_lookup_value= TRUE;
if (lookup_field_vals.table_value.length && if (lookup_field_vals.table_value.length &&
!lookup_field_vals.wild_table_value) !lookup_field_vals.wild_table_value)
tables->has_table_lookup_value= TRUE; tables->has_table_lookup_value= TRUE;
if (tables->has_db_lookup_value && tables->has_table_lookup_value)
partial_cond= 0;
else
partial_cond= make_cond_for_info_schema(cond, tables);
tables->table_open_method= table_open_method= tables->table_open_method= table_open_method=
get_table_open_method(tables, schema_table, schema_table_idx); get_table_open_method(tables, schema_table, schema_table_idx);
...@@ -3255,7 +3291,7 @@ bool store_schema_shemata(THD* thd, TABLE *table, LEX_STRING *db_name, ...@@ -3255,7 +3291,7 @@ bool store_schema_shemata(THD* thd, TABLE *table, LEX_STRING *db_name,
} }
int fill_schema_shemata(THD *thd, TABLE_LIST *tables, COND *cond) int fill_schema_schemata(THD *thd, TABLE_LIST *tables, COND *cond)
{ {
/* /*
TODO: fill_schema_shemata() is called when new client is connected. TODO: fill_schema_shemata() is called when new client is connected.
...@@ -3281,6 +3317,23 @@ int fill_schema_shemata(THD *thd, TABLE_LIST *tables, COND *cond) ...@@ -3281,6 +3317,23 @@ int fill_schema_shemata(THD *thd, TABLE_LIST *tables, COND *cond)
&with_i_schema)) &with_i_schema))
DBUG_RETURN(1); DBUG_RETURN(1);
/*
If we have lookup db value we should check that the database exists
*/
if(lookup_field_vals.db_value.str && !lookup_field_vals.wild_db_value)
{
char path[FN_REFLEN+16];
uint path_len;
MY_STAT stat_info;
if (!lookup_field_vals.db_value.str[0])
DBUG_RETURN(0);
path_len= build_table_filename(path, sizeof(path),
lookup_field_vals.db_value.str, "", "", 0);
path[path_len-1]= 0;
if (!my_stat(path,&stat_info,MYF(0)))
DBUG_RETURN(0);
}
List_iterator_fast<LEX_STRING> it(db_names); List_iterator_fast<LEX_STRING> it(db_names);
while ((db_name=it++)) while ((db_name=it++))
{ {
...@@ -6409,7 +6462,7 @@ ST_SCHEMA_TABLE schema_tables[]= ...@@ -6409,7 +6462,7 @@ ST_SCHEMA_TABLE schema_tables[]=
create_schema_table, fill_schema_coll_charset_app, 0, 0, -1, -1, 0, 0}, create_schema_table, fill_schema_coll_charset_app, 0, 0, -1, -1, 0, 0},
{"COLUMNS", columns_fields_info, create_schema_table, {"COLUMNS", columns_fields_info, create_schema_table,
get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2, 0, get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2, 0,
OPEN_TABLE_FROM_SHARE|OPTIMIZE_I_S_TABLE}, OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL},
{"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table, {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
fill_schema_column_privileges, 0, 0, -1, -1, 0, 0}, fill_schema_column_privileges, 0, 0, -1, -1, 0, 0},
{"ENGINES", engines_fields_info, create_schema_table, {"ENGINES", engines_fields_info, create_schema_table,
...@@ -6439,7 +6492,7 @@ ST_SCHEMA_TABLE schema_tables[]= ...@@ -6439,7 +6492,7 @@ ST_SCHEMA_TABLE schema_tables[]=
{"ROUTINES", proc_fields_info, create_schema_table, {"ROUTINES", proc_fields_info, create_schema_table,
fill_schema_proc, make_proc_old_format, 0, -1, -1, 0, 0}, fill_schema_proc, make_proc_old_format, 0, -1, -1, 0, 0},
{"SCHEMATA", schema_fields_info, create_schema_table, {"SCHEMATA", schema_fields_info, create_schema_table,
fill_schema_shemata, make_schemata_old_format, 0, 1, -1, 0, 0}, fill_schema_schemata, make_schemata_old_format, 0, 1, -1, 0, 0},
{"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table, {"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
fill_schema_schema_privileges, 0, 0, -1, -1, 0, 0}, fill_schema_schema_privileges, 0, 0, -1, -1, 0, 0},
{"SESSION_STATUS", variables_fields_info, create_schema_table, {"SESSION_STATUS", variables_fields_info, create_schema_table,
...@@ -6448,7 +6501,7 @@ ST_SCHEMA_TABLE schema_tables[]= ...@@ -6448,7 +6501,7 @@ ST_SCHEMA_TABLE schema_tables[]=
fill_variables, make_old_format, 0, -1, -1, 0, 0}, fill_variables, make_old_format, 0, -1, -1, 0, 0},
{"STATISTICS", stat_fields_info, create_schema_table, {"STATISTICS", stat_fields_info, create_schema_table,
get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0, get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0,
OPEN_TABLE_ONLY|OPEN_TABLE_FROM_SHARE|OPTIMIZE_I_S_TABLE}, OPEN_TABLE_ONLY|OPTIMIZE_I_S_TABLE},
{"STATUS", variables_fields_info, create_schema_table, fill_status, {"STATUS", variables_fields_info, create_schema_table, fill_status,
make_old_format, 0, -1, -1, 1, 0}, make_old_format, 0, -1, -1, 1, 0},
{"TABLES", tables_fields_info, create_schema_table, {"TABLES", tables_fields_info, create_schema_table,
......
...@@ -1753,7 +1753,7 @@ int open_table_from_share(THD *thd, TABLE_SHARE *share, const char *alias, ...@@ -1753,7 +1753,7 @@ int open_table_from_share(THD *thd, TABLE_SHARE *share, const char *alias,
} }
#ifdef WITH_PARTITION_STORAGE_ENGINE #ifdef WITH_PARTITION_STORAGE_ENGINE
if (share->partition_info_len) if (share->partition_info_len && outparam->file)
{ {
/* /*
In this execution we must avoid calling thd->change_item_tree since In this execution we must avoid calling thd->change_item_tree since
......
...@@ -153,11 +153,40 @@ ...@@ -153,11 +153,40 @@
#define OPEN_VIEW 8192 /* Allow open on view */ #define OPEN_VIEW 8192 /* Allow open on view */
#define OPEN_VIEW_NO_PARSE 16384 /* Open frm only if it's a view, #define OPEN_VIEW_NO_PARSE 16384 /* Open frm only if it's a view,
but do not parse view itself */ but do not parse view itself */
#define OPEN_FRM_FILE_ONLY 32768 /* Open frm file only */ /*
#define OPEN_TABLE_ONLY OPEN_FRM_FILE_ONLY*2 /* Open view only */ This flag is used in function get_all_tables() which fills
#define OPEN_VIEW_ONLY OPEN_TABLE_ONLY*2 /* Open table only */ I_S tables with data which are retrieved from frm files and storage engine
#define OPEN_TABLE_FROM_SHARE OPEN_VIEW_ONLY*2 /* For I_S tables*/ The flag means that we need to open FRM file only to get necessary data.
#define OPTIMIZE_I_S_TABLE OPEN_TABLE_FROM_SHARE*2 /* For I_S tables*/ */
#define OPEN_FRM_FILE_ONLY 32768
/*
This flag is used in function get_all_tables() which fills
I_S tables with data which are retrieved from frm files and storage engine
The flag means that we need to process tables only to get necessary data.
Views are not processed.
*/
#define OPEN_TABLE_ONLY OPEN_FRM_FILE_ONLY*2
/*
This flag is used in function get_all_tables() which fills
I_S tables with data which are retrieved from frm files and storage engine
The flag means that we need to process views only to get necessary data.
Tables are not processed.
*/
#define OPEN_VIEW_ONLY OPEN_TABLE_ONLY*2
/*
This flag is used in function get_all_tables() which fills
I_S tables with data which are retrieved from frm files and storage engine.
The flag means that we need to open a view using
open_normal_and_derived_tables() function.
*/
#define OPEN_VIEW_FULL OPEN_VIEW_ONLY*2
/*
This flag is used in function get_all_tables() which fills
I_S tables with data which are retrieved from frm files and storage engine.
The flag means that I_S table uses optimization algorithm.
*/
#define OPTIMIZE_I_S_TABLE OPEN_VIEW_FULL*2
#define SC_INFO_LENGTH 4 /* Form format constant */ #define SC_INFO_LENGTH 4 /* Form format constant */
#define TE_INFO_LENGTH 3 #define TE_INFO_LENGTH 3
#define MTYP_NOEMPTY_BIT 128 #define MTYP_NOEMPTY_BIT 128
......
...@@ -20,5 +20,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib ...@@ -20,5 +20,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(archive azio.c ha_archive.cc ha_archive.h)
TARGET_LINK_LIBRARIES(archive zlib mysys dbug strings) SET(ARCHIVE_SOURCES azio.c ha_archive.cc ha_archive.h)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(archive ${ARCHIVE_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(blackhole ha_blackhole.cc ha_blackhole.h)
SET(BLACKHOLE_SOURCES ha_blackhole.cc ha_blackhole.h)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(blackhole ${BLACKHOLE_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(csv ha_tina.cc ha_tina.h transparent_file.cc transparent_file.h)
SET(CSV_SOURCES ha_tina.cc ha_tina.h transparent_file.cc transparent_file.h)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(csv ${CSV_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ...@@ -19,4 +19,9 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(example ha_example.cc)
SET(EXAMPLE_SOURCES ha_example.cc)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(example ${EXAMPLE_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(federated ha_federated.cc)
SET(FEDERATED_SOURCES ha_federated.cc)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(federated ${FEDERATED_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -15,16 +15,18 @@ ...@@ -15,16 +15,18 @@
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(heap _check.c _rectest.c hp_block.c hp_clear.c hp_close.c hp_create.c
SET(HEAP_SOURCES _check.c _rectest.c hp_block.c hp_clear.c hp_close.c hp_create.c
ha_heap.cc ha_heap.cc
hp_delete.c hp_extra.c hp_hash.c hp_info.c hp_open.c hp_panic.c hp_delete.c hp_extra.c hp_hash.c hp_info.c hp_open.c hp_panic.c
hp_rename.c hp_rfirst.c hp_rkey.c hp_rlast.c hp_rnext.c hp_rprev.c hp_rename.c hp_rfirst.c hp_rkey.c hp_rlast.c hp_rnext.c hp_rprev.c
hp_rrnd.c hp_rsame.c hp_scan.c hp_static.c hp_update.c hp_write.c) hp_rrnd.c hp_rsame.c hp_scan.c hp_static.c hp_update.c hp_write.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(heap ${HEAP_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -15,18 +15,16 @@ ...@@ -15,18 +15,16 @@
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -DWIN32 -D_LIB) ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -D_LIB)
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
include ${CMAKE_SOURCE_DIR}/storage/innobase/include
handler ${CMAKE_SOURCE_DIR}/storage/innobase/handler
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
SET(INNOBASE_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c
data/data0data.c data/data0type.c data/data0data.c data/data0type.c
dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.c dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.c
...@@ -57,3 +55,7 @@ ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c ...@@ -57,3 +55,7 @@ ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c
usr/usr0sess.c usr/usr0sess.c
ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c ut/ut0vec.c ut/ut0list.c ut/ut0wqueue.c) ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c ut/ut0vec.c ut/ut0list.c ut/ut0wqueue.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(innobase ${INNOBASE_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -16,16 +16,13 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake") ...@@ -16,16 +16,13 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(myisam ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c ft_stem.c
SET(MYISAM_SOURCES ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c ft_stem.c
ha_myisam.cc ha_myisam.cc
ft_stopwords.c ft_update.c mi_cache.c mi_changed.c mi_check.c ft_stopwords.c ft_update.c mi_cache.c mi_changed.c mi_check.c
mi_checksum.c mi_close.c mi_create.c mi_dbug.c mi_delete.c mi_checksum.c mi_close.c mi_create.c mi_dbug.c mi_delete.c
...@@ -37,21 +34,27 @@ ADD_LIBRARY(myisam ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c f ...@@ -37,21 +34,27 @@ ADD_LIBRARY(myisam ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c f
mi_unique.c mi_update.c mi_write.c rt_index.c rt_key.c rt_mbr.c mi_unique.c mi_update.c mi_write.c rt_index.c rt_key.c rt_mbr.c
rt_split.c sort.c sp_key.c ft_eval.h myisamdef.h rt_index.h mi_rkey.c) rt_split.c sort.c sp_key.c ft_eval.h myisamdef.h rt_index.h mi_rkey.c)
ADD_EXECUTABLE(myisam_ftdump myisam_ftdump.c) IF(NOT SOURCE_SUBLIBS)
TARGET_LINK_LIBRARIES(myisam_ftdump myisam mysys debug dbug strings zlib wsock32)
ADD_LIBRARY(myisam ${MYISAM_SOURCES})
ADD_EXECUTABLE(myisam_ftdump myisam_ftdump.c)
TARGET_LINK_LIBRARIES(myisam_ftdump myisam mysys debug dbug strings zlib wsock32)
ADD_EXECUTABLE(myisamchk myisamchk.c)
TARGET_LINK_LIBRARIES(myisamchk myisam mysys debug dbug strings zlib wsock32)
ADD_EXECUTABLE(myisamchk myisamchk.c) ADD_EXECUTABLE(myisamlog myisamlog.c)
TARGET_LINK_LIBRARIES(myisamchk myisam mysys debug dbug strings zlib wsock32) TARGET_LINK_LIBRARIES(myisamlog myisam mysys debug dbug strings zlib wsock32)
ADD_EXECUTABLE(myisamlog myisamlog.c) ADD_EXECUTABLE(myisampack myisampack.c)
TARGET_LINK_LIBRARIES(myisamlog myisam mysys debug dbug strings zlib wsock32) TARGET_LINK_LIBRARIES(myisampack myisam mysys debug dbug strings zlib wsock32)
ADD_EXECUTABLE(myisampack myisampack.c) IF(EMBED_MANIFESTS)
TARGET_LINK_LIBRARIES(myisampack myisam mysys debug dbug strings zlib wsock32) MYSQL_EMBED_MANIFEST("myisam_ftdump" "asInvoker")
MYSQL_EMBED_MANIFEST("myisamchk" "asInvoker")
MYSQL_EMBED_MANIFEST("myisamlog" "asInvoker")
MYSQL_EMBED_MANIFEST("myisampack" "asInvoker")
ENDIF(EMBED_MANIFESTS)
IF(EMBED_MANIFESTS) ENDIF(NOT SOURCE_SUBLIBS)
MYSQL_EMBED_MANIFEST("myisam_ftdump" "asInvoker")
MYSQL_EMBED_MANIFEST("myisamchk" "asInvoker")
MYSQL_EMBED_MANIFEST("myisamlog" "asInvoker")
MYSQL_EMBED_MANIFEST("myisampack" "asInvoker")
ENDIF(EMBED_MANIFESTS)
...@@ -15,17 +15,19 @@ ...@@ -15,17 +15,19 @@
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
IF(EMBEDDED_ONLY)
ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(EMBEDDED_ONLY)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/extra/yassl/include) ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(myisammrg myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myrg_info.c
SET(MYISAMMRG_SOURCES myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myrg_info.c
ha_myisammrg.cc ha_myisammrg.cc
myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c
myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c
myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c
myrg_write.c) myrg_write.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(myisammrg ${MYISAMMRG_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -17,7 +17,8 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE ...@@ -17,7 +17,8 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
ADD_LIBRARY(strings bchange.c bcmp.c bfill.c bmove512.c bmove_upp.c ctype-big5.c ctype-bin.c ctype-cp932.c
SET(STRINGS_SOURCES bchange.c bcmp.c bfill.c bmove512.c bmove_upp.c ctype-big5.c ctype-bin.c ctype-cp932.c
ctype-czech.c ctype-euc_kr.c ctype-eucjpms.c ctype-extra.c ctype-gb2312.c ctype-gbk.c ctype-czech.c ctype-euc_kr.c ctype-eucjpms.c ctype-extra.c ctype-gb2312.c ctype-gbk.c
ctype-latin1.c ctype-mb.c ctype-simple.c ctype-sjis.c ctype-tis620.c ctype-uca.c ctype-latin1.c ctype-mb.c ctype-simple.c ctype-sjis.c ctype-tis620.c ctype-uca.c
ctype-ucs2.c ctype-ujis.c ctype-utf8.c ctype-win1250ch.c ctype.c decimal.c int2str.c ctype-ucs2.c ctype-ujis.c ctype-utf8.c ctype-win1250ch.c ctype.c decimal.c int2str.c
...@@ -25,3 +26,7 @@ ADD_LIBRARY(strings bchange.c bcmp.c bfill.c bmove512.c bmove_upp.c ctype-big5.c ...@@ -25,3 +26,7 @@ ADD_LIBRARY(strings bchange.c bcmp.c bfill.c bmove512.c bmove_upp.c ctype-big5.c
str2int.c str_alloc.c strcend.c strend.c strfill.c strmake.c strmov.c strnmov.c str2int.c str_alloc.c strcend.c strend.c strfill.c strmake.c strmov.c strnmov.c
strtod.c strtol.c strtoll.c strtoul.c strtoull.c strxmov.c strxnmov.c xml.c strtod.c strtol.c strtoll.c strtoul.c strtoull.c strxmov.c strxnmov.c xml.c
my_strchr.c strcont.c strinstr.c strnlen.c) my_strchr.c strcont.c strinstr.c strnlen.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(strings ${STRINGS_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -18,4 +18,10 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUT ...@@ -18,4 +18,10 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUT
ADD_DEFINITIONS(-DUSE_SYMDIR) ADD_DEFINITIONS(-DUSE_SYMDIR)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/extra/yassl/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_LIBRARY(vio vio.c viosocket.c viossl.c viosslfactories.c)
SET(VIO_SOURCES vio.c viosocket.c viossl.c viosslfactories.c)
IF(NOT SOURCE_SUBLIBS)
ADD_LIBRARY(vio ${VIO_SOURCES})
ENDIF(NOT SOURCE_SUBLIBS)
...@@ -65,10 +65,9 @@ The options right now are: ...@@ -65,10 +65,9 @@ The options right now are:
EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS
default will be used. (Note - This option should only be default will be used. (Note - This option should only be
used by MySQL AB.) used by MySQL AB.)
EMBEDDED_ONLY Configure solution to produce libmysqld.dll WITH_EMBEDDED_SERVER Configure solution to produce libmysqld.dll
default will be used. and the static mysqlserver.lib
So the command line could look like: So the command line could look like:
win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
...@@ -100,16 +99,3 @@ may be necessary to clean the build tree to remove any stale objects. ...@@ -100,16 +99,3 @@ 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/ 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 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. 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.
...@@ -47,7 +47,7 @@ try ...@@ -47,7 +47,7 @@ try
case "__NT__": case "__NT__":
case "CYBOZU": case "CYBOZU":
case "EMBED_MANIFESTS": case "EMBED_MANIFESTS":
case "EMBEDDED_ONLY": case "WITH_EMBEDDED_SERVER":
configfile.WriteLine("SET (" + args.Item(i) + " TRUE)"); configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
break; break;
case "MYSQL_SERVER_SUFFIX": case "MYSQL_SERVER_SUFFIX":
......
...@@ -9,7 +9,7 @@ MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs) ...@@ -9,7 +9,7 @@ MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs)
TARGET ${_target_name} TARGET ${_target_name}
PRE_LINK PRE_LINK
COMMAND cscript.exe COMMAND cscript.exe
ARGS "${PROJECT_SOURCE_DIR}/win/create_manifest.js" name=$(ProjectName) version=${VERSION} arch=${PROCESSOR_ARCH} exe_level=${_required_privs} outfile=$(IntDir)\\$(TargetFileName).intermediate.manifest ARGS "${PROJECT_SOURCE_DIR}/win/create_manifest.js" name=$(TargetName) version=${VERSION} arch=${PROCESSOR_ARCH} exe_level=${_required_privs} outfile=$(IntDir)\\$(TargetFileName).intermediate.manifest
COMMENT "Generates the contents of the manifest contents.") COMMENT "Generates the contents of the manifest contents.")
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
TARGET ${_target_name} TARGET ${_target_name}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment