Commit graph

312 commits

Author SHA1 Message Date
gluh@mysql.com/eagle.(none)
27ab885525 WL#3732 Information schema optimization 2007-08-03 03:14:05 +05:00
tomas@poseidon.mysql.com
efbe23a486 Bug #29222 Statement mode replicates both statement and rows when writing to an NDB table
- only log statements locally (changes will not be logged on other servers)
2007-06-27 22:33:03 +02:00
tomas@whalegate.ndb.mysql.com
6b8e7c9484 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
2007-06-17 19:47:56 +02:00
tomas@whalegate.ndb.mysql.com
ff804bc546 Bug #28989 hpux11 ps_row warnings
- do not print 701 dictionary busy error
2007-06-17 19:47:20 +02:00
monty@mysql.com/narttu.mysql.fi
088e2395f1 WL#3817: Simplify string / memory area types and make things more consistent (first part)
The following type conversions was done:

- Changed byte to uchar
- Changed gptr to uchar*
- Change my_string to char *
- Change my_size_t to size_t
- Change size_s to size_t

Removed declaration of byte, gptr, my_string, my_size_t and size_s. 

Following function parameter changes was done:
- All string functions in mysys/strings was changed to use size_t
  instead of uint for string lengths.
- All read()/write() functions changed to use size_t (including vio).
- All protocoll functions changed to use size_t instead of uint
- Functions that used a pointer to a string length was changed to use size_t*
- Changed malloc(), free() and related functions from using gptr to use void *
  as this requires fewer casts in the code and is more in line with how the
  standard functions work.
- Added extra length argument to dirname_part() to return the length of the
  created string.
- Changed (at least) following functions to take uchar* as argument:
  - db_dump()
  - my_net_write()
  - net_write_command()
  - net_store_data()
  - DBUG_DUMP()
  - decimal2bin() & bin2decimal()
- Changed my_compress() and my_uncompress() to use size_t. Changed one
  argument to my_uncompress() from a pointer to a value as we only return
  one value (makes function easier to use).
- Changed type of 'pack_data' argument to packfrm() to avoid casts.
- Changed in readfrm() and writefrom(), ha_discover and handler::discover()
  the type for argument 'frmdata' to uchar** to avoid casts.
- Changed most Field functions to use uchar* instead of char* (reduced a lot of
  casts).
- Changed field->val_xxx(xxx, new_ptr) to take const pointers.

Other changes:
- Removed a lot of not needed casts
- Added a few new cast required by other changes
- Added some cast to my_multi_malloc() arguments for safety (as string lengths
  needs to be uint, not size_t).
- Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
  explicitely as this conflict was often hided by casting the function to
  hash_get_key).
- Changed some buffers to memory regions to uchar* to avoid casts.
- Changed some string lengths from uint to size_t.
- Changed field->ptr to be uchar* instead of char*. This allowed us to
  get rid of a lot of casts.
- Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
- Include zlib.h in some files as we needed declaration of crc32()
- Changed MY_FILE_ERROR to be (size_t) -1.
- Changed many variables to hold the result of my_read() / my_write() to be
  size_t. This was needed to properly detect errors (which are
  returned as (size_t) -1).
- Removed some very old VMS code
- Changed packfrm()/unpackfrm() to not be depending on uint size
  (portability fix)
- Removed windows specific code to restore cursor position as this
  causes slowdown on windows and we should not mix read() and pread()
  calls anyway as this is not thread safe. Updated function comment to
  reflect this. Changed function that depended on original behavior of
  my_pwrite() to itself restore the cursor position (one such case).
- Added some missing checking of return value of malloc().
- Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
- Changed type of table_def::m_size from my_size_t to ulong to reflect that
  m_size is the number of elements in the array, not a string/memory
  length.
- Moved THD::max_row_length() to table.cc (as it's not depending on THD).
  Inlined max_row_length_blob() into this function.
- More function comments
- Fixed some compiler warnings when compiled without partitions.
- Removed setting of LEX_STRING() arguments in declaration (portability fix).
- Some trivial indentation/variable name changes.
- Some trivial code simplifications:
  - Replaced some calls to alloc_root + memcpy to use
    strmake_root()/strdup_root().
  - Changed some calls from memdup() to strmake() (Safety fix)
  - Simpler loops in client-simple.c
2007-05-10 12:59:39 +03:00
mskold/marty@linux.site
cabef956c2 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-04-24 15:11:22 +02:00
mskold/marty@mysql.com/linux.site
eaba3f2548 ha_ndbcluster.h, ha_ndbcluster.cc:
Refactored code for engine_condition_pushdown to ha_ndbcluster_cond
Makefile.am:
  Added compilation of ha_ndbcluster_cond
ha_ndbcluster_cond.h, ha_ndbcluster_cond.cc:
  Merge
2007-04-24 14:24:06 +02:00
mats@romeo.(none)
875de0e571 Merge romeo.(none):/home/bkroot/mysql-5.1-rpl
into  romeo.(none):/home/bk/merge-mysql-5.1
2007-04-20 10:46:58 +02:00
tomas@whalegate.ndb.mysql.com
38f9729c2a Bug #27076 Cluster does not honor SQL_LOG_BIN flag
- both for data schema operations
- also make sure schema events vet the right server id when injected into the binlog
- use same mechanism to signal server_id in bug#17095, and reserve some "id's" for flagging special conditions on the event, in this case do not log it
- enable printing of server ids in the testcases to show that we cot it right
2007-04-18 16:02:20 +02:00
monty@mysql.com/narttu.mysql.fi
72d135bec5 Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
Change to use remove_file instead of 'system rm' in a lot of tests. (Should fix some windows test problems)
Removed memory leak in mysql_test if sync_with_master fails.
Do not terminate ndb_cluster_binary_log before the util thread has finnished. This should fix a shutdown bug where a thread is accessing injector_mutex after it's freed.
Patch may fix Bug#27622 "mysqld shutdown, util thread continues, while binlog thread exits"
2007-04-16 17:08:29 +03:00
mskold/marty@linux.site
552d1086ec Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-04-04 17:03:31 +02:00
mskold/marty@linux.site
7e33b92279 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2007-04-04 13:21:49 +02:00
mskold/marty@mysql.com/linux.site
625a2629f0 Bug #26242 UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
subject table didn't see the results of operation which caused invocation
of those triggers. In other words AFTER trigger invoked as result of update
(or deletion) of particular row saw version of this row before update (or
deletion).

The problem occured because NDB handler in those cases postponed actual
update/delete operations to be able to perform them later as one batch.

This fix solves the problem by disabling this optimization for particular
operation if subject table has AFTER trigger for this operation defined.
To achieve this we introduce two new flags for handler::extra() method:
HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
These are called if there exists AFTER DELETE/UPDATE triggers during a
statement that potentially can generate calls to delete_row()/update_row().
This includes multi_delete/multi_update statements as well as insert statements
that do delete/update as part of an ON DUPLICATE statement.
2007-04-04 12:50:39 +02:00
tomas@whalegate.ndb.mysql.com
8bf9bf001d Bug #26783 replication status unknown after cluster or mysqld failure
- update the ndb_apply_status table with binlog info
2007-04-03 07:20:55 +02:00
serg@janus.mylan
689eed7406 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-02-21 11:36:23 +01:00
mskold/marty@mysql.com/linux.site
2d0bd82a06 NdbScanOperation.hpp, NdbScanOperation.cpp, ha_ndbcluster.cc:
bug#25821  Excessive partition pruning for multi-range index scan in NDB API: added multi_range error checking in end_of_bound
ha_ndbcluster.h:
  Removed stray mthod declaration
2007-02-07 11:36:34 +01:00
mskold/marty@mysql.com/linux.site
0446aa9cbd Fix for bug#25821 Excessive partition pruning for multi-range index scan in NDB API: don't set distribution key if multi_range 2007-02-06 23:06:58 +01:00
tomas@poseidon.mysql.com
475da34697 Bug #26021 - valgrind reports error regarding handle_trailing_share and client thread share usage
- add ndb_share connect_count to decide if share can be reused to setup replication
2007-02-05 13:21:18 +07:00
serg@janus.mylan
a07fd5fa8f WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and
records_in_range() - instead of 'uint keylen' argument take
'ulonglong keypart_map', a bitmap showing which keyparts are
present in the key value.
Fallback method is provided for handlers that are lagging behind.
2007-01-29 10:40:26 +01:00
stewart@willster.(none)
adf40be13b Bug#25567 records() call performs scan in NDB, performance bug 2007-01-24 00:27:19 +11:00
tomas@poseidon.
044c410968 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.:/home/tomas/mysql-5.1-new-ndb
2006-12-27 11:01:54 +01:00
kent@kent-amd64.(none)
be15e3bc15 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-23 20:20:40 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
mskold/marty@mysql.com/linux.site
3587ee8e4e bug#24667 After ALTER TABLE operation ndb_dd table becomes regular ndb: ALTER TABLE must specify STORAGE explicitely to change it, + post review changes 2006-12-19 23:20:43 +01:00
mskold/marty@mysql.com/linux.site
dab48d5df2 bug#24667 After ALTER TABLE operation ndb_dd table becomes regular ndb: copy tablespace from old table in copying alter table 2006-12-19 15:53:46 +01:00
mskold/marty@mysql.com/linux.site
4b7e0b5fd9 bug#18487 UPDATE IGNORE not supported for unique constraint violation of non-primary key: only check pk if it is updated 2006-11-30 23:10:11 +01:00
mskold/marty@mysql.com/linux.site
aa03fbcac9 bug#18487 UPDATE IGNORE not supported for unique constraint violation of non-primary key: only check pk if it is updated 2006-11-30 22:52:23 +01:00
mskold/marty@mysql.com/linux.site
4acc1af12c bug#21507 I can't create a unique hash index in NDB: Added possibillity to create hash only indexes with NULL valued attributes, but any NULL valued access will become full table scan with pushed condition on index attribute values. 5.1 re-implementation 2006-11-13 12:56:45 +01:00
mskold/marty@mysql.com/linux.site
f293350725 bug#21507 I can't create a unique hash index in NDB: Added possibillity to create hash only indexes with NULL valued attributes, but any NULL valued access will become full table scan with pushed condition on index attribute values 2006-11-07 16:38:37 +01:00
stewart@willster.(none)
d5810cd067 Merge willster.(none):/home/stewart/Documents/MySQL/5.0/ndb
into  willster.(none):/home/stewart/Documents/MySQL/5.1/ndb
2006-10-25 18:41:17 +10:00
mskold/marty@mysql.com/linux.site
0067cd8a4a bug#21873 MySQLD Crash on ALTER...ADD..UNIQUE..USING HASH statement for NDB backed table: Use passed key_info to check for nullable fields 2006-10-24 12:24:32 +02:00
mskold/marty@mysql.com/linux.site
8da80dd39d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-10-24 08:29:37 +02:00
stewart@willster.(none)
3c2eeb2c15 Merge willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2-merge2
into  willster.(none):/home/stewart/Documents/MySQL/5.0/ndb
2006-10-23 23:57:28 +10:00
stewart@willster.(none)
5926602aa7 Bug #19914 SELECT COUNT(*) sometimes returns MAX_INT on cluster tables
fixes for ndb_* tests broken by previous fix

be more careful in ndb about setting errors on failure of info call (especially
in open)
2006-10-23 23:46:35 +10:00
mskold/marty@mysql.com/linux.site
0522b11066 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-10-18 16:41:17 +02:00
stewart@willster.(none)
71636edc16 Merge willster.(none):/home/stewart/Documents/MySQL/5.0/bug19914-mk2-merge
into  willster.(none):/home/stewart/Documents/MySQL/5.1/bug19914-mk2-merge
2006-10-18 18:51:39 +10:00
stewart@willster.(none)
c1903d967a Merge willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2
into  willster.(none):/home/stewart/Documents/MySQL/5.0/bug19914-mk2-merge
2006-10-16 17:39:38 +10:00
brian@zim.(none)
a756fd36ef This removes the passing of global hton to engine instance. 2006-09-29 17:19:02 -07:00
stewart@willster.(none)
0f3874dffa Merge willster.(none):/home/stewart/Documents/MySQL/4.1/ndb
into  willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2
2006-09-20 17:09:53 +10:00
mskold/marty@linux.site
66cbf07d05 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2006-09-18 09:26:18 +02:00
mskold/marty@mysql.com/linux.site
8292bd5770 Bug #21056 ndb pushdown equal/setValue error on datetime: thread safe bitmap not needed 2006-09-18 09:24:30 +02:00
mskold/marty@linux.site
67aeec035b Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2006-09-15 15:56:20 +02:00
mskold/marty@mysql.com/linux.site
528e8b4c0e Bug #21056 ndb pushdown equal/setValue error on datetime: post review fixes, use my_bitmap 2006-09-15 15:51:05 +02:00
mskold/marty@linux.site
d33411e558 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2006-09-06 11:21:49 +02:00
mskold/marty@mysql.com/linux.site
6752861d1b Bug #21056 ndb pushdown equal/setValue error on datetime: only pushdown like of string type fields 2006-09-05 17:07:00 +02:00
jonas@perch.ndb.mysql.com
a1420b1df8 merge 2006-08-17 20:51:44 +02:00
jonas@perch.ndb.mysql.com
560fc3e3b3 Merge perch.ndb.mysql.com:/home/jonas/src/51-clean
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2006-08-17 19:49:00 +02:00
mskold/marty@linux.site
604f3f8a69 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2006-08-15 14:39:48 +02:00
mskold/marty@mysql.com/linux.site
c8b93da355 Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: do not release operation records for on-going read_multi_range 2006-08-15 14:31:21 +02:00
mskold/marty@mysql.com/linux.site
66e8255491 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0
2006-08-15 13:37:39 +02:00