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
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
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
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
- 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
- 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
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.
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
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)
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
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
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.
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
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.