Commit graph

328 commits

Author SHA1 Message Date
unknown
d5ff3eca53 Merge
sql/ha_ndbcluster.h:
  Auto merged
sql/ha_ndbcluster.cc:
  merge
2004-07-23 13:27:26 +02:00
unknown
cf4cfab216 WL#1791 Handler: support update of primary key 2004-07-22 18:35:51 +02:00
unknown
d1e7ef7927 ha_ndb blobs 2 2004-07-22 12:38:09 +02:00
unknown
d590b04708 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb


mysql-test/mysql-test-run.sh:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-07-19 09:09:40 +02: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
ef389ca0b2 Fixed ndbcluster_print_error to use table name from failed NdbOperation 2004-07-02 16:14:08 +02:00
unknown
3d5c2d1d31 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1-ndb


ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-06-27 16:00:48 +02:00
unknown
4e664e3e43 Added missing root user to mysql.user on windows. (Bug #4242)
Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
Don't use default arguments for ha_rnd_init()
Simple code cleanups since last pull



scripts/fill_func_tables.sh:
  Change mode to -rw-rw-r--
scripts/make_win_src_distribution.sh:
  Safer remove of SCCS directories
scripts/mysql_create_system_tables.sh:
  Added missing root user to mysql.user on windows. (Bug #4242)
scripts/mysql_install_db.sh:
  Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
sql/filesort.cc:
  Don't use default arguments for ha_rnd_init()
sql/ha_berkeley.cc:
  Better to use #ifdef than // to disable code
  Removed not needed setting of active_index (It's set in index_end)
sql/ha_berkeley.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_heap.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_innodb.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_isam.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_isammrg.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_myisam.cc:
  Fixed wrong previous patch (New code used 'and' between two conditions when it should be 'or' as in original code)
sql/ha_myisam.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_myisammrg.h:
  Don't use default arguments for ha_rnd_init()
sql/ha_ndbcluster.h:
  Don't use default arguments for ha_rnd_init()
sql/handler.cc:
  Code cleanup
sql/handler.h:
  Keep bool variables together (better alignment)
sql/records.cc:
  Don't use default arguments for ha_rnd_init()
sql/sql_select.cc:
  Don't use default arguments for ha_rnd_init()
2004-06-25 18:49:36 +03:00
unknown
1045f2c3fd Modified index flags and added ndbcluster_print_error 2004-06-24 12:04:22 +02:00
unknown
3e9f47d6b0 Fix handler w.r.t scan
ndb/include/ndbapi/NdbApi.hpp:
  Removed SchemaOp, SchemaCon
ndb/src/ndbapi/NdbRecAttr.cpp:
  merge error
ndb/tools/select_count.cpp:
  clean up
sql/ha_ndbcluster.cc:
  Fixed handler w.r.t scan
sql/ha_ndbcluster.h:
  Fixed handler w.r.t scan
2004-06-11 13:49:22 +02:00
unknown
88a3b3bca8 Fixed prototype of get_error_message to use String to return error message
WL#1747 and #1746 allow user to decide if ordered index should be created or not


BitKeeper/deleted/.del-AttrType.hpp~a9b2d6efcf660378:
  Delete: ndb/include/ndbapi/AttrType.hpp
sql/ha_ndbcluster.cc:
  Removed the NDB_ERR_CODE_OFFSET, ndb and handler error codes should not clash
  Encapsulated functionality to cache information about known indexes into buil_index_list
  Added detection of algorithm from key_info in function get_index_type_from_table
  Updated read_range_first and records_in_range to work wih new prototype.
sql/ha_ndbcluster.h:
  WL#1746 and WL#1747 Added ability to skip creating an ordered index in addition to the hash index if the user so wishes.
  Modified get_error_message to return error messaga in a String datatype, in that way the String class will take care of wheter the "data" has to be freed or not.
sql/handler.cc:
  Use String datatype as ouput parameter of get_error_message.
sql/handler.h:
  Changed the function prototype for getting error messages from handler to use String datataype
2004-05-24 12:35:39 +02:00
unknown
4d3f8f210a Merge
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/ha_ndbcluster.h:
  SCCS merged
2004-05-17 09:57:02 +02:00
unknown
26d2c58c59 Fixes made after running with sql-bench
sql/ha_ndbcluster.cc:
  Added new function set_primary_key_from_old_data, used from update_row to specify the primary key of the record to update.
  Simplified index_read function, to use read_range_first
  Close the active cursor if read_range_first is called on an open cursor.
  In read_range_first, map error code from HA_ERR_KEY_NOT_FOUND to HA_ERR_END_OF_FILE.
  Remove call to function waitUntilReady from check_ndb_connection, this shuold remove the delay from transactions executed when node(s) are down.
sql/ha_ndbcluster.h:
  Added new function set_primary_key_from_old_data
2004-05-17 09:51:02 +02: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
d4399619bd WL #1729 Handler: error text for NDB errors
- New solution after discussions with Sergei, no handler specific code or error messages should be in sql layer.
next_result, only check for error if check is -1
Improved index_read 


include/mysqld_error.h:
  New error codes ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG, update number to 298.
  Removed prevoius ER_NDB_ERROR, handler specific error should not be here.
sql/ha_ndbcluster.cc:
  Removed print_error from ha_ndbcluster, added code to handler::print_error to ask  handler::get_error_message for message for an error.
  Fix bug in next_result, only check for error if -1 is returned.
  Make index_read easier, special case where pk_read or unique_index_read is detected and as default do ordered_index_scan
sql/ha_ndbcluster.h:
  Remplace print_error with get_error_message
sql/handler.cc:
  Add new function get_error_message usedc to ask handler for a message for an error.
  Call get_error_message from print_error if error code is not known.
sql/handler.h:
  Add new function get_error_message
sql/share/czech/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/danish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/dutch/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/english/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/estonian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/french/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/german/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/greek/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/hungarian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/italian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/korean/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian-ny/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/polish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/portuguese/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/romanian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/russian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/serbian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/slovak/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/spanish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/swedish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/ukrainian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
2004-05-13 11:56:45 +02:00
unknown
f84be2fd89 WL# 1729 Handler: error text for NDB errors
- Close an open scan if index_read is called without closing the previous one.
- Removed some errors that occured during previous merge


include/mysqld_error.h:
  Added two new error messages for NDB
sql/ha_ndbcluster.cc:
  Added more error code mappings, from NDB code to MySQL 
  Added function to print out the error message when an NDB error occurs.
  Added two new error codes, which will represent either a permanent or temporary NDB error.
  Modev get_ndb_lock_type from class to local function
  Removed some merge errors
  New function close_scan, to close an open scan.
sql/ha_ndbcluster.h:
  Added print_error function, overrides handler::print_error
  Added close_scan
  Moved get_ndb_lock_type from class to local function
sql/share/czech/errmsg.txt:
  Added two new error messages for NDB
sql/share/danish/errmsg.txt:
  Added two new error messages for NDB
sql/share/dutch/errmsg.txt:
  Added two new error messages for NDB
sql/share/english/errmsg.txt:
  Added two new error messages for NDB
sql/share/estonian/errmsg.txt:
  Added two new error messages for NDB
sql/share/french/errmsg.txt:
  Added two new error messages for NDB
sql/share/german/errmsg.txt:
  Added two new error messages for NDB
sql/share/greek/errmsg.txt:
  Added two new error messages for NDB
sql/share/hungarian/errmsg.txt:
  Added two new error messages for NDB
sql/share/italian/errmsg.txt:
  Added two new error messages for NDB
sql/share/japanese/errmsg.txt:
  Added two new error messages for NDB
sql/share/korean/errmsg.txt:
  Added two new error messages for NDB
sql/share/norwegian-ny/errmsg.txt:
  Added two new error messages for NDB
sql/share/norwegian/errmsg.txt:
  Added two new error messages for NDB
sql/share/polish/errmsg.txt:
  Added two new error messages for NDB
sql/share/portuguese/errmsg.txt:
  Added two new error messages for NDB
sql/share/romanian/errmsg.txt:
  Added two new error messages for NDB
sql/share/russian/errmsg.txt:
  Added two new error messages for NDB
sql/share/serbian/errmsg.txt:
  Added two new error messages for NDB
sql/share/slovak/errmsg.txt:
  Added two new error messages for NDB
sql/share/spanish/errmsg.txt:
  Added two new error messages for NDB
sql/share/swedish/errmsg.txt:
  Added two new error messages for NDB
sql/share/ukrainian/errmsg.txt:
  Added two new error messages for NDB
2004-05-11 13:59:22 +02:00
unknown
d6676b0f57 Merged ha_ndbcluster.cc
sql/ha_ndbcluster.h:
  Auto merged
2004-05-10 15:06:07 +02:00
unknown
444fc1ce98 WL# 1728 Handler: use scanReadExclusive for scan update and delete
sql/ha_ndbcluster.cc:
  Modified next_result to process fetched records cached in NdbApi before asking NDB for more. 
  It should also NoCommit any pending operations before contacting NDB again.
  Added utility function define_read_attrs to set the fields that should be read.
sql/ha_ndbcluster.h:
  Add function define_read_attrs, used to set the fields to read
  Add get_nd_lock_type funciton ,to convert MySQL lock type to NDB lock type
  Always compile filtered scan function even if it's not used yet.
  Add variable ops_pending to keep track of "pending" update/delete operations.
2004-05-10 14:12:28 +02:00
unknown
4a3580ca1a Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1


mysql-test/mysql-test-run.sh:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-05-07 16:21:54 +02:00
unknown
9d99ebe394 BUG# 3658 ALTER TABLE corrupts table
Added  test file for ALTER TABLE, engine = ndbcluster


sql/ha_ndbcluster.cc:
  Add code to retriev all fields if HA_EXTRA_RETRIEVE_ALL_COLS are set.
sql/ha_ndbcluster.h:
  Add var for retreiving all fields
sql/sql_table.cc:
  Send HA_EXTRA_RETRIEVE_ALL_COLS to handler in copy_data_between_tables
2004-05-05 16:04:23 +02:00
unknown
ea646dce60 avoid using ndb tables in query cache
sql/ha_ndbcluster.h:
  fixed layout
  prohibit using query cache with ndb tables
sql/handler.h:
  new caching type
sql/sql_cache.cc:
  support of new caching type (caching prohibited)
2004-05-05 11:22:10 +03:00
unknown
d540f0c011 Merge neptunus.(none):/home/magnus/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1-insert


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-04-30 13:42:47 +02:00
unknown
ddbef950cb Merge neptunus.(none):/home/magnus/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1-sql-bench


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-04-30 13:41:19 +02:00
unknown
08676716ff WL#1727 Implement read_range_first and read_range_next
sql/ha_ndbcluster.cc:
  Added new function set_bounds, used to set bounds in NDB from a key_range
  Updated ordered_index_scan to take start_key and end_key as parameters
  Override of functions read_range_first and read_range_next, to call appropriate access function in NDB
sql/ha_ndbcluster.h:
  Added functions set_bounds, read_range_first and read_range_next
  Changed declaration of ordered_index_scan
2004-04-30 13:38:41 +02:00
unknown
0f0635ec0f Add extra ordered index in when UNIQUE and PRIMARY KEY are specified.
Extra ordered indexes are created primarily 
to support partial key scan/read and range scans of hash indexes.
I.e. the ordered index are used instead of the hash indexes for 
these queries.


sql/ha_ndbcluster.cc:
  Add creation and use of extra ordered indexes on pk and unique indexes.
sql/ha_ndbcluster.h:
  Added new functions for creating extra ordered indexes
2004-04-30 12:25:31 +02:00
unknown
155f8b3d31 WL#1737 Removed superfluous "NoCommit" from insert
sql/ha_ndbcluster.cc:
  Added 3 new variables for keeping track of insert batching
sql/ha_ndbcluster.h:
  Send more inserts per roundtrip to NDB
  Regulate how many inserts are sent by calculating number of bytes in each row.
2004-04-29 14:38:35 +02:00
unknown
465bb046ff symlink, not hardlink
mkdir in Makefile, not in configure
chmod a-x


sql/ha_ndbcluster.cc:
  Change mode to -rw-rw-r--
sql/ha_ndbcluster.h:
  Change mode to -rw-rw-r--
BitKeeper/etc/ignore:
  added libmysqld/discover.cc
configure.in:
  symlink, not hardlink
  mkdir in Makefile, not in configure
include/Makefile.am:
  mkdir in Makefile, not in configure
mysql-test/std_data/init_file.dat:
  add EOL
  make a test faster
2004-04-21 14:55:39 -05:00
unknown
b43af929f8 Added NDB storage engine
include/my_base.h:
  Added three new errorcodes to be returned by the handler
sql/Makefile.am:
  Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
  Add include path of NDB files
sql/handler.cc:
  Added variable for keeping track of number of "discovers"
  Added NDB to list of storage engines
  Added calls to NDB for commit, rollback etc.
  Added function ha_discover for discovering a table from handler
sql/handler.h:
  Added NDB to list of storage engines
  Added vbariable in transaction for keeping a ndb transaction handle
sql/lex.h:
  Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
sql/mysql_priv.h:
  Added prototypes for new functions readfrm, writefrm and create_table_from_handler
sql/mysqld.cc:
  Added NDB support
  Disable NDB with --skip-ndbcluster
sql/set_var.cc:
  Add posibilty to show if NDB handler is supported
sql/ha_ndbcluster.cc:
  Add ifdef for whole file for not compiling anything if NDB sholdn't be included
  Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
sql/sql_base.cc:
  If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
  This new functionality is called "discover" and can be used by any handler.
sql/sql_class.h:
  Added variable for keeping a NDB connection handle
sql/sql_table.cc:
  Before trying to create a table, ask handler if a table with that name already exists.
  If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
sql/sql_yacc.yy:
  Add NDBCLUSTER_SYM
  Change AND to AND_SYM
  Change OR to OR_SYM
sql/table.cc:
  Fixe for probelm when NullS is returned from bas_ext of a handler.
2004-04-15 09:14:14 +02:00