The problem was that the optimize code was not closing both the reader and writer streams before attempting
to rename the file. This will not work on Windows where all file handles have to be closed before the
file can be renamed, moved, or deleted. The fix was to move the close calls before the rename.
We return the error code from my_rename in case of failure but we attempt to reopen the writers and readers
even in the case of failure so that the table can still be usable.
storage/archive/ha_archive.cc:
close the writer and reader before the rename so that the rename will work on Windows.
storage/archive/plug.in:
MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
storage/example/plug.in:
MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
config/ac-macros/plugins.m4:
remove unneccessary `ifelse'
add comment, add missing dnl
configure.in:
change description for heap engine
include/mysql/plugin.h:
change macro name
sql/ha_berkeley.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_federated.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_heap.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_innodb.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_myisam.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_myisammrg.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_ndbcluster.cc:
store strings statically for use in handlerton and plugin structures
sql/ha_partition.cc:
store strings statically for use in handlerton and plugin structures
storage/archive/ha_archive.cc:
store strings statically for use in handlerton and plugin structures
storage/blackhole/ha_blackhole.cc:
store strings statically for use in handlerton and plugin structures
storage/csv/ha_tina.cc:
store strings statically for use in handlerton and plugin structures
storage/example/ha_example.cc:
store strings statically for use in handlerton and plugin structures
into xiphis.org:/home/antony/work2/wl3201-post-review.2
BitKeeper/etc/ignore:
auto-union
configure.in:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/archive/ha_archive.h:
Auto merged
end plugin/module naming schizophrenia
fixup shell code and m4 macro comments
cmakelists.txt included in EXTRA_DIST
BUILD/SETUP.sh:
change module -> plugin
config/ac-macros/plugins.m4:
change module -> plugin
rename some macros
fixup comments
alter shell code to use similar 'test "X$var" = Xfoo"' which autoconf generates
configure.in:
change module -> plugin
move plugin mandatory declarations near rest of plugin declaration
storage/archive/Makefile.am:
cmakelists.txt needed in EXTRA_DIST
storage/blackhole/Makefile.am:
cmakelists.txt needed in EXTRA_DIST
storage/csv/Makefile.am:
cmakelists.txt needed in EXTRA_DIST
storage/example/Makefile.am:
cmakelists.txt needed in EXTRA_DIST
into xiphis.org:/home/antony/work2/wl3201.merge
BUILD/SETUP.sh:
Auto merged
libmysqld/Makefile.am:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/partition_info.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/archive/ha_archive.h:
Auto merged
storage/example/ha_example.cc:
Auto merged
Makefile.am:
Merge for WL#3201, some post-merge fixes will be required.
configure.in:
Merge for WL#3201
plugin/Makefile.am:
Merge for WL#3201
storage/innobase/Makefile.am:
Merge for WL#3201
" Configure support for server plugins "
storage/blackhole/ha_blackhole.h:
Rename: sql/ha_blackhole.h -> storage/blackhole/ha_blackhole.h
BitKeeper/deleted/.del-storage.m4~24bf2fffdaa328ad:
Delete: config/ac-macros/storage.m4
BitKeeper/deleted/.del-ha_archive.m4~a07fac7110b39294:
Delete: config/ac-macros/ha_archive.m4
BitKeeper/deleted/.del-ha_blackhole.m4~8ed06eb91f6420ed:
Delete: config/ac-macros/ha_blackhole.m4
BitKeeper/deleted/.del-ha_example.m4~1dfb268163297708:
Delete: config/ac-macros/ha_example.m4
BitKeeper/deleted/.del-ha_federated.m4~7acddd58286acfd6:
Delete: config/ac-macros/ha_federated.m4
BitKeeper/deleted/.del-ha_innodb.m4~6f141fb5b80c1f39:
Delete: config/ac-macros/ha_innodb.m4
BitKeeper/deleted/.del-ha_partition.m4~bc57067550be5f89:
Delete: config/ac-macros/ha_partition.m4
BitKeeper/deleted/.del-ha_tina.m4~f658506ebbc113ca:
Delete: config/ac-macros/ha_tina.m4
BitKeeper/deleted/.del-handlerton.cc.in~377156e7b06067cc:
Delete: sql/handlerton.cc.in
BitKeeper/deleted/.del-handlerton-win.cc~322a7e59507976df:
Delete: sql/handlerton-win.cc
BUILD/SETUP.sh:
WL#3201
Changes in configure arguments
Makefile.am:
WL#3201
changes in build subst names
config/ac-macros/ha_berkeley.m4:
WL#3201
remove unused variable
Makefile is always made
config/ac-macros/ha_ndbcluster.m4:
WL#3201
remove unused variables
Split big macro
configure.in:
WL#3201
out with storage.m4, in with plugins.m4
change how plugins are declared
include makefiles, remove handlerton.cc, add sql_builtin.cc
include/mysql/plugin.h:
WL#3201
support static and dynamic build - MYSQL_DYNAMIC_PLUGIN
libmysqld/Makefile.am:
WL#3201
Storage engine files still left in sql subdir are not conditionally
compiled. Should move them out soon,
plugin/Makefile.am:
WL#3201
update makefile
plugin/fulltext/Makefile.am:
WL#3201
update makefile
plugin/fulltext/plugin_example.c:
WL#3201
change to mysql_declare_plugin macro
sql/Makefile.am:
WL#3201
Storage engine files still left in sql subdir are not conditionally
compiled. Should move them out soon,
sql/ha_berkeley.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_federated.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_heap.cc:
WL#3201
make into a plugin
sql/ha_innodb.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_myisam.cc:
WL#3201
make into a plugin
sql/ha_myisammrg.cc:
WL#3201
make into a plugin
sql/ha_ndbcluster.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_ndbcluster_binlog.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_partition.cc:
WL#3201
make into a plugin
conditionally compile content
sql/handler.cc:
WL#3201
Simplify how storage engines are found by db_type
(hopefully we can get rid of it soon)
Code cleanup
sql/handler.h:
WL#3201
new DB_TYPE_FIRST_DYNAMIC
new func ha_finalize_handlerton()
remove ha_register_builtin_plugins()
sql/log.cc:
WL#3201
make into a plugin
sql/mysqld.cc:
WL#3201
remove ha_register_builtin_plugins()
alter init order so that storage engines are initialized before first use
sql/partition_info.cc:
WL#3201
conditionally compile content
sql/sql_delete.cc:
WL#3201
conditionally include ha_innodb.h
sql/sql_plugin.cc:
WL#3201
All compiled in plugins are in mysqld_builtins[]
add funcs for plugin finalization
install builtin plugins on initialization
sql/sql_show.cc:
WL#3201
Fix to use plugin_foreach()
sql/sql_yacc.yy:
WL#3201
SHOW FULL PLUGIN
storage/archive/Makefile.am:
WL#3201
setup as plugin makefile
storage/archive/ha_archive.cc:
WL#3201
Convert into a plugin
storage/archive/ha_archive.h:
WL#3201
azlib.h now in local dir
storage/blackhole/ha_blackhole.cc:
WL#3201
convert into a plugin
storage/csv/Makefile.am:
WL#3201
setup as plugin makefile
storage/csv/ha_tina.cc:
WL#3201
remove conditional compilation on MYSQL_PLUGIN
mysql_declare_plugin macro change
storage/example/Makefile.am:
WL#3201
fix as new-style plugin makefile
storage/example/ha_example.cc:
WL#3201
remove conditional compilation on MYSQL_PLUGIN
mysql_declare_plugin macro change
storage/innobase/Makefile.am:
WL#3201
Lets make life easier and reduce innodb into a single library file
config/ac-macros/plugins.m4:
New BitKeeper file ``config/ac-macros/plugins.m4''
sql/sql_builtin.cc.in:
New BitKeeper file ``sql/sql_builtin.cc.in''
storage/blackhole/Makefile.am:
New BitKeeper file ``storage/blackhole/Makefile.am''
into mysql.com:/Users/kent/mysql/bk/mysql-5.1-release
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
Include our base headers before system headers
storage/archive/archive_test.c:
Include our base headers before system headers
storage/archive/azio.c:
Include our base headers before system headers
a normal 'make dist' source .tar.gz.
libmysql/mytest.c:
bk cp VC++Files/libmysqltest/mytest.c libmysql/mytest.c
sql/message.mc:
bk cp VC++Files/sql/message.mc sql/message.mc
Makefile.am:
Add Windows CMake stuff.
client/Makefile.am:
Add extra files needed for CMake Windows build.
cmakelists.txt:
Fix subdir order to make CMake dependency calculations happy.
configure.in:
Add extra files needed for CMake Windows build.
extra/Makefile.am:
Add extra files needed for CMake Windows build.
extra/yassl/Makefile.am:
Add extra files needed for CMake Windows build.
libmysql/Makefile.am:
Add extra files needed for CMake Windows build.
libmysql/cmakelists.txt:
Move mytest.c to a more sensible location.
libmysqld/Makefile.am:
Add extra files needed for CMake Windows build.
mysys/Makefile.am:
Add extra files needed for CMake Windows build.
regex/Makefile.am:
Add extra files needed for CMake Windows build.
server-tools/instance-manager/Makefile.am:
Add extra files needed for CMake Windows build.
sql/Makefile.am:
Add extra files needed for CMake Windows build.
sql/cmakelists.txt:
Move message.mc to a more sensible location.
Add some dependencies to avoid a stale handlerton.cc.
storage/archive/Makefile.am:
Add extra files needed for CMake Windows build.
storage/bdb/Makefile.in:
Add extra files needed for CMake Windows build.
storage/example/Makefile.am:
Add extra files needed for CMake Windows build.
storage/heap/Makefile.am:
Add extra files needed for CMake Windows build.
storage/innobase/Makefile.am:
Add extra files needed for CMake Windows build.
storage/innobase/include/univ.i:
Avoid including Unix config in Windows build.
storage/myisam/Makefile.am:
Add extra files needed for CMake Windows build.
storage/myisammrg/Makefile.am:
Add extra files needed for CMake Windows build.
strings/Makefile.am:
Add extra files needed for CMake Windows build.
tests/Makefile.am:
Add extra files needed for CMake Windows build.
vio/Makefile.am:
Add extra files needed for CMake Windows build.
zlib/Makefile.am:
Add extra files needed for CMake Windows build.
storage/archive/azio.c:
Build fixes for not having zutil.h
use memset instead of zmemzero.
use 8 as memory usage level (the default, which we were using anyway)
in the .gz header, just say we're UNIX.
use memcpy instead of zmemcpy.
storage/archive/azlib.h:
don't use zutil.h, it's private to zlib
leaks caused by Archive storage engine not closing files and
storage engines not receiving panic() during shutdown
sql/ha_archive.cc:
surplus my_close() call not neccessary as azclose() should work
sql/mysqld.cc:
Make sure storage engines get panic() call by moving it before plugin_free()
storage/archive/azio.c:
typo perhaps. azio was not closing files.
mysql-test/r/information_schema.result:
Fix for Antony adding plugins to information schema.
sql/ha_archive.cc:
Fix for now using my_off_t, no need to worry about buggy zlib's anymore.
sql/ha_archive.h:
Update to fix issues with buggy zlib.
storage/archive/azio.c:
Moved to using my_off_t (which should fix problems with most fille system size issues).
storage/archive/azlib.h:
Change to using my_off_t
AZIO differs in that it uses mysys methods and removes all of the malloc calls.
configure.in:
Update for new archive directory
libmysqld/Makefile.am:
Adding archive storage directory.
sql/Makefile.am:
Adding archive library.
sql/ha_archive.cc:
Update for ha_archive to use azio.
sql/ha_archive.h:
Updates to support azio.
storage/Makefile.am:
Added archive directory.
storage/archive/Makefile.am:
New BitKeeper file ``storage/archive/Makefile.am''
storage/archive/archive_test.c:
New BitKeeper file ``storage/archive/archive_test.c''
storage/archive/azio.c:
New BitKeeper file ``storage/archive/azio.c''
storage/archive/azlib.h:
New BitKeeper file ``storage/archive/azlib.h''