Set #pragma implementation" earlier
Many files:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
client/sql_string.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
mysys/raid.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/field.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_berkeley.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_blackhole.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_heap.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_innodb.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_isam.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_isammrg.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_myisam.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_myisammrg.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/ha_ndbcluster.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/handler.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/hash_filo.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_cmpfunc.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_func.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_geofunc.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_strfunc.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_subselect.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_sum.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_timefunc.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/item_uniq.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/log_event.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/opt_range.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/procedure.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/protocol.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/protocol_cursor.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/set_var.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_analyse.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_class.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_crypt.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_list.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_map.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_olap.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/examples/ha_archive.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_select.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_string.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/sql_udf.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/examples/ha_example.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/examples/ha_tina.cc:
Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
sql/tztime.cc:
Set #pragma implementation" earlier
- Remove ha_archive::rename_table and move the fix to handler::rename_table
sql/examples/ha_archive.cc:
Remove ha_archive::rename_table
sql/examples/ha_archive.h:
Remove ha_archive::rename_table
sql/handler.cc:
Fix handler::rename_table so it does not care about if the file to rename is missing
- Implemented ha_archive::rename_table
- Added testcases for rename
mysql-test/r/archive.result:
Addd testcase for rename of archive table
mysql-test/t/archive.test:
Addd testcase for rename of archive table
sql/examples/ha_archive.cc:
Implement special version of rename table that does not care it the .arn file is missing
sql/examples/ha_archive.h:
Implement special version of rename table that does not care it the .arn file is missing
(protection against destroying uninited mutex in the case where mysqld fails early at startup (before archive_db_init() was called)
and then calls archive_db_end() to clean up).
sql/examples/ha_archive.cc:
new static archive_inited variable, so that archive_db_end() will do something only if archive_db_init() was run before.
sql/examples/ha_archive.cc:
More comments, fixed issue with lost file descriptors.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Moved initialization code into a new init function.
Added a new cleanup function.
Added a call to close the meta file.
mysql-test/t/archive.test:
Test Bug: Memory leaks in the archive handler.
Fixed a typo.
sql/examples/ha_archive.h:
Test Bug: Memory leaks in the archive handler.
Added declarations for the new init/cleanup functions.
sql/handler.cc:
Test Bug: Memory leaks in the archive handler.
Added calls of the new init/cleanup functions.
sql/examples/ha_archive.cc:
Cleanup from Bar's and Antony's code review. Meta file should not be system independent (so you can copy around the files as you like).
sql/examples/ha_archive.h:
No longer bother with storing the working version of the data files. Its unimportant while there is only one format.
OPTIMIZE TABLE <archive table>
This recompresses the table, thus removing any additional gzip headers caused by opening/closing or flushing the table.
mysql-test/r/archive.result:
Added optimize test case for archive engine.
mysql-test/t/archive.test:
Added test case for OPTIMIZE table <archive table>
sql/examples/ha_archive.cc:
The big change was the addition of optimize() call to allow tables to be recompressed (so if you have been reading/writing/reading/writing and ending up with larger files then you should, this will solve it). Though adding this feature is going to make it a real headache to add row level locking.
Also fixed bug reported by JD where storage engine code was not functioning (this of course was because I didn't check for the propper return value for hash_init). Removed BROKEN_GZIP ifdef since there was no way to enable it.
sql/examples/ha_archive.h:
Added optimize() method.
Memory was used after it has been alreay freed.
This led to server crash on FreeBSD.
sql/examples/ha_archive.cc:
Memory was used after it has been alreay freed.
This led to server crash on FreeBSD.
A couple of small changes to ha_example (mainly comments).
sql/examples/ha_archive.cc:
Changes from Serg.
A few styles changes, fix for potential hash insert gone wrong, removed bad tables if create fails, gzflush used for flushing by default (had problems with OSX 10.2), and some spelling corrections.
sql/examples/ha_archive.h:
Removed fast_key_read() and changed the name of a conflicting variable.
sql/examples/ha_example.cc:
Added a few new comments.
sql/examples/ha_example.h:
Added pragma interface. Removed fast_key_read() and Serg's request
sql/examples/ha_archive.cc:
Added in example information from testing archive with Slashdot's comments.
sql/handler.h:
Fixed broken merge.
sql/set_var.cc:
Adding in "have_archive" to variables shown to make tests work.
acconfig.h:
Adding undef piece for HAVE_ARCHIVE_DB
acinclude.m4:
Code needed for --with-archive-storage-engine flag for compile.
configure.in:
Adding tag for Archive
sql/Makefile.am:
Source updates to compile ha_archive
sql/examples/ha_archive.cc:
Class file for archive storage engine. First version.
sql/handler.cc:
Updates needed for adding archive storage engine.
sql/handler.h:
ENUM for archive storage engine.
sql/mysql_priv.h:
Archive show options
sql/mysqld.cc:
Ifdef foor HAVE_ARCHIVE_DB
sql/examples/ha_archive.h:
Include file for archive storage engine addition.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted