Commit graph

141 commits

Author SHA1 Message Date
unknown
f50a65b0f1 Test bug: Memory leak in archive handler.
Added a call to close the meta file after a repair.
2005-01-26 22:31:42 +01:00
unknown
01e8459895 Merge from 4.1
Archive fix by Ingo.
Innodb compile fix by Monty.


configure.in:
  Auto merged
innobase/include/univ.i:
  Auto merged
BUILD/SETUP.sh:
  Auto merged
mysql-test/t/archive.test:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/examples/ha_archive.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
innobase/fil/fil0fil.c:
  Merged Montys fix.
2005-01-26 15:51:46 +01:00
unknown
b6e0033171 Test Bug: Memory leaks in the archive handler.
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.
2005-01-26 15:27:31 +01:00
unknown
7b66387475 Merge
BitKeeper/etc/gone:
  auto-union
innobase/os/os0file.c:
  Auto merged
sql-common/client.c:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2005-01-11 05:10:08 +01:00
unknown
4bd2b5adc4 Fix style nit
sql/examples/ha_archive.cc:
  Fix style
2005-01-11 01:01:35 +01:00
unknown
4bb238a054 Fix double-initalization of mutex in archive storage engine. (Bug #7762)
sql/examples/ha_archive.cc:
  Fix redundant initialization of share->mutex
  Fix error handling to always clean up correctly
  Fix a couple of warnings
2005-01-10 23:59:28 +01:00
unknown
c0e6e87926 Updates for Monty's changes in the table structure. All tests pass currently.
Seems like such a short commit message...


sql/examples/ha_archive.cc:
  Updates for Monty's change to table structures.
  The way the loop through blobs worked has changed.
sql/examples/ha_tina.cc:
  Update for monty's change in table structures. 
  Only used for copying null bytes.
2005-01-06 18:34:17 -08:00
unknown
bb2d3eaa30 Merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
VC++Files/sql/mysqld.dsp:
  Auto merged
client/Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_base.h:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_rnext_same.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/ctype_ujis.result:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/r/metadata.result:
  Auto merged
mysql-test/r/ndb_alter_table.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/insert_update.result:
  Auto merged
mysql-test/r/timezone2.result:
  Auto merged
mysql-test/r/type_enum.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
ndb/include/ndbapi/NdbConnection.hpp:
  Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
ndb/src/common/util/version.c:
  Auto merged
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
  Auto merged
ndb/src/kernel/blocks/dbacc/Makefile.am:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
ndb/test/ndbapi/Makefile.am:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_row.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/password.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_do.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/tztime.h:
  Auto merged
sql/udf_example.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
Makefile.am:
  Simple merge
client/mysqldump.c:
  Simple merge
configure.in:
  Simple merge
libmysqld/lib_sql.cc:
  Automatic merge
mysql-test/r/func_str.result:
  Automatic merge
mysql-test/r/grant.result:
  simple merge
mysql-test/r/multi_update.result:
  automatc merge
mysql-test/r/ps.result:
  automatic merge
mysql-test/r/ps_2myisam.result:
  Automatic merge
mysql-test/r/ps_3innodb.result:
  Automatic merge
mysql-test/r/ps_4heap.result:
  Automatic merge
mysql-test/r/ps_5merge.result:
  Automatic merge
mysql-test/r/ps_6bdb.result:
  Automatic merge
mysql-test/r/ps_7ndb.result:
  Automatic merge
mysql-test/r/show_check.result:
  Automatic merge
mysql-test/r/subselect.result:
  Automatic merge
mysql-test/t/grant.test:
  Automatic merge
mysql-test/t/multi_update.test:
  Automatic merge
mysql-test/t/ps.test:
  Automatic merge
mysql-test/t/show_check.test:
  Automatic merge
ndb/docs/wl2077.txt:
  merge
ndb/src/mgmsrv/main.cpp:
  merge
scripts/mysql_fix_privilege_tables.sh:
  merge
sql/item.cc:
  Merge (difficult)
sql/item.h:
  simple merge
sql/item_cmpfunc.h:
  Automatic merge
sql/item_subselect.cc:
  Simple merge
sql/item_subselect.h:
  Automatic merge
sql/mysql_priv.h:
  Simple merge
sql/slave.h:
  Automatic merge
sql/sql_base.cc:
  Removed code that was backported to 4.1
sql/sql_class.h:
  Merge (some code moved to sql_insert.cc)
sql/sql_db.cc:
  simple merge
sql/sql_insert.cc:
  Merge (difficult as logic had changed both in 4.1 and 5.0)
  Some coded moved here from sql_class.h
sql/sql_parse.cc:
  Merge (difficult)
sql/sql_prepare.cc:
  Simple merge
sql/sql_select.cc:
  Automatic merge
sql/sql_table.cc:
  Simple merge
sql/sql_update.cc:
  Difficult merge because of different logic for multi-updates
sql/sql_yacc.yy:
  Simple merge
tests/client_test.c:
  Simple merge
2004-12-22 13:54:39 +02:00
unknown
490ff28a74 Clean up from code review.
sql/examples/ha_archive.cc:
  Fixed from code review. Cleaned up comment and fixed issue with mean length of row.
2004-12-16 16:27:52 -08:00
unknown
b76b2e68a1 A few simple fixes plus the added support of being able to repair the meta data file via REPAIR TABLE. More information is now provided in SHOW TABLE STATUS.
mysql-test/r/archive.result:
  Added REPAIR TABLE test
mysql-test/t/archive.test:
  Added REPAIR TABLE tests.
sql/examples/ha_archive.cc:
  Added additional code to show more information during a SHOW TABLE STATUS. Curren size of the compressed file is now shown. Also added global "crashed" flag to mark when a table is crashed. Removed autorebuild during open table. Removed a few unneeded actions in OPTIMIZE TABLE. Fixed DBUG_ENTER for end_build_insert().
sql/examples/ha_archive.h:
  Added repair options
2004-12-09 01:48:07 -08:00
unknown
c4cc117315 Fixes for changes in handler interface so that tina can compile in 5.0.
sql/examples/ha_tina.cc:
  Fixes for changes to handler interface.
2004-12-06 16:34:54 -08:00
unknown
e1248f4fc3 Fix for crummy compiler that didn't udnerstand for declaration. Another fix for example storage engine to pass, not skip, test.
mysql-test/r/have_exampledb.require:
  Fix for test for examples.
sql/examples/ha_archive.cc:
  Fix for compiler that had problem with ANSI C.
2004-12-06 16:26:05 -08:00
unknown
9740a87671 Removed need for storage engines to write a default external_lock() call.
sql/examples/ha_archive.cc:
  Removed external_lock call (no longer needed, we can now use the default).
sql/examples/ha_archive.h:
  No need for an external_lock() call.
sql/handler.h:
  Added default return value for external_lock().
2004-12-06 00:55:58 -08:00
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
2da1cbd97d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mishka.local:/home/my/mysql-4.1


client/mysqlimport.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2004-10-20 02:55:03 +03:00
unknown
a4d8ed871a Fix for broken --with-csv-storage-engine build.
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().


sql/examples/ha_example.cc:
  Now we use TABLE::timestamp_field_type instead of
  TABLE::timestamp_default_now/on_update_now for determining
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of
  handler::update_timestamp().
sql/examples/ha_tina.cc:
  Now we use TABLE::timestamp_field_type instead of
  TABLE::timestamp_default_now/on_update_now for determining
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of
  handler::update_timestamp().
2004-10-18 10:32:52 +04: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
b28118abfb Fix for BUG#5117:
* Renamed handler::estimate_number_of_rows to handler::estimate_rows_upper_bound function, which can also return "unknown"
 * made filesort to use full sort buffer if number of rows to sort is not known.


sql/examples/ha_tina.h:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/filesort.cc:
   * Fix for BUG#5117: made filesort() to use full sort buffer if number of rows to sort is not known.
   * Comments and assertion added
sql/ha_berkeley.cc:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_berkeley.h:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_innodb.cc:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_innodb.h:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/handler.h:
  Renamed estimate_number_of_rows -> estimate_rows_upper_bound
2004-09-13 06:14:25 +04:00
unknown
f0c1dadbdb Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


mysys/mf_keycache.c:
  Auto merged
mysys/my_lib.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-08-23 13:47:52 +03: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
ff24b4d5d4 Fix for not compiling ha_tina.
sql/examples/ha_tina.cc:
  Adding in pieces to remove from compile (aka ifdef).
2004-08-17 01:29:19 -07:00
unknown
89987fa104 This is the addition of the CSV engine "aka tina". Its an example engine that works as a plain text file.
acconfig.h:
  Adding HAVE CSV rule
acinclude.m4:
  Build option of csv engine
configure.in:
  Update for building CSV
sql/Makefile.am:
  Added files for CSV build
sql/handler.cc:
  Needed options for CSV to be created.
sql/handler.h:
  CSV type engine enum.
sql/mysql_priv.h:
  Addition of the have_csv_db variable.
sql/mysqld.cc:
  Code to show csv option.
sql/set_var.cc:
  Adding have show variables for both csv and example.
2004-08-12 20:57:18 -07: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
a23fbc060e New handler::index_flags() definition to make it easy to check the full used key and a specific key part.
Added key part to optimize_range() to fix problems when using fields in key parts.



sql/examples/ha_archive.h:
  New handler::index_flags() definition
sql/examples/ha_example.h:
  New handler::index_flags() definition
sql/field.cc:
  New optimize_range() definition
sql/field.h:
  New optimize_range() definition
sql/ha_berkeley.cc:
  New handler::index_flags() definition
sql/ha_berkeley.h:
  New handler::index_flags() definition
sql/ha_heap.h:
  New handler::index_flags() definition
sql/ha_innodb.h:
  New handler::index_flags() definition
sql/ha_isam.h:
  New handler::index_flags() definition
sql/ha_isammrg.h:
  New handler::index_flags() definition
sql/ha_myisam.h:
  New handler::index_flags() definition
sql/ha_myisammrg.h:
  New handler::index_flags() definition
sql/ha_ndbcluster.cc:
  New handler::index_flags() definition
sql/ha_ndbcluster.h:
  New handler::index_flags() definition
sql/handler.h:
  New handler::index_flags() definition
sql/log.cc:
  Fixed compiler warnings
sql/log_event.cc:
  Fixed compiler warnings (and renamed short variable name)
sql/opt_range.cc:
  New handler::index_flags() definition
sql/opt_sum.cc:
  New handler::index_flags() definition
sql/set_var.cc:
  Removed compiler warnings
sql/sql_db.cc:
  Removed compiler warnings
sql/sql_select.cc:
  New handler::index_flags() definition
sql/sql_show.cc:
  Removed compiler warnings
sql/sql_update.cc:
  Removed compiler warnings
sql/table.cc:
  New handler::index_flags() definition
2004-07-08 15:45:25 +03: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
fc81419d07 Resolving merge issues between archive and most recent changes by Monty/NDB
BitKeeper/etc/logging_ok:
  auto-union
2004-05-21 10:06:49 -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
unknown
e015ee3918 Updating range_in_rows for the include file for ha_example (the main .cc file has already been updated).
sql/examples/ha_example.h:
  Updating ha_example.h for new records_in_range. ha_example.cc has already been updated.
2004-05-18 09:54:36 -07:00
unknown
70f79563d9 key_cmp -> key_cmp_if_same
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys




heap/hp_hash.c:
  New records_in_range() interface
include/heap.h:
  New records_in_range() interface
include/my_base.h:
  Moved 'key_range' here so that all table handlers can use it
include/my_bitmap.h:
  Make some bitmap functions inline for faster usage in one thread
include/myisam.h:
  New records_in_range() interface
include/myisammrg.h:
  New records_in_range() interface
myisam/mi_range.c:
  New records_in_range() interface
myisam/mi_test2.c:
  New records_in_range() interface
myisam/rt_test.c:
  New records_in_range() interface
  Indentation fixes
myisam/sp_test.c:
  New records_in_range() interface
  Indentation fixes
myisammrg/myrg_range.c:
  New records_in_range() interface
mysys/my_bitmap.c:
  Make some bitmap functions inline for faster usage in one thread
sql/examples/ha_example.cc:
  New records_in_range() interface
sql/field.cc:
  Fixed indentation
sql/ha_berkeley.cc:
  New records_in_range() interface
sql/ha_berkeley.h:
  New records_in_range() interface
sql/ha_heap.cc:
  New records_in_range() interface
sql/ha_heap.h:
  New records_in_range() interface
sql/ha_innodb.cc:
  New records_in_range() interface
sql/ha_innodb.h:
  New records_in_range() interface
sql/ha_isam.cc:
  New records_in_range() interface
sql/ha_isam.h:
  New records_in_range() interface
sql/ha_myisam.cc:
  New records_in_range() interface
sql/ha_myisam.h:
  New records_in_range() interface
sql/ha_myisammrg.cc:
  New records_in_range() interface
sql/ha_myisammrg.h:
  New records_in_range() interface
sql/ha_ndbcluster.cc:
  New records_in_range() interface
sql/ha_ndbcluster.h:
  New records_in_range() interface
sql/handler.cc:
  Simplify read_range() interface:
  - Add 'eq_range' to read_range_first
  - Remove 'eq_range' parameer from read_range_next()
  - Trust values from index_next_same()
  - Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
sql/handler.h:
  Move key_range to my_base.h to be used by external table handlers
  Simplify read_range() interface
  New records_in_range() interface
sql/key.cc:
  Rename key_cmp() to key_cmp_if_same() to make it more descriptive
  Add new key_cmp() function usable from range and handler code.
sql/mysql_priv.h:
  Prototypes for new functions
sql/opt_range.cc:
  New records_in_range() interface
  Simplify cmp_prev()
  (We can in 5.0 simplify cmp_next() the same way)
sql/opt_range.h:
  Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
sql/opt_sum.cc:
  key_cmp -> key_cmp_if_same
sql/sql_acl.cc:
  key_cmp -> key_cmp_if_same
sql/sql_select.cc:
  key_cmp -> key_cmp_if_same
2004-05-16 14:48:32 +03:00
unknown
1662e59626 Added comments to all methods. Added explanation for a sequential read through a storage engine.
sql/examples/ha_example.cc:
  Documentation updates (lots of comments in the code).
sql/examples/ha_example.h:
  Documenation update, lots of comments in the code.
2004-05-11 15:59:20 -07:00
unknown
01bff53c4f All changes are to allow someone to compile the example storage engine and use it.
acconfig.h:
  Default undef for example storage engine.
acinclude.m4:
  Build macro additions for example engine.
configure.in:
  Configure changes for it to be listed in --help
sql/Makefile.am:
  Added in paths to build example.
sql/examples/ha_example.cc:
  Correction in indention and a few minor other corrections. It now lets you create/open/drop example engine.
sql/handler.cc:
  Added definition for the example storage engine. Added case for it to be created.
sql/handler.h:
  Added example storage engine type.
sql/mysql_priv.h:
  Added flag for optional build of example storage engine.
sql/mysqld.cc:
  Pieces to build example storage engine.
2004-04-12 21:01:45 -07:00
unknown
83c2292bb5 ha_example.h:
Fixed spelling of example share and fxed indention.
ha_example.cc:
  Fixed spelling of example and removed a few unneeded printf pieces.
my_base.h:
  Adde HA_ERR_NOT_IMPLEMENTED at Monty's request


include/my_base.h:
  Adde HA_ERR_NOT_IMPLEMENTED at Monty's request
sql/examples/ha_example.cc:
  Fixed spelling of example and removed a few unneeded printf pieces.
sql/examples/ha_example.h:
  Fixed spelling of example share and fxed indention.
2004-04-05 22:57:53 -07:00
unknown
bf3f491e6d First commit of the skeleton storage engine. Use this example as a template to build storage engines. Also includes a new degine for marking storage engine methods as not being implemented.
sql/examples/ha_example.h:
  First commit of example storage engine.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-01 01:02:42 -08:00