Commit graph

95 commits

Author SHA1 Message Date
gkodinov@mysql.com
96ceb6c234 gcc 4.1 linux warning fixes backported from 5.0. 2006-06-28 16:28:29 +03:00
igor@rurik.mysql.com
37e049db01 Fixed bug #18206.
The bug report revealed two problems related to min/max optimization:
1. If the length of a constant key used in a SARGable condition for
for the MIN/MAX fields is greater than the length of the field an 
unwanted warning on key truncation is issued;
2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
than can lead to returning a wrong result set.
2006-06-02 14:14:57 -07:00
bell@sanja.is.com.ua
4e931d3c45 Excluded posibility of tmp_table_param.copy_field double deletion (BUG#14851). 2006-01-18 13:48:57 +02:00
evgen@moonbone.local
47059b89f5 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/14186-bug-4.1-mysql
2005-11-01 17:34:19 +03:00
evgen@moonbone.local
cc5d7c0715 Fix bug #14138 ROLLUP and PROCEDURE ANALYSE() hang server
Procedure analyse() redefines select's fields_list. setup_copy_fields() assumes
that fields_list is a part of all_fields_list. Because select have only 
3 columns and analyse() redefines it to have 10 columns, int overrun in
setup_copy_fields() occurs and server goes to almost infinite loop.

Because fields_list used not only to send data ad fields types, it's wrong 
to allow procedure redefine it. This patch separates select's fileds_list 
and procedure's one. Now if procedure is present, copy of fields_list is 
created in procedure_fields_list and it is used for sending data and fields.
2005-10-28 15:24:46 +04:00
evgen@moonbone.local
77723c2438 Fix bug#14186 select datefield is null not updated
Date field was declared as not null, thus expression 'datefield is null'
was always false. For SELECT special handling of such cases is used. 
There 'datefield is null' converted to 'datefield eq "0000-00-00"'.

In mysql_update() before creation of select added remove_eq_conds() call.
It makes some optimization of conds and in particular performs conversion
from 'is null' to 'eq'. 
Also remove_eq_conds() makes some evaluation of conds and if it founds that
conds is always false then update statement is not processed further.
All this allows to perform some update statements process faster due to
optimized conds, and not wasting resources if conds known to be false.
2005-10-28 01:24:11 +04:00
igor@rurik.mysql.com
c73c2af614 func_str.result, func_str.test:
Added a test case for bug #10124.
sql_select.h, item_subselect.cc, sql_select.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
field.cc:
  Fixed bug #10124.
  When ussuing a warning the store methods return 2 instead of 1 now.
2005-06-23 06:15:50 -07:00
msvensson@neptunus.(none)
5b5565c30a BUG#10241 cygwin port: invalid pragma interface directives
- Introduce ifdefs so we can control when to use #pragma interface on cygwin
2005-05-04 15:05:56 +02: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
sergefp@mysql.com
d0c9b36224 Fix for BUG#8877: Implementation of
"Early NULL-values filtering for ref access" (attempt2+post-review fixes)
1. update_ref_and_keys() accumulates info about null-rejecting
predicates in in KEY_FIELD::null_rejecting, add_key_part saves
these to KEYUSE.
2. create_ref_for_key copies them to TABLE_REF.
3. add_not_null_conds adds "x IS NOT NULL" to join_tab->select_cond of
appropiate JOIN_TAB members.

Includes code cleanups: 
* add_key_field() params: s/COND/Item_func/ (as only Item_funcs are
passed to it)
* add_key_fields() params: JOIN_TAB *stat removed (wasn't used)
2005-04-05 02:42:23 +04:00
igor@rurik.mysql.com
ce6c390c39 olap.result, olap.test:
Added a test case for bug #8616.
item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
2005-03-15 22:50:54 -08:00
monty@mysql.com
b903a129e2 Simpler arena swapping code
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
2004-11-08 01:13:54 +02:00
bell@sanja.is.com.ua
2cf1234ba2 after review patch 2004-08-31 21:10:57 +03:00
bell@sanja.is.com.ua
d2fa79b291 keep old engine & JOIN if we changed subquery Item (Bug #3646) 2004-05-07 23:06:11 +03:00
bell@sanja.is.com.ua
c2f194f243 repetable test replaced with inline function 2004-05-04 16:37:04 +03:00
bell@sanja.is.com.ua
8035ce40ec DBUG_ASSERT(fixed == 0) added to fix_fields() 2004-03-17 14:26:26 +02:00
bell@sanja.is.com.ua
0aa7a4b4ea after merge & valgrind test fixes (BUG#2120) 2004-02-10 02:18:22 +02:00
bell@sanja.is.com.ua
b99d13582b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
2004-02-09 12:10:12 +02:00
bell@sanja.is.com.ua
2a9cd37cd6 now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables
2004-02-01 15:30:32 +02:00
ram@gw.mysql.r18.ru
6fab168a63 fix for the bug #2419: order by ignores rows.
null_ref_key moved to TABLE_REF.
new null range created if necessary.
2004-01-31 10:04:16 +04:00
monty@mysql.com
ede8169d24 Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
2003-11-28 12:18:13 +02:00
bell@sanja.is.com.ua
7191ea0ae3 Fixed UNION fields type/length detecting 2003-11-23 02:01:15 +02:00
monty@mysql.com
8aeb63dd3b Update VC++ files
Portability fixes
After merge fixes
2003-11-21 01:53:01 +02:00
bell@sanja.is.com.ua
e025adb403 Merge 2003-11-03 08:47:27 +02:00
bell@sanja.is.com.ua
33f6f72979 join_free now is method of JOIN and commented
dependence should mean uncacheability
2003-11-02 16:31:22 +02:00
bell@sanja.is.com.ua
dba82596aa merge 2003-10-31 23:03:27 +02:00
bell@sanja.is.com.ua
0747324ede merge 2003-10-31 22:14:49 +02:00
serg@serg.mylan
b1f5a03685 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-31 14:25:38 +01:00
ram@gw.mysql.r18.ru
90ffe1be00 WL #1056: Eliminate NOT operators from where condition 2003-10-31 13:02:16 +04:00
bell@sanja.is.com.ua
a7bdd19707 subqueries made printable
new EXPLAIN parameter to show real query as it was interpreted
(SCRUM) (WL#1274)
2003-10-16 15:54:47 +03:00
serg@serg.mylan
8cc3951c8f key_map with more that 64 bits width 2003-10-11 13:06:55 +02:00
bell@laptop.sanja.is.com.ua
99fe76453e samall optimisation (any independent query will not save data for rexecution)
saving/restoring join_tab array (to save it of chnging by create_sort_index() before reexecuting)
(BUG#1523)
2003-10-10 21:49:48 +03:00
bell@sanja.is.com.ua
46b8c3ea8b renamed join_types (as was suggested by Peter Gulutzan) 2003-09-14 09:40:57 +03:00
bell@laptop.sanja.is.com.ua
3d2a3804a1 reset() split in 2 function clear() & add()
aggregate function reinitialization (if no rows was found) made with help of clear()
(fixed BUG#860)
2003-08-28 03:10:14 +03:00
bell@sanja.is.com.ua
758129279f Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-simple_in-4.1
2003-08-13 10:12:41 +03:00
bell@sanja.is.com.ua
b6a8d68ae4 fixed problem with reference on derived table fields (BUG#1031) 2003-08-12 15:04:49 +03:00
bell@sanja.is.com.ua
7e34954b5e new optimisation for ref_null (SCRUM) (WL#818) 2003-07-17 19:39:31 +03:00
serg@serg.mylan
da5a81cf1f cut&paste fixed 2003-07-15 15:20:22 +02:00
bell@sanja.is.com.ua
8279740af4 new IN subquery engine added for simple IN with non-primary index but without NULL returning
(SCRUM) (part of WL#818)
2003-07-08 00:08:00 +03:00
bell@sanja.is.com.ua
acece34bce Merge sanja.is.com.ua:/home/bell/mysql/bk/work-top3-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-simple_in-4.1
2003-07-07 18:51:14 +03:00
bell@sanja.is.com.ua
5c836428eb merge 2003-07-07 18:49:54 +03:00
bell@sanja.is.com.ua
6348e63f62 Optimisation if simple IN subselect with primary index
(SCRUM) (part of WL#818)
2003-07-07 18:40:19 +03:00
bell@sanja.is.com.ua
bfc70eb9c9 fixed subselect with to temporary tables executing
(now it return correct results. Test was commited before, but it is not pushed,
BUG# is not registered, because bug was introduced after release)
2003-07-07 00:45:51 +03:00
bell@sanja.is.com.ua
7b450a4fda avoiding of allocating JOIN structure on every UNION executing
(SCRUM)
2003-07-05 17:21:39 +03:00
bell@sanja.is.com.ua
b6f39d22e5 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-alloc_group-4.1
2003-07-01 19:48:31 +03:00
bell@sanja.is.com.ua
791ae8d34d merge 2003-07-01 13:57:46 +03:00
monty@mashka.mysql.fi
dbebed97e4 Remove FORCE_INIT_OF_VARS when compiling for valgrind/purify to spot wrong LINT_INIT() options
Fixed bug in ALTER TABLE ... MODIFY integer-column
Added ref_or_null optimization (needed for subqueries)
2003-06-30 13:23:54 +03:00
monty@narttu.mysql.fi
23145cfed7 Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86
2003-06-04 18:28:51 +03:00
bell@sanja.is.com.ua
98ffed1808 priventing allocation unused Item_buff (alloc_group_fields()) 2003-05-30 22:14:52 +03:00
Sinisa@sinisa.nasamreza.org
3ca1a152eb Making a better fix for double released pointers and safe
TMP_TABLE_PARAM.
This involved moving things around in include files.
All tests, including the ones with Valgrind passed.
2003-04-26 15:12:14 +03:00