1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-03 14:33:32 +03:00
Commit Graph

64 Commits

Author SHA1 Message Date
unknown
9f726d99d0 Changes to support optimized bulk inserts. This will solve the problem of selects occurring during a bulk insert, and causing the compression factor to drop.
mysql-test/r/archive.result:
  Updated result set for changes amde to support delayed insert and bulk insert optimizations.
mysql-test/t/archive.test:
  Test cases to test bulk insert statements and delayed insert syntax.
sql/examples/ha_archive.cc:
  Added methods needed for bulk operations to be optimized. Bulk inserts now do not trigger the file as dirty until they are complete. A normal insert though can still cause them to be synced though since it is not effected by the flag. Removed share variable to determine if row count is right or not (it should not be treated as an upper end estimate).
sql/examples/ha_archive.h:
  Removed share variable for delayed flag since it is no longer needed. 
  Added flag in table instance to know if a bulk insert is happening.
  
  Added method declarations for bulk insert optimizations.
2004-11-30 02:52:14 -08:00
unknown
dc80fc2d84 Adding support for archive to handle delayed inserts.
sql/examples/ha_archive.cc:
  Added support for delayed inserts. What delayed inserts mean for archive is that a sync call is not forced with the next select. Instant performance gain, plus if you aren't concerned about having a consistant read you won't be forced to have less then optimized compression.
sql/examples/ha_archive.h:
  Added flags for dalyed inserts and added table flag so that the server knows that archive can support them.
2004-11-29 01:40:25 -08:00
unknown
97ab6b91ab Remove build errors introduced by 5.0 changes.
Removed duplicate code where defaults in handler.h will work just as well. 


sql/examples/ha_archive.cc:
  Fixed build errors, and removed duplicate code.
sql/examples/ha_archive.h:
  Removed duplicate code (we will let the default values in handler.h handle these cases).
2004-11-05 22:49:15 -08:00
unknown
3307318917 true,false -> TRUE, FALSE
Simple fixes/optimization of things discovered during review of new pushed code


include/my_sys.h:
  Ensure that clear_alloc_root() interacts correctly with alloc_root_inited()
mysys/hash.c:
  More comments
  Simple optimization (merge identical code)
mysys/my_bitmap.c:
  Change inline -> static inline
sql/examples/ha_archive.cc:
  Fixed compiler warning
sql/ha_ndbcluster.cc:
  true,false -> TRUE, FALSE
  Change if (false) -> #ifdef NOT_USED
sql/ha_ndbcluster.h:
  true,false -> TRUE, FALSE
sql/handler.cc:
  More comments
  Remove not needed initializations.
  #ifdef not used code
sql/item_cmpfunc.h:
  true,false -> TRUE, FALSE
sql/item_strfunc.cc:
  Move local variables to function beginning
  Remove wrong comments
sql/log_event.h:
  true,false -> TRUE, FALSE
sql/sql_base.cc:
  true,false -> TRUE, FALSE
  More comments
sql/sql_help.cc:
  true,false -> TRUE, FALSE
sql/sql_lex.cc:
  Simple optimization of new code
sql/sql_parse.cc:
  true,false -> TRUE, FALSE
sql/sql_prepare.cc:
  true,false -> TRUE, FALSE
sql/sql_table.cc:
  true,false -> TRUE, FALSE
sql/sql_yacc.yy:
  true,false -> TRUE, FALSE
2004-10-14 18:03:46 +03:00
unknown
62637c9dca Clean up from Bar and Antony code review. Found an issue with the header file were it could end up corrupted.
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.
2004-10-06 23:26:40 -07:00
unknown
9da04daa00 Row level lock code for the archive storage engine.
sql/examples/ha_archive.h:
  Updates for new meta file.
sql/examples/ha_archive.cc:
  Removed debug statement.
2004-10-05 01:40:00 -07:00
unknown
764ea714f4 The major change for this changeset is the addition of code to handle:
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.
2004-09-21 03:33:22 +02:00
unknown
f7d0dfd9e8 Changed %lx -> 0x%lx (for easier comparison of debug files)
Cosmetic cleanups
Don't call 'delete_elements' on copy_funcs as this causes elements to be freed twice


mysys/hash.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/list.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/mf_iocache.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/mf_keycache.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
  Changed debug messages to be more consistent with other mysys files.
mysys/mf_keycaches.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_alloc.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_fopen.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_fstream.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_getwd.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_lib.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_lwrite.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_malloc.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_pread.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_read.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_realloc.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/my_write.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/safemalloc.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/thr_alarm.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/thr_lock.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/thr_mutex.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/tree.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
mysys/typelib.c:
  Changed %lx -> 0x%lx (for easier comparison of debug files)
sql/examples/ha_archive.cc:
  Changed to return error number for some functions (instead of -1)
  Updated function comments & some other minor cleanups
  Ensure that free_share() and gzclose() are always called
  Use 'TRUE' and 'FALSE' instead of 'true' and 'false'
  Removed some compiler warnings
sql/examples/ha_archive.h:
  Fixed to use new prototypes for records_in_range
sql/sql_select.cc:
  Don't call 'delete_elements' on copy_funcs
2004-08-23 13:46:51 +03:00
unknown
325de4ebf1 Updates for archive storage engine.
sql/examples/ha_archive.cc:
  Corrections from Bar's comments. Mainly small code changes/style changes.
2004-07-20 13:25:55 -07:00
unknown
4e95ea7b6e ha_archive.cc:
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.
2004-07-07 13:47:29 +05:00
unknown
ebf9c723f0 followup to handler cleanup
mysql-test/r/bdb.result:
  bug#4000
mysql-test/t/bdb.test:
  bug#4000
sql/sql_select.cc:
  cleanup
2004-06-23 21:26:34 +02:00
unknown
89de63595f Last patch before push into main tree. Updated from code review and final once over.
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
2004-06-07 02:06:33 -07:00
unknown
9a162f9abd Added tests for archive. Cleaned up a merge mistake and added some information on how well archive compresses.
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.
2004-05-25 13:27:01 -07:00
unknown
31c1f849b1 First commit of archive example. Archive is a simple storage engine that handles inserts and selects.
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
2004-05-20 18:13:11 -07:00