Commit graph

1440 commits

Author SHA1 Message Date
bell@sanja.is.com.ua
d3905f3d0e Name resolution context added (BUG#6443) 2005-07-01 07:05:42 +03:00
ramil@mysql.com
2eea2f5208 a fix.
bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
2005-06-30 13:38:29 +05:00
igor@rurik.mysql.com
04e6f472dd Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2005-06-28 03:24:06 -07:00
igor@rurik.mysql.com
42bb0eaf9f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-28 03:20:00 -07:00
igor@rurik.mysql.com
be1478f6f9 group_by.result, group_by.test:
Added a test case for bug #11414.
sql_select.cc:
  Fixed bug #11414: crash on Windows with some simple
  GROUP BY queries.
  It happened to an allocation of an array containing
  0 Copy_field elements in setup_copy_fields.
  The bug had been already fixed in 5.0.
2005-06-28 03:18:37 -07:00
konstantin@mysql.com
526af17380 Fix the broken test suite in -debug build. 2005-06-27 14:10:56 +04:00
konstantin@mysql.com
9b2d517b79 Free unused JOINs early even if using subqueries. 2005-06-25 00:27:40 +04:00
konstantin@mysql.com
153861fa50 Remove an unrelevant assert. 2005-06-24 23:29:00 +04:00
konstantin@mysql.com
aa300fa71b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-join_free2push
2005-06-24 22:48:46 +04:00
konstantin@mysql.com
56a37f8e07 - don't call JOIN::join_free(1) twice for every join in JOIN::cleanup().
The reason it happened was that both, JOIN::cleanup() and JOIN::join_free(),
went over all nested joins and called cleanup/join_free for them.
For that:
- split recursive and non-recursive parts of JOIN::cleanup() and
JOIN::join_free()
- rename JOIN::cleanup to JOIN::destroy, as it actually destroys its
  argument
- move the recursive part of JOIN::cleanup to st_select_lex::cleanup
- move the non-recursive part of JOIN::join_free to the introduced
  method JOIN::cleanup().
2005-06-24 22:48:12 +04:00
igor@rurik.mysql.com
abe8ec4be2 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-06-23 11:22:32 -07:00
igor@rurik.mysql.com
268110b34b Manual merge 2005-06-23 11:22:30 -07:00
konstantin@mysql.com
4c4079430d - implement inheritance of sp_instr: public Query_arena.
We need every instruction to have its own arena, because we want to
  track instruction's state (INITIALIZED_FOR_SP -> EXECUTED). Because of 
  `if' statements and other conditional instructions used in stored 
  procedures, not every instruction of a stored procedure gets executed 
  during the first (or even subsequent) execution of the procedure. 
  So it's better if we track the execution state of every instruction 
  independently.
  All instructions of a given procedure now also share sp_head's 
  mem_root, but keep their own free_list.
  This simplifies juggling with free Item lists in sp_head::execute.
- free_items() moved to be a member of Query_arena. 
- logic of 'backup_arena' debug member of Query_arena has been
  changed to support
  multi-backups. Until now, TRUE 'backup_arena' meant that there is
  exactly one active backup of the THD arena. Now it means simply that
  the arena is used for backup, so that we can't accidentally overwrite an 
  existing backup. This allows doing multiple backups, e.g. in
  sp_head::execute and Cursor::fetch, when THD arena is already backed up
  but we want to set yet another arena (usually the 'permanent' arena,
  to save permanent transformations/optimizations of a parsed tree).
2005-06-23 20:22:08 +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
ndbdev@dl145b.mysql.com
053dd260ee Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-23 01:51:49 +02:00
konstantin@mysql.com
6a0adade83 Remove THD::stmt_backup 2005-06-22 23:12:25 +04:00
ndbdev@dl145b.mysql.com
dcef1c7532 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-22 19:07:29 +02:00
konstantin@mysql.com
8b9bf75740 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-10736-new
2005-06-22 14:40:30 +04:00
svoj@mysql.com
74373e7d54 WL#2286 - Compile MySQL w/YASSL support
Fix GCC 4.0 link failure.
Better CXX_VERSION guessing.
2005-06-22 14:08:28 +05:00
konstantin@mysql.com
a1bec5666f Adjust to the changed Query_arena constructor:
main_mem_root is moved out of class Query_arena.
2005-06-22 11:59:13 +04:00
monty@mishka.local
1524cd001d Cleanup during review of new code
Fixed wrong allocation that could cause buffer overrun when using join cache
2005-06-21 18:18:58 +03:00
igor@igor-inspiron.creware.com
7ea12bd787 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into igor-inspiron.creware.com:/home/igor/mysql-4.1
2005-06-20 06:13:30 -07:00
tulin@dl145b.mysql.com
b217fc0692 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-20 12:42:39 +02:00
svoj@mysql.com
c45df76029 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/svoj/devel/mysql/yassl-mysql-5.0
2005-06-20 11:33:57 +05:00
svoj@mysql.com
7660f609e6 WL#2286 - Compile MySQL w/YASSL support
Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
These compilers have problem with implicit template instantiation in archives
(libyassl.a, libtaocrypt.a). Instantiate templates explicitly.

Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
__cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
2005-06-19 21:46:44 +05:00
tulin@dl145b.mysql.com
ebc2050c25 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-17 23:13:38 +02:00
serg@serg.mylan
637a353d93 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-06-17 14:54:59 +02:00
ndbdev@dl145b.mysql.com
06153da092 Merge dl145c:tomas/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-17 12:55:00 +02:00
tulin@dl145c.mysql.com
a6c19c2532 Merge dl145c.mysql.com:/home/ndbdev/tomas/mysql-4.1
into dl145c.mysql.com:/home/ndbdev/tomas/mysql-5.0
2005-06-17 12:53:49 +02:00
tulin@dl145c.mysql.com
9b3d0b85a3 sql_select.cc:
fixed 64bit bug in lenght store/retrive in cache
2005-06-17 12:36:09 +02:00
ndbdev@dl145b.mysql.com
dd891e35a3 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-16 21:39:06 +02:00
serg@serg.mylan
215ff9e165 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-06-16 21:27:51 +02:00
igor@rurik.mysql.com
86a314cc7b Manual merge 2005-06-16 10:04:41 -07:00
igor@rurik.mysql.com
2095758a9d group_by.result, group_by.test:
Added a test case for bug #8614.
sql_select.cc:
  Fixed bug #8614.
  SELECT DISTINCT ... GROUP BY 'const' must be equivalent to
  SELECT ... GROUP BY 'const'.
2005-06-16 09:45:41 -07:00
serg@serg.mylan
e9b47ad3c7 merged 2005-06-16 14:35:15 +02:00
serg@serg.mylan
0fbd67dac8 for consictency, changed to use memcpy_fixed. 2005-06-16 13:39:54 +02:00
serg@serg.mylan
a1d55ea052 cleanup for bug#11167.
portability alignment issues.
2005-06-15 22:49:52 +02:00
serg@serg.mylan
1e3eb38724 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-06-15 20:24:13 +02:00
ndbdev@dl145b.mysql.com
be7c5c1900 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-15 20:07:31 +02:00
serg@serg.mylan
01b3c70926 renamed:
Item_buff -> Cached_item
  Item_arena -> Query_arena
  TEST_ASSERT -> YYERROR_UNLESS
2005-06-15 19:58:35 +02:00
igor@rurik.mysql.com
4bfe1cc843 join_nested.result, join_nested.test:
Added a teast case for bug #11284.
sql_select.cc:
  Fixed bug #11284.
  Optimization with empty inner table currently cannot be
  used in the case of nested outer join.
2005-06-15 05:56:19 -07:00
igor@rurik.mysql.com
aeb5ab5d4c Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-06-15 03:39:43 -07:00
igor@rurik.mysql.com
46325044d0 join_outer.result, join_outer.test:
Added a test case for bug #11285.
sql_select.cc:
  Fixed bug #11285.
  The problem occurred with Item_equal in an 'on expression'
  that was evaluated to false.
2005-06-15 02:02:25 -07:00
timour@mysql.com
3220f721dd Fix for BUG#11211 "GROUP BY doesn't work correctly"
When the GROUP BY clause contains a column reference that can be resolved to
both an aliased column in the SELECT list, and to a column in the FROM clause,
the group column is resolved to the column in the FROM clause (for ANSI conformance).
However, it may be so that the user's intent is just the other way around, and he/she
gets the query results grouped by a completely different column than expexted.
This patch adds a warning in such cases that tells the user that there is potential
ambiguity in the group column.

sql/sql_select.cc
- Added a warning when a GROUP column is ambiguous due to that there is a
  column reference with the same name both in the SELECT and FROM clauses.
  In this case we resolve to the column in FROM clause and warn the user
  of a possible ambiguity.
- More extensive comments.
- Changed the function to return bool instead of int (as in other places).

mysql-test/t/group_by.test
  Added test for BUG#11211.

mysql-test/r/group_by.result
  Added test for BUG#11211.
2005-06-15 10:12:49 +03:00
bell@sanja.is.com.ua
303dafc538 fix of BUG#11111 fix 2005-06-15 01:57:25 +03:00
evgen@moonbone.local
bff2fd8d7b Fix 11 "fetch from view returns wrong data"
Wrong method for creating temporary field was choosen, which results in
sending int field with int header but lonlong data.

Test case is added to mysql_client_test.c because client library is required
to test the bug.
2005-06-15 01:57:40 +04:00
ndbdev@dl145b.mysql.com
0257d41da1 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-13 20:35:38 +02:00
igor@igor-inspiron.creware.com
fdce34a385 Merge igor-inspiron.creware.com:/home/igor/dev/mysql-4.1-0
into igor-inspiron.creware.com:/home/igor/dev/mysql-5.0-0
2005-06-13 06:28:23 -07:00
igor@igor-inspiron.creware.com
750fca61f9 ctype_utf8.test, ctype_utf8.result:
Added a test case for bug #11167.
sql_select.cc:
  Fixed bug #11167.
  In 4.1 char/varchar fields are limited by 255 characters in
  length that make them longer than 255 bytes in size for such
  character sets as UTF8. The functions store_record_in_cache
  and read_cached_records did not take into account this
  Moreover the code did not take into account that the size
  of the varchar fields in 5.0 can be up to 65535 bytes
2005-06-13 06:10:19 -07:00
ndbdev@dl145b.mysql.com
8d44b54295 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-10 07:22:27 +02:00