1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-19 22:42:44 +03:00
Commit Graph

2038 Commits

Author SHA1 Message Date
unknown
c6283dbba9 Cleanup's during review
Added ASSERT() to detect wrongly packed fields


sql/field.h:
  Fixed comments to right format
sql/opt_range.cc:
  Merged code
sql/sql_base.cc:
  Fixed indentation
sql/sql_insert.cc:
  Fixed comments to right format
sql/sql_select.cc:
  Simplify code
sql/unireg.cc:
  Simply code for calculating key_buff_length
  Added ASSERT() to detect wrongly packed fields
2005-05-25 18:33:32 +03:00
monty@mysql.com
5f8f947f34 Cleanup's during review
Added ASSERT() to detect wrongly packed fields
2005-05-25 18:33:32 +03:00
unknown
8128e3e417 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145c.mysql.com:/home/ndbdev/tomas/mysql-5.1


sql/ha_innodb.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_udf.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
storage/myisam/rt_split.c:
  Auto merged
storage/myisam/sp_key.c:
  Auto merged
storage/ndb/src/kernel/SimBlockList.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
2005-05-23 10:45:48 +02:00
ndbdev@dl145c.mysql.com
30def9f3f8 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145c.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-05-23 10:45:48 +02:00
unknown
d844dab14f opt_range.cc:
Post review corrections for optimization request #10561.


sql/opt_range.cc:
  Post review corrections for optimization request #10561.
2005-05-21 07:02:43 -07:00
igor@rurik.mysql.com
e4006f2fed opt_range.cc:
Post review corrections for optimization request #10561.
2005-05-21 07:02:43 -07:00
unknown
8f7bca3abd range.result, range.test:
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
  Fixed bug #10561: an optimization request to allow
  range analysis for NOT IN and NOT BETWEEN.


sql/sql_select.cc:
  Fixed bug #10561: an optimization request to allow
  range analysis for NOT IN and NOT BETWEEN.
sql/opt_range.cc:
  Fixed bug #10561: an optimization request to allow
  range analysis for NOT IN and NOT BETWEEN.
mysql-test/t/range.test:
  Added test cases for optimization request #10561.
mysql-test/r/range.result:
  Added test cases for optimization request #10561.
2005-05-21 06:11:44 -07:00
igor@rurik.mysql.com
fdb6c661a3 range.result, range.test:
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
  Fixed bug #10561: an optimization request to allow
  range analysis for NOT IN and NOT BETWEEN.
2005-05-21 06:11:44 -07:00
unknown
bdf5dbcd9a Cset exclude: matt@mysql.com|ChangeSet|20050519052223|06259
Cset exclude: msvensson@neptunus.(none)|ChangeSet|20050425090838|60886


configure.in:
  Exclude
sql/opt_range.cc:
  Exclude
2005-05-19 23:52:17 +02:00
msvensson@neptunus.(none)
08d8be1461 Cset exclude: matt@mysql.com|ChangeSet|20050519052223|06259
Cset exclude: msvensson@neptunus.(none)|ChangeSet|20050425090838|60886
2005-05-19 23:52:17 +02:00
unknown
3e6b7f2b65 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_bitmap.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
2005-05-12 12:01:01 +02:00
mronstrom@mysql.com
c33a0673a6 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682
2005-05-12 12:01:01 +02:00
unknown
5985904e73 Many fixes 2005-05-12 11:20:50 +02:00
mronstrom@mysql.com
cf642995f6 Many fixes 2005-05-12 11:20:50 +02:00
unknown
217b2c42ed Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug9626


sql/opt_range.cc:
  Auto merged
2005-05-10 20:35:13 +02:00
msvensson@neptunus.(none)
edae3e07df Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug9626
2005-05-10 20:35:13 +02:00
unknown
51e862786b Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs().
sql/opt_range.cc:
  Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs().
  Disable mix/max group by optimization for queries with rollup for now.
  Note: the actual bug was hidden; if this optimization works with rollup
  queries we will have to change some code:
  
  the problem is that we call the join->make_sum_func_list() function against 
  changed thd->mem_root (see SQL_SELECT::test_quick_select()) which creates some
  items for rollup, then we free that mem_root, then we try to reuse (free) those
  items.
2005-05-09 11:43:52 +05:00
ramil@ram-book.(none)
1092c4d8b4 Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs(). 2005-05-09 11:43:52 +05:00
unknown
f8b75e07a5 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682


sql/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
2005-05-07 11:23:09 +02:00
mronstrom@mysql.com
c18a302577 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682
2005-05-07 11:23:09 +02:00
unknown
fdde665e76 WL 1682: Bitvector for updated/read fields in handler interface
Fixed clear issues of bitvector and memory allocation issues


sql/bitvector.cc:
  Made bitvector memroot class
sql/bitvector.h:
  Made bitvector memroot class
sql/handler.cc:
  Need to add updated fields to read set to ensure that they are
  updated since the update code doesn't update if records haven't
  changed
  Added DBUG printout's
sql/handler.h:
  Moved clear of bitvector's to reset function
  Introduced ha_reset for this purpose to ensure that it isn't
  necessary to perform this clear in all handlers.
sql/lock.cc:
  Removed clear that has been moved to ha_reset
sql/opt_range.cc:
  Changed reset to ha_reset
  Added delete file
sql/sql_base.cc:
  Removed clear and changed reset to ha_reset
sql/sql_insert.cc:
  Removed clear and changed reset to ha_reset
sql/sql_select.cc:
  Made sure delete file is done if needed
sql/sql_table.cc:
  Added delete file in another place needed
sql/sql_update.cc:
  Bug for multi-update fixed
2005-05-07 10:00:25 +02:00
mronstrom@mysql.com
b4ab00df62 WL 1682: Bitvector for updated/read fields in handler interface
Fixed clear issues of bitvector and memory allocation issues
2005-05-07 10:00:25 +02:00
unknown
f43c581781 merge
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/key.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
2005-05-06 13:51:58 +03:00
monty@mishka.local
015cd1cd21 merge 2005-05-06 13:51:58 +03:00
unknown
ab54e16705 Fixes while reviewing new code
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema


client/client_priv.h:
  --count for mysqlshow
client/mysqlshow.c:
  Added option --count to be used when the user want's number of rows per table in the output
  (We shouldn't use count(*) as default as this can be a slow operation)
mysys/my_thr_init.c:
  Correct comment
sql/ha_berkeley.cc:
  Remove not used variable
sql/ha_berkeley.h:
  Remove not used variable
sql/ha_innodb.cc:
  Remove not used function
sql/ha_ndbcluster.cc:
  false -> FALSE
  true -> TRUE
sql/handler.cc:
  Added and fixed comments
  Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
sql/item.cc:
  false -> FALSE
sql/item_cmpfunc.cc:
  Fixed indentation
sql/item_cmpfunc.h:
  marked BETWEEN as a bool function
sql/item_func.cc:
  Simple optimzation
sql/key.cc:
  Removed wrong code
sql/log.cc:
  Check result from open_index_file()
sql/mysql_priv.h:
  Simplyfy some test of netware
sql/mysqld.cc:
  Fixed indentation
  Check result form open_index_file()
  Simplify code with IF_NETWARE()
sql/opt_range.cc:
  false -> FALSE
  true -> TRUE
  Fixed indentation
sql/opt_sum.cc:
  Fixed comments
sql/sp_head.cc:
  Simple optimzation
  Move variable declarations to begining of blocks
sql/sql_acl.cc:
  Fix long lines
  Rename xx -> column
  Move declaration to beginning of block
sql/sql_parse.cc:
  Removed comment
sql/sql_select.cc:
  Indentation fixes
sql/sql_show.cc:
  Fixed reference outside of array (possible core dump)
sql/sql_table.cc:
  Simplify code
  Combine common code
sql/sql_test.cc:
  false -> FALSE
sql/sql_trigger.cc:
  false -> false
  true -> TRUE
sql/sql_yacc.yy:
  Simpler test
sql/unireg.cc:
  Added comment
2005-05-06 11:39:30 +03:00
monty@mishka.local
a9f6aab4c9 Fixes while reviewing new code
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema
2005-05-06 11:39:30 +03:00
unknown
7689fcfb0d WL 1682: After review fixes + update bitvector class + bitvector test
cases + bug fixes


mysys/my_bitmap.c:
  Removed debug comments
sql/bitvector.h:
  Changed a number of things
  Added new methods, new handling of end bits, faster search
  for bits using word by word search..
sql/field.h:
  Added comment
sql/ha_federated.cc:
  Fixes
sql/ha_innodb.cc:
  Fixes
sql/ha_innodb.h:
  InnoDB still needs the extra calls not needed by anybody else
sql/ha_ndbcluster.cc:
  Removed some timestamp set bit stuff
  Always write all fields in write_row
sql/handler.cc:
  No inline methods in bit interface (caused strange bugs)
  initialise method
sql/handler.h:
  Changed to bitvector from bitmap
  Removed init variable
sql/opt_range.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_acl.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_base.cc:
  Set bits previously missed
sql/sql_insert.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
  Timestamp handling
sql/sql_load.cc:
  Updated comments plus set all bits in bitvector
sql/sql_select.cc:
  Removed ifdef since NDB and Federated needs the same calls
  Added comment or rather changed comment.
sql/sql_table.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Updated comments
sql/sql_udf.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Updated comments
sql/sql_update.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Timstamp updating
2005-05-02 15:45:33 +02:00
mronstrom@mysql.com
f7cd6b8aa1 WL 1682: After review fixes + update bitvector class + bitvector test
cases + bug fixes
2005-05-02 15:45:33 +02:00
unknown
fe40de6f94 Fix for BUG#10244:
Make get_quick_select_for_ref() accept estimated # records as parameter and 
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
in Multi-Range Read. 


sql/opt_range.cc:
  Make get_quick_select_for_ref() accept estimated # records as parameter and 
  set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
  in Multi-Range Read.
sql/opt_range.h:
  Added "records" parameter to get_quick_select_for_ref()
sql/sql_select.cc:
  Added "records" parameter to get_quick_select_for_ref()
2005-04-29 01:16:32 +04:00
sergefp@mysql.com
a7a1d4dc1e Fix for BUG#10244:
Make get_quick_select_for_ref() accept estimated # records as parameter and 
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
in Multi-Range Read.
2005-04-29 01:16:32 +04:00
unknown
5d3af2b0a7 WL 1682: Use bitvector instead of query_id to tell handler which fields
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)


mysys/my_bitmap.c:
  Debug code
sql/field.cc:
  Initialise fieldnr to 0 if not set anywhere else
sql/field.h:
  Introduce a fieldnr (first field = 1 and last = table->s->fields
  in field object to be able to quickly set appropriate bit in
  read/write set
sql/ha_federated.cc:
  Changed federated handler to use write set instead of query_id
sql/ha_innodb.cc:
  Changed InnoDB handler to use write set instead of query_id
sql/ha_ndbcluster.cc:
  Changed NDB handler to use write set instead of query_id
sql/ha_ndbcluster.h:
  Changed NDB handler to use write set instead of query_id
sql/handler.cc:
  Allocate read_set and write_set either in get_new_handler or in
  special routine
  Routines used at destruction of handler object
  plus routine to set all primary key fields in read_set
sql/handler.h:
  bool to keep track if read/write set allocated or not in handler
  Deallocate read/write set at delete of handler object
  New bitmap's for read/write set
sql/item.cc:
  Set bits in read or write set (set_query_id = 2 => write_set
  set_query_id = 1 => read_set
sql/lock.cc:
  Clear bit set when starting a new statement in external lock
sql/mysql_priv.h:
  changed set_query_id from bool to ulong
sql/opt_range.cc:
  Set primary key read set in all places where HA_EXTRA_RETRIEVE_PRIMARY_KEY
  is used
sql/sql_acl.cc:
  set all bits in read set all places where HA_EXTRA_RETRIEVE_ALL_COLS
  are used
sql/sql_base.cc:
  Clear all bits before start new statement when table locked already
  Set bit in read/write set dependent on set_query_id and fieldnr
  bool -> ulong for set_query_id
  set all bits in read set for SELECT * queries where table is not view
sql/sql_class.h:
  Added comments + changed type of set_query_id
sql/sql_insert.cc:
  Use 2 when setup_fields called for fields to updated in UPDATE
  and INSERT statements
  set primary key fields when EXTRA param used
sql/sql_load.cc:
  Set all bits in write set if no fields specified in LOAD DATA FROM
  INFILE
  Otherwise use 2 to set specific fields to be updated by LOAD DATA...
sql/sql_select.cc:
  Set primary key read set when EXTRA param specified
  Set fieldnr for temporary tables
  Set number of fields before calling get_new_handler
  and only set all bits if there at least one field in table
sql/sql_table.cc:
  Set all bits in read set for old table and all bits in write set for
  new table for ALTER TABLE copy method
  Set all bits in read set when EXTRA param used
sql/sql_udf.cc:
  Set all bits in read set when EXTRA param used
sql/sql_update.cc:
  Set fields to UPDATE to use 2 for set_query_id
  Set all bits in read set when EXTRA param used
sql/table.cc:
  Set fieldnr in openfrm
  Reallocate read/write set in openfrm since table->s->fields==0
  at call to get_new_handler
sql/unireg.cc:
  Fix Bug #10202
2005-04-28 14:45:27 +02:00
mronstrom@mysql.com
21347433cf WL 1682: Use bitvector instead of query_id to tell handler which fields
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)
2005-04-28 14:45:27 +02:00
unknown
09c3e18f24 BUG#10037: A proper fix: Add 0.01 to cost of 'range' scans, don't add 0.01 to cost of the 'index' scan. 2005-04-26 01:56:10 +04:00
sergefp@mysql.com
a27e830385 BUG#10037: A proper fix: Add 0.01 to cost of 'range' scans, don't add 0.01 to cost of the 'index' scan. 2005-04-26 01:56:10 +04:00
unknown
95aaf57ce4 valgrind: initialise variable in QUICK_SELECT_I
sql/opt_range.cc:
  Initialise number of records in QUICK_SELECT_I
2005-04-25 11:08:38 +02:00
msvensson@neptunus.(none)
a24186c280 valgrind: initialise variable in QUICK_SELECT_I 2005-04-25 11:08:38 +02:00
unknown
a52359e00c Fix for BUG#10037
* Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
  'index' scan.


mysql-test/r/range.result:
  Update the test result after the changed cost
sql/opt_range.cc:
  Fix for BUG#10037
  * Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
    'index' scan.
  * make QUICK_GROUP_MIN_MAX_SELECT handle the case where the source table is empty.
2005-04-21 01:55:33 +04:00
sergefp@mysql.com
c2959178ca Fix for BUG#10037
* Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
  'index' scan.
2005-04-21 01:55:33 +04:00
unknown
b529fed683 BUG#9103 merge to 5.0
sql/sql_select.h:
  Auto merged
2005-04-20 12:09:56 +04:00
sergefp@mysql.com
4156f9fa44 BUG#9103 merge to 5.0 2005-04-20 12:09:56 +04:00
unknown
955ec71f78 Fix for BUG#9103:
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.


mysql-test/r/update.result:
  Testcase for BUG#9103
mysql-test/t/update.test:
  Testcase for BUG#9103
sql/opt_range.cc:
  cp_buffer_from_ref now has THD* parameter
sql/sql_select.h:
  cp_buffer_from_ref now has THD* parameter
2005-04-18 05:21:44 +04:00
sergefp@mysql.com
a76ecc5bc7 Fix for BUG#9103:
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.
2005-04-18 05:21:44 +04:00
unknown
be9b52bd69 Post-merge fixes
sql/opt_range.cc:
  Auto merged
2005-04-17 02:10:43 +04:00
sergefp@mysql.com
ba3795f1d4 Post-merge fixes 2005-04-17 02:10:43 +04:00
unknown
6b00231421 Fix for BUG#9348: when computing union of two intervals set lower bound to
minimum of lower bounds of two joined intervals.


mysql-test/r/range.result:
  Testcase for BUG#9348
mysql-test/t/range.test:
  Testcase for BUG#9348
2005-04-17 02:05:09 +04:00
sergefp@mysql.com
2ef1963c91 Fix for BUG#9348: when computing union of two intervals set lower bound to
minimum of lower bounds of two joined intervals.
2005-04-17 02:05:09 +04:00
unknown
cd0a50bf34 remove the rest of isam/merge references
fix a race condition in TC_LOG_BINLOG::unlog


include/Makefile.am:
  remove the rest of isam/merge references
include/config-win.h:
  unused and abused macro removed
include/my_pthread.h:
  unused and abused macro removed
include/my_sys.h:
  MY_IGNORE_BADFD flag
include/mysql_embed.h:
  remove the rest of isam/merge references
mysql-test/r/replace.result:
  remove the rest of isam/merge references
mysql-test/t/replace.test:
  remove the rest of isam/merge references
mysql-test/t/xa.test:
  comment
mysys/my_sync.c:
  MY_IGNORE_BADFD flag
sql/handler.cc:
  remove the rest of isam/merge references
sql/log.cc:
  fix a race condition in TC_LOG_BINLOG::unlog
  preparation for binlog group commit
sql/mysql_priv.h:
  remove duplicates
sql/mysqld.cc:
  remove the rest of isam/merge references
sql/opt_range.cc:
  remove the rest of isam/merge references
sql/set_var.cc:
  hide unused variables. simplify sync_binlog code
sql/sql_base.cc:
  remove the rest of isam/merge references
sql/sql_class.h:
  cleanup
2005-04-05 13:17:49 +02:00
serg@serg.mylan
810b2c3d40 remove the rest of isam/merge references
fix a race condition in TC_LOG_BINLOG::unlog
2005-04-05 13:17:49 +02:00
unknown
c5b5385c65 removed unnecessary (and incorrect) space trimming/padding in generating ranges
(where e.g. col='aaa  ' was converted to col>='aaa' AND col<='aaa       ')
it was incorrect because ucs2 space is not ' ' (0x20)
it was unnecessary because storage engine pads values with spaces for comparison anyway
2005-03-23 19:31:29 +01:00
serg@serg.mylan
08b8666351 removed unnecessary (and incorrect) space trimming/padding in generating ranges
(where e.g. col='aaa  ' was converted to col>='aaa' AND col<='aaa       ')
it was incorrect because ucs2 space is not ' ' (0x20)
it was unnecessary because storage engine pads values with spaces for comparison anyway
2005-03-23 19:31:29 +01:00