Commit graph

275 commits

Author SHA1 Message Date
bell@laptop.sanja.is.com.ua
30913419ec after merge changing
uninitialized value fixed
2003-08-20 17:35:12 +03:00
monty@narttu.mysql.fi
359846f052 Fixed some varnings from valgrind
Set min value of max_allowed_packet to 1024
Fixed problem with UNION's without braces and SQL_CALC_FOUND_ROWS, LIMIT #,#
and ORDER BY...LIMIT
2003-08-20 16:25:44 +03:00
Sinisa@sinisa.nasamreza.org
7635c537be fixing limit and SQL_CALC_FOUND_ROWS issues 2003-08-20 13:56:32 +03:00
bell@laptop.sanja.is.com.ua
dd9cbce47b merge 2003-08-19 20:14:35 +03:00
monty@mashka.mysql.fi
10c4acfb4f merge 2003-08-19 00:10:21 +03:00
bell@laptop.sanja.is.com.ua
85f397781b Code cleanup 2003-08-16 13:26:48 +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
011d905391 merge 2003-08-12 17:48:58 +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
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
bell@sanja.is.com.ua
cbb3a78d8d merge 2003-08-11 12:00:33 +03:00
bell@sanja.is.com.ua
a0fda66f00 merge 2003-08-11 11:51:33 +03:00
bell@sanja.is.com.ua
c66cc864e8 merge 2003-08-09 16:53:23 +03:00
bell@sanja.is.com.ua
87c60ca3d6 fixed union unlocking problem (BUG#906) 2003-08-09 14:39:54 +03:00
Sinisa@sinisa.nasamreza.org
1d2a7cadae merge 2003-08-06 18:59:26 +03:00
Sinisa@sinisa.nasamreza.org
3c99eb433c sql_union.cc, sql_select.cc:
Code clean-up
sql_union.cc, union.test, union.result:
  A fix for a bug #978.
  This enables that NULL's can be entered into UNION's result set,
  although first SELECT columns are NOT NULL.
  This is also a start of fixing UNION's properly regarding type
  acceptance.
sql_select.cc:
  A commit for my second July SPRINT task
2003-08-06 18:48:34 +03:00
bell@sanja.is.com.ua
659650b4ea merge 2003-08-05 09:56:21 +03:00
bell@sanja.is.com.ua
bc1546ce31 count HAVING clause elements with select list elements, because agregate function can be present in it (BUG#922)
removerd unused loop_id
2003-07-29 13:00:32 +03:00
bell@sanja.is.com.ua
ec74bb8d76 independent ALL/ANY subselect on top of WHERE clause (subselect without GROUP BY or aggregate functions) optimisation
(SCRUM) (WL#1086)
2003-07-24 15:26:21 +03:00
Sinisa@sinisa.nasamreza.org
1167e170d2 Merge 2003-07-19 18:49:04 +03:00
pem@mysql.telia.com
9c3a7a6ba3 Merge 4.1 into 5.0 (first pass). 2003-07-08 17:50:23 +02: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
28207ede02 (SCRUM)
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
 - removed mess with current_select type conversion
   - type checking/converting
   - a lot of virtual methods
 - fake select for union execution allocated only once (it was allocated for every subselect with union executing)

changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE 
new description of SELECT_LEX tree

(SCRUM)
2003-07-03 02:30:52 +03:00
bell@sanja.is.com.ua
5eaaf8e732 after review changes (SCRUM)
removed outer resolving flag (because of movingtransformation after fix_fields)
2003-07-02 01:45:22 +03:00
Sinisa@sinisa.nasamreza.org
c1660e1a23 Lot's of clean-ups and fixes for 4.0.14. 2003-07-02 00:10:47 +03:00
bell@sanja.is.com.ua
100a101ab6 Merge 2003-06-30 13:14:18 +03:00
bell@sanja.is.com.ua
ebc2976f94 fixed bug #745
(resolving fields of reduced subselect)
2003-06-28 17:04:26 +03:00
bell@sanja.is.com.ua
7b77c5a2d3 merged 2003-06-25 23:52:15 +03:00
Sinisa@sinisa.nasamreza.org
bb764d6b5e code cleanup 2003-06-25 18:34:46 +03:00
bell@sanja.is.com.ua
096ae170ae Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-item-4.1
2003-06-19 15:25:41 +03:00
Sinisa@sinisa.nasamreza.org
5a414bda8e Two Sprint tasks and two behaviour changes. 2003-06-17 16:20:07 +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
01217497b5 merging 2003-05-26 15:52:19 +03:00
bell@sanja.is.com.ua
1a064a43a7 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top-4.1
2003-05-26 09:28:56 +03:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
bell@sanja.is.com.ua
3a30eda921 fixed memory overrun (bug 380) 2003-05-17 10:05:07 +03:00
bell@sanja.is.com.ua
1915632163 subselect transformation moved in after-fix_field place
removed "of is null" if it is possible
  (this cset should be SCRUM related, but not approved as scrum task yet)
2003-05-14 21:51:33 +03:00
monty@narttu.mysql.fi
13530887cb Fix for UNION and LEFT JOIN (Bug #386)
Fixed wrong logging of Access denied error (Bug #398)
2003-05-13 18:58:26 +03:00
vva@eagle.mysql.r18.ru
afd581edd3 made lex a pointer in THD 2003-05-05 14:54:37 -04: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
monty@narttu.mysql.fi
f6a43bd567 Fixes for valgrind
Added optimzation for clustered index
Fixed bug in UPDATE ... ORDER BY
Fixed handling of UPDATE ... LIMIT
2003-04-23 21:52:16 +03:00
Sinisa@sinisa.nasamreza.org
adb52cfc70 Fix for a bug record #307.
Very nasty bug.
It was caused by double free()-ing memory of join->select and 
join->quick. 

I was able to pinpoint it only after using Valgrind.

Plus better fix for bug with TMP_TABLE_PARAM.

Plus new constructor for SELECT_LEX.
2003-04-21 21:03:32 +03:00
Sinisa@sinisa.nasamreza.org
3cef0070f9 Post - post merge fix. 2003-04-09 19:17:12 +03:00
Sinisa@sinisa.nasamreza.org
5d971658db merge fix 2003-04-09 18:52:33 +03:00
monty@mashka.mysql.fi
06febc8df3 A better fix for UNION and slow query log. 2003-04-08 03:54:02 +03:00
Sinisa@sinisa.nasamreza.org
c027af6459 Fix for a crashing bug in union.
Parameters for temporary tables were created locally in the function
and it's address passed to a field in select_result, which produced
random errors when MyISAM table was created based on this bogus
address.
2003-03-29 16:41:01 +02:00
Sinisa@sinisa.nasamreza.org
85fb265c3c Fixing a bug #195
Fixing UNION's popping up in slow query log
2003-03-27 16:11:01 +02:00
monty@narttu.mysql.fi
a916a03916 Fixes to avoid errors from valgrind
Fixed problem with 'wrong packet number' in union
2003-03-18 11:17:48 +02:00
Sinisa@sinisa.nasamreza.org
ffa8a47b6d three bug fixes and major code cleanup 2003-03-06 17:02:10 +02:00
Sinisa@sinisa.nasamreza.org
bf3dabcce4 Allowing NULL values in UNION's with first SELECT having only NOT NULL
columns.
2003-02-22 17:02:36 +02:00
lenz@mysql.com
7a6d8edfd7 Applying Sinisa's patch:
"Cleaning the code of the remaining OLAP code.
This code is unnecessary in 4.1/5.0"
2003-02-19 14:58:44 +01:00
Sinisa@sinisa.nasamreza.org
410cbef6b3 Code clean-up 2003-02-15 16:05:58 +02:00
Sinisa@sinisa.nasamreza.org
5acf83802d fix a bug in derived tables
UNION's bug fixes and code clean-up
2003-02-13 17:56:01 +02:00
bell@sanja.is.com.ua
62902a3b4b after-review changes (577 SCRUM) 2003-02-02 23:30:01 +02:00
bell@sanja.is.com.ua
e294751c41 fixed bug in determinating uncacheable queries
new fatal_error interface to assign is_fatal_error and ne.report_error
commant about Item_row
2003-01-30 22:15:44 +02:00
bell@sanja.is.com.ua
214036a7f6 improving of fields list creation in derived tables and unions
fixed length of fields created in fubselect
fixed resolving fields of reduced in derived table subselect
2003-01-29 19:42:39 +02:00
bell@sanja.is.com.ua
0c5b323d0f fixed bugs in temporary tables in subselect implementation (SCRUM)
merging with switching on static tables optimization (SCRUM)
fixed subselects with uncacheable results
added test for fixed bugs from bugreports
2003-01-28 14:48:12 +02:00
bell@sanja.is.com.ua
44d8a8cdab merging 2003-01-25 13:19:46 +02:00
bell@sanja.is.com.ua
d56e23f64e fixed subselects with temporary tables (SCRUM)
fixed memory leacks
2003-01-25 02:25:52 +02:00
monty@mashka.mysql.fi
9ecf9645eb A lot of portability fixes.
Added rename table for BDB. This fixes a bug in ALTER TABLE with BDB tables.
2003-01-05 20:18:49 +02:00
Sinisa@sinisa.nasamreza.org
672a695f8f bug fixes and tests ... 2002-12-25 15:07:36 +02:00
Sinisa@sinisa.nasamreza.org
ab70ad7c1e Merge sinisa@work.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2002-12-14 15:15:23 +02:00
Sinisa@sinisa.nasamreza.org
a918a6a7a9 derived tables with UNION's ...
Scrum task !!!!!
2002-12-12 16:09:06 +02:00
bell@sanja.is.com.ua
6db77efb75 merging 2002-12-10 11:41:47 +02:00
Sinisa@sinisa.nasamreza.org
d8b4d6bd26 fix for a bug with UNION in sub-select's and start working on
UNION's in derived tables
2002-12-09 20:47:47 +02:00
bell@sanja.is.com.ua
4506ab9ef1 _NEW_ IN/ALL/ANY/SOME behaviour with NULL (SCRUM related)
optimization of left expression evaluation
more descriptive method name
2002-12-06 21:55:53 +02:00
monty@mashka.mysql.fi
35ff08c2af After merge fixes
Added THD to add_to_xxx_list() functions for faster parsing.
2002-12-06 21:11:27 +02:00
monty@mashka.mysql.fi
859b688476 Merge with 4.0.6 2002-12-05 19:38:42 +02:00
bell@sanja.is.com.ua
c6b48c6f26 fix of error handling 2002-12-01 00:11:22 +02:00
monty@mashka.mysql.fi
6603d75213 New multi-table-update code
New (simpler) internal timestamp handling.
More debuging to heap tables.
Small cleanups to multi-table-delete
false -> 0 and true -> 1  (We should use TRUE and FALSE)
2002-11-29 16:40:18 +02:00
bell@sanja.is.com.ua
b8b7d0b03b fixed * without tables in IN bug
fixed sunction-test select in IN bug
fixed unions in subselect bug
2002-11-28 19:29:26 +02:00
Sinisa@sinisa.nasamreza.org
b9a671f267 lot's of fixes with test cases 2002-11-18 18:28:51 +02:00
Sinisa@sinisa.nasamreza.org
5a38621cc2 Merge sinisa@work.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2002-11-16 14:31:48 +02:00
bell@sanja.is.com.ua
7f4ee30de1 Fixed bugs pointed by "Crash with 'big' derivated table in MySQL-4.1" bugreport
- fixed switching from heap to MyISAM table
 - fixed error handler
2002-11-16 00:01:48 +02:00
Sinisa@sinisa.nasamreza.org
014073b013 A fix for the bug when MyISAM tmp table has to be created in order
to resolve derived table.

Will make a test case for this quite soon.
2002-11-15 19:58:07 +02:00
bell@sanja.is.com.ua
1f20cf3b42 removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion (SCRUM)
fixed some possible bugs
2002-10-30 13:18:52 +02:00
bell@sanja.is.com.ua
7777d2b819 fixed union rexecution bug 2002-10-27 21:29:40 +02:00
bell@sanja.is.com.ua
c3127c7eb8 code cleanup
fixed subselect error handling bug
fixed subselect UNION ALL bug
fixed thd->lex.select restoring
explain UNION subselect bug
2002-10-26 20:18:37 +03:00
Sinisa@sinisa.nasamreza.org
0a242026a8 fix of the small bug in UNION's 2002-10-16 22:27:47 +03:00
monty@narttu.mysql.fi
3c7f6a9835 merge 2002-10-14 12:07:16 +03:00
bell@sanja.is.com.ua
d9f998164d fixed bug of multi-level EXPLAIN 2002-10-13 14:25:16 +03:00
monty@narttu.mysql.fi
da2abaf887 Portability fixes to be able to compile MySQL with VC++ 2002-10-08 22:28:24 +03:00
bell@sanja.is.com.ua
199f667c19 merging 2002-10-04 14:15:59 +03:00
monty@mashka.mysql.fi
0f39457613 Merge with 4.0.4 2002-10-02 17:55:12 +03:00
monty@mashka.mysql.fi
d69250a969 Fixes and code cleanups after merge with 4.0.3
Warning handling and initial prepared statement handling (last not complete yet)
Changed a lot of functions that returned 0/1 to my_bool type.
GRANT handling now uses read/write locks instead of mutex
Change basic net functions to use THD instead of NET
(needed for 4.1 protocol)
Use my_sprintf instead of sprintf() + strlen()
Added alloc_query() to be able to chare query initialization code with
prepared statements.
Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID()

Note that the following test fails (will be fixed ASAP):
sub_select, union, rpl_rotate_logs and rpl_mystery22
2002-10-02 13:33:08 +03:00
bell@sanja.is.com.ua
46a22a5be7 new EXPLAIN
fixed bug in mysql-test/create-test-result
fixed bug in union-subselect engine
2002-09-26 23:08:22 +03:00
monty@mashka.mysql.fi
cb8580a2cd Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
This should fix some issues where --lower-case-table-names doesn't work properly under windows.
2002-09-20 14:05:18 +03:00
bell@sanja.is.com.ua
b07aaeb295 subselect with union
new error handling
Item_ref bug fixed
2002-09-03 09:50:36 +03:00
monty@narttu.mysql.fi
7134ffec21 Merge with 4.0.3
Some simple optimzations, more comments and indentation changes.
Add ` around database in 'use database' in binary log.
Moved max_error_count and max_warning_count to variables struct.
Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls.
Changed string functions to use character set of first string argument as default return characterset
(Each string function can change the above assumption if needed)
2002-08-30 12:40:40 +03:00
monty@mashka.mysql.fi
c702a1f8fd Removed wrong implementation of CUBE/ROLLUP
Fixed bugfix of INSERT ... SET db_name.table_name.column_name
Changed locking to external-locking
Fix client hangup for some invalid SQL queries.
2002-07-24 19:55:08 +03:00
monty@mashka.mysql.fi
4233d3a3d4 merge 2002-07-23 20:39:36 +03:00
monty@mashka.mysql.fi
dddc20d9d1 New SET syntax & system variables.
Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups
2002-07-23 18:31:22 +03:00
Sinisa@sinisa.nasamreza.org
2e8fb546dc OLAP functionality plus some small bug fixes 2002-07-20 14:51:52 +03:00
Sinisa@sinisa.nasamreza.org
c5738005c4 Just making commit in order to stop getting erors.
Will do a push when it starts working ..
2002-07-16 22:42:53 +03:00
monty@mashka.mysql.fi
2aecdd1a91 Big code cleanup/review before 4.0.2 release.
(All commit emails since 4.0.1 checked)
This had to be done now, before the 4.1 tree changes to much, to make it easy to propagate bug fixes to the 4.1 tree.
2002-06-11 11:20:31 +03:00
bell@sanja.is.com.ua
289ac250af merged 2002-06-05 21:32:22 +03:00
bell@sanja.is.com.ua
ab36838e9b Hiding internal pointers of SELECT_LEX structures 2002-05-27 20:52:54 +03:00
Sinisa@sinisa.nasamreza.org
329bd4fabd Fixed a bug with big result sets and UNION's 2002-05-24 15:26:47 +03:00
bell@sanja.is.com.ua
e077890b04 simple subselects ported to new select_lex structures 2002-05-12 23:46:42 +03:00
bell@sanja.is.com.ua
4cb3760b44 total table list managment is changed 2002-05-09 15:23:57 +03:00
bell@sanja.is.com.ua
0e29107fa1 removed fake description (EXPLAIN) of first table for last SELECT_LEX with global parameters, because now it is absent 2002-05-09 12:12:17 +03:00
bell@sanja.is.com.ua
ead6f225a4 new SELECT_LEX structures used for storing global ORDER BY, global LIMIT & limit counters 2002-05-08 23:14:40 +03:00
bell@sanja.is.com.ua
494184ff5f new SELECT_LEX structure 2002-05-07 00:04:16 +03:00
Sinisa@sinisa.nasamreza.org
d61b4b6dfd Adding some things according to Monty's correct observations 2002-04-12 16:01:09 +03:00
Sinisa@sinisa.nasamreza.org
34998c5ad4 fix for SQL_CALC_FOUND_ROWS in UNION's 2002-04-03 17:52:31 +03:00
Sinisa@sinisa.nasamreza.org
b98a84a19f Fix for a bug with EXPLAIN and (....) UNION (....) order by 2002-04-02 20:08:55 +03:00
Sinisa@sinisa.nasamreza.org
8766627d73 Fixes for offset bug in UNION's and making UNION's obey
SELECT_DEFAULT_LIMIT
2002-03-22 13:26:13 +02:00
Sinisa@sinisa.nasamreza.org
87eea66796 fix for the limit bug in UNION's and some additional syntax
checkings
2002-03-19 14:07:52 +02:00
monty@hundin.mysql.fi
f0e835ac09 Fixed problem with WHERE key=const ORDER BY key DESC 2002-03-15 21:30:50 +02:00
Sinisa@sinisa.nasamreza.org
ec80dec9b0 Making full-text queries working with UNION's 2002-03-15 14:11:11 +02:00
Sinisa@sinisa.nasamreza.org
b42ec166c0 Surgical changes in sql_select and sql_union code in order to
accomodate EXPLAIN properly for all possible variant of UNION's
derived tables etc ...

This also fixes all reported (and unreported) bugs when EXPLAIN is
run on UNION's.

select_describe() now has a very dirty hack to avoid some problems
with transactional tables on table unlocking.

Code speedup is possible. For the moment all that was important was
that all tests are passed.
2002-02-28 13:50:00 +02:00
Sinisa@sinisa.nasamreza.org
7bda9e7239 some UNION bug fixes.. 2002-02-21 13:40:22 +02:00
monty@hundin.mysql.fi
87fd219d67 Fixed sleep time in mysql-test-run
Fixed bug in query cache.
Cleaned up des_crypt code.
2001-12-13 02:31:19 +02:00
monty@hundin.mysql.fi
a66ddaf8ba Fixed fulltext after merge from 3.23.45
First (incomplete) version of transaction and as3ap tests.
2001-11-22 17:55:18 +02:00
Sinisa@sinisa.nasamreza.org
006ff09c34 New alternate UNION syntax and bug fix for multi-table deletes 2001-10-25 14:41:49 +03:00
Sinisa@sinisa.nasamreza.org
376638b15b Unchecked changes, so that I could run mysql-test.
If I ruined anything, write your complaints to sasha@mysql.com
2001-10-19 17:43:30 +03:00
monty@hundin.mysql.fi
5a14bb2a7e Integrated table->ref_primary_key into table->part_of_key
Fixed bug in UNION
2001-09-21 03:38:35 +03:00
monty@hundin.mysql.fi
bfc7394ec3 Fixed bug in UNION when doing UNION with the same tables 2001-09-17 22:44:51 +03:00
monty@hundin.mysql.fi
295107457f Fixed bug with SELECT * ... UNION 2001-09-17 15:40:03 +03:00
monty@hundin.mysql.fi
0d72e5440f Portability fixes 2001-09-15 16:22:34 +03:00
monty@hundin.mysql.fi
52b83ea218 Fixed bug in UNION
Fixed replication bug in load_master_data
2001-09-14 19:50:56 +03:00
Sinisa@sinisa.nasamreza.org
3b6546b875 EXPLAIN on UNION"s 2001-08-24 13:18:06 +03:00
monty@hundin.mysql.fi
59e7c97dab Remove warnings and portability fixes
New global read lock code
Fixed bug in DATETIME with WHERE optimization
Made UNION code more general.
2001-08-14 20:33:49 +03:00
Sinisa@sinisa.nasamreza.org
2252f945d0 Changes so that CREATE and INSERT work from UNION's 2001-08-12 16:01:32 +03:00
monty@tik.mysql.fi
b13d453d50 Fix UNION
New faster list iterators
Change list code to be simpler and faster
Optimize count(distinct)
New error messages for UNION
Make create_tmp_table more general to be usable by UNION
2001-08-02 06:29:50 +03:00