Commit graph

32724 commits

Author SHA1 Message Date
unknown
9221a5482b BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
When implicitly converting string fields to numbers the 
 string-to-number conversion error was not sent to the client.
 Added code to send the conversion error as warning.
 
 We also need to prevent generation of warnings from the places
 where val_xxx() methods are called for the sole purpose of updating
 the Item::null_value flag.
 To achieve that a special function is added (and called) : 
 update_null_value(). This function will set the no_errors flag and
 will call val_xxx(). The warning generation in Field_string::val_xxx()
 will use the flag when generating the conversion warnings. 


mysql-test/r/compare.result:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - non-convertible strings in arithmetic operations
mysql-test/r/func_gconcat.result:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - non-convertible strings in arithmetic operations
mysql-test/r/func_group.result:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - non-convertible strings in arithmetic operations
mysql-test/r/type_varchar.result:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - test case
mysql-test/t/type_varchar.test:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - test case
sql/field.cc:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - send conversion warning to the client
sql/item.cc:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - send conversion warning to the client
sql/item.h:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - added a special function to explicitly update the null_value
sql/item_func.h:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - added a special function to explicitly update the null_value
sql/item_subselect.h:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - added a special function to explicitly update the null_value
sql/item_sum.cc:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - added a special function to explicitly update the null_value
sql/item_sum.h:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - added a special function to explicitly update the null_value
sql/sql_string.h:
  BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
   - send conversion warning to the client
2006-11-28 15:44:11 +02:00
unknown
1019dd404c Bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
The regression is caused by the fix for bug 14767. When INSERT ... SELECT
used a view in the SELECT list that was not inlined, and there was an 
active transaction, the server could crash in Query_cache::invalidate.

On INSERT ... SELECT only the table being inserted into is invalidated.
Thus views that can't be inlined are skipped from invalidation.

The bug manifests itself in two ways so there is 2 test cases.
One checks that the only the table being inserted into is invalidated.
And the second one checks that there is no crash on INSERT ... SELECT.


mysql-test/t/query_cache.test:
  Added a test case for bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
mysql-test/r/query_cache.result:
  Added a test case for bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
sql/sql_parse.cc:
  Bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view 
  On INSERT ... SELECT only the table being inserted into is invalidated.
2006-11-14 19:50:44 +03:00
unknown
405dcd2df2 merge 4.1->5.0 of the test suite for bug 19216 2006-11-13 15:37:04 +02:00
unknown
92a3ed719e Merge macbook.gmz:/Users/kgeorge/mysql/work/B19216-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B19216-5.0-opt


sql/protocol.h:
  Auto merged
sql-common/client.c:
  Auto merged
BitKeeper/deleted/.del-mysql_client.test:
  merge 4.1->5.0
sql/protocol.cc:
  merge 4.1->5.0
2006-11-13 12:44:56 +02:00
unknown
f53af7b8e5 Bug #19216: Client crashes on long SELECT
The server sends a number of columns to the client.
 It uses a limited "fast" function for that instead of the
 general one. This fast function cannot send numbers larger 
 than 2 bytes. 
 This causes the client to expect smaller number of columns. 
 The client writes outside of the allocated memory buffer 
 as a result.
 Fixed the server to use the general function to send column
 count.
 Fixed the client to check the column count before writing
 column data. 


mysql-test/t/mysql_client.test:
  Bug #19216: Client crashes on long SELECT
   - test case
sql/protocol.cc:
  Bug #19216: Client crashes on long SELECT
   - renamed the function for bether comprehention
     and made it local
   - used the right (non-local) function to transfer 
     the column count in Protocol::send_fields
sql/protocol.h:
  Bug #19216: Client crashes on long SELECT
   - made optimized net_store_length local
sql-common/client.c:
  Bug #19216: Client crashes on long SELECT
   - fixed the client to check for older servers (without the fix).
2006-11-13 12:28:55 +02:00
unknown
a5975941a4 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B20191-5.0-opt


sql/sql_select.cc:
  Auto merged
2006-11-09 18:03:49 +02:00
unknown
59b45b5b0a Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
When compiling GROUP BY Item_ref instances are dereferenced in 
setup_copy_fields(), i.e. replaced with the corresponding Item_field 
(if they point to one) or Item_copy_string for the other cases.
Since the Item_ref (in the Item_field case) is no longer used the information
about the aliases stored in it is lost.   
Fixed by preserving the column, table and DB alias on dereferencing Item_ref


mysql-test/r/metadata.result:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - test case
mysql-test/t/metadata.test:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - test case
sql/item.cc:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - use the table and db name to fill up the metadata for columns
sql/sql_select.cc:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - preserve the field, table and DB name on dereferencing an Item_ref
2006-11-09 16:55:42 +02:00
unknown
27aa4489ad Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/8663/my50-8663
2006-11-09 16:08:31 +04:00
unknown
f399d65661 Merge macbook.gmz:/Users/kgeorge/mysql/work/mem-test-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/mem-test-5.0-opt


Makefile.am:
  merge fixes
2006-11-08 16:41:12 +02:00
unknown
93b36e8e05 Make a new test target for autopush.pl to run memory based tests 2006-11-08 15:15:56 +02:00
unknown
3e0139d957 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug8804-pfix
2006-11-08 14:43:17 +03:00
unknown
1d2e456f59 BUG#24056: Crash in subquery:
Don't assume that condition that was pushed down into subquery has 
produced exactly one KEY_FIELD element - it could produce several or
none at all, handle all of those cases.
2006-11-08 02:26:50 +03:00
unknown
9c73436b2e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B11032-5.0-opt
2006-11-07 21:25:49 +02:00
unknown
878b4a3af4 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/hf/work/mysql-5.0.clean
2006-11-07 21:03:45 +04:00
unknown
955e0b1304 bug fixed
sql/field.cc:
  datatime length is 19, not 12
2006-11-07 21:02:41 +04:00
unknown
5ad3ed8c19 Merge macbook.gmz:/Users/kgeorge/mysql/work/B11032-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B11032-5.0-opt


mysql-test/r/subselect.result:
  merge fixes
mysql-test/t/subselect.test:
  merge fixes
sql/item_subselect.cc:
  merge fixes
sql/item_subselect.h:
  merge fixes
2006-11-07 18:44:37 +02:00
unknown
5af4fd2563 Bug #11032: getObject() returns a String for a sub-query of type datetime
- When returning metadata for scalar subqueries the actual type of the
   column was calculated based on the value type, which limits the actual
   type of a scalar subselect to the set of (currently) 3 basic types : 
   integer, double precision or string. This is the reason that columns
   of types other then the basic ones (e.g. date/time) are reported as
   being of the corresponding basic type.
   Fixed by storing/returning information for the column type in addition
   to the result type.


mysql-test/r/subselect.result:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
mysql-test/t/subselect.test:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
sql/item_subselect.cc:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
sql/item_subselect.h:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
2006-11-07 18:16:17 +02:00
unknown
c0487fb970 item.cc:
merge fixes


sql/item.cc:
  merge fixes
2006-11-07 14:39:20 +01:00
unknown
4d37f9b56a Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


sql/item.cc:
  Auto merged
mysql-test/r/order_by.result:
  SCCS merged
2006-11-07 11:53:48 +01:00
unknown
c13142f556 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/8663/my50-8663


mysql-test/r/gis-rtree.result:
  Auto merged
2006-11-07 09:41:08 +04:00
unknown
030d080d8b bug #19491 (5.0-related additional fixes)
include/my_time.h:
  we need to use it outside the my_time.cc
mysql-test/r/gis-rtree.result:
  result fixed
sql-common/my_time.c:
  'static' removed
sql/field.cc:
  checks for invalid datetimes added
2006-11-06 22:33:18 +04:00
unknown
9f75d43ec8 merging
mysql-test/r/gis-rtree.result:
  merging fix
2006-11-06 19:12:19 +04:00
unknown
f9c6368e48 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/8663/my50-8663


mysql-test/r/type_newdecimal.result:
  merging
mysql-test/t/type_newdecimal.test:
  merging
2006-11-06 15:04:58 +04:00
unknown
c0c56d13aa Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/8663/my50-8663


sql/item_func.cc:
  Auto merged
2006-11-06 14:57:47 +04:00
unknown
10dd1a371d Merge abotchkov@production.mysql.com:mysql-5.0-opt
into  mysql.com:/home/hf/work/21790/my50-21790


mysql-test/t/gis-rtree.test:
  Auto merged
mysql-test/r/gis-rtree.result:
  merging
2006-11-06 11:16:13 +04:00
unknown
4eeef03c4c Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/19491/my50-19491


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
2006-11-06 11:10:08 +04:00
unknown
c095f98ff7 Bug #22457: Column alias in ORDER BY works, but not if in an expression
The parser is allocating Item_field for references by name in ORDER BY
 expressions. Such expressions however may point not only to Item_field 
 in the select list (or to a table column) but also to an arbitrary Item. 
 This causes Item_field::fix_fields to throw an error about missing 
 column.
 The fix substitutes Item_field for the reference with an Item_ref when 
 not pointing to Item_field.


mysql-test/r/order_by.result:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - test case
mysql-test/t/order_by.test:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - test case
sql/item.cc:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - transform the Item_field made by the parser into Item_ref if it 
     doesn't point to Item_field and it is in allowed context
2006-11-03 18:48:16 +02:00
unknown
0e69c252a1 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-11-01 14:50:14 -08:00
unknown
bec1973eee Merge mysql.com:/home/hf/work/19491/my50-19491
into  mysql.com:/home/hf/work/mysql-5.0.19491


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2006-11-01 15:41:51 +04:00
unknown
d922d5b6be test result fixed 2006-11-01 14:22:11 +04:00
unknown
2a7cf59fc9 Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.


mysql-test/r/subselect.result:
  Added a test case for bug #21727.
mysql-test/t/subselect.test:
  Added a test case for bug #21727.
sql/item_subselect.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added an implementation for Item_subselect::is_uncacheable()
  returning TRUE if the engine if the subselect is uncacheable.
sql/mysql_priv.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/records.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_base.cc:
  Fixed bug #21727.
  Made sure that st_table::pos_in_table_list would be always initialized.
sql/sql_select.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_show.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Cleanup.
sql/table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added st_table_list::in_subselect() returning for a table the subselect that 
  contains the FROM list this table is taken from (if there is any).
sql/table.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
2006-10-31 17:31:56 -08:00
unknown
361f0468db Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug8804-r4


sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
2006-11-01 00:54:49 +03:00
unknown
eb5abc14b3 BUG#8804: Incorrect results for NULL IN (SELECT ...): review fixes:
- Better comments
- Remove redundant and dead code.
2006-11-01 00:27:51 +03:00
unknown
84526c67ea BUG#8804: Better comment + TODO section with suggestion how to speedup
the fix.
2006-10-31 21:30:40 +03:00
unknown
48df3b96a1 BUG#8804: wrong results for NULL IN (SELECT ...)
Evaluate "NULL IN (SELECT ...)" in a special way: Disable pushed-down 
conditions and their "consequences": 
 = Do full table scans instead of unique_[index_subquery] lookups.
 = Change appropriate "ref_or_null" accesses to full table scans in
   subquery's joins.
Also cache value of NULL IN (SELECT ...) if the SELECT is not correlated 
wrt any upper select.


mysql-test/r/subselect.result:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
   - Updated test results
sql/item.h:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
   - Added comments
sql/item_cmpfunc.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
  Made Item_in_optimizer to:
  - cache the value of "NULL IN (uncorrelated select)"
  - Turn off pushed-down predicates when evaluating "NULL IN (SELECT ...)"
sql/item_cmpfunc.h:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
  - Made Item_in_optimizer cache the value of "NULL IN (uncorrelated select)"
  - Added comments
sql/item_subselect.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - When needed, wrap the predicates we push into subquery into an 
    Item_func_trig_cond so we're able to turn them off when evaluating 
    NULL IN (SELECT ...).
  - Added code to evaluate NULL IN (SELECT ...) in a special way:
    = In [unique_]index_subquery, do full table scan to see if there 
      are any rows.
    = For other subqueries, change ref[_or_null] to ALL if the
      ref[_or_null] was created from pushed-down predicate.
sql/item_subselect.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added Item_subselect::is_correlated
  - Added comments
sql/records.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Make rr_sequential() non-static
sql/sql_lex.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added st_select_lex::is_correlated and Item_subselect::is_correlated.
sql/sql_lex.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added st_select_lex::is_correlated
sql/sql_select.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added KEY_FIELD::outer_ref to keep track of which ref accesses are 
    created from predicates that were pushed down into the subquery.
sql/sql_select.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added KEYUSE::outer_ref
mysql-test/r/subselect3.result:
  New BitKeeper file ``mysql-test/r/subselect3.result''
mysql-test/t/subselect3.test:
  New BitKeeper file ``mysql-test/t/subselect3.test''
2006-10-31 20:51:09 +03:00
unknown
dcaa684cab Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
2006-10-31 18:47:53 +01:00
unknown
37a823b774 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B21809-5.0-opt


sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
2006-10-31 16:15:35 +02:00
unknown
c805d5845b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23184-5.0-opt
2006-10-31 11:07:27 +02:00
unknown
634d3991ab Bug #23184: SELECT causes server crash
Item::val_xxx() may be called by the server several times at execute time 
 for a single query. Calls to val_xxx() may be very expensive and sometimes
 (count(distinct), sum(distinct), avg(distinct)) not possible.
 To avoid that problem the results of calculation for these aggregate 
 functions are cached so that val_xxx() methods just return the calculated 
 value for the second and subsequent calls.


mysql-test/r/func_group.result:
  Bug #23184: SELECT causes server crash
   - test case
mysql-test/t/func_group.test:
  Bug #23184: SELECT causes server crash
   - test case
sql/item_sum.cc:
  Bug #23184: SELECT causes server crash
   - caching of the aggregate function results so no need to recalculate at val_xxx()
sql/item_sum.h:
  Bug #23184: SELECT causes server crash
   - caching of the aggregate function results so no need to recalculate at val_xxx()
2006-10-31 11:01:27 +02:00
unknown
f00e6bd75d Bug #8663 (cant use bigint as input to CAST)
decimal->ulong conversion fixed to assign max possible ULONG if decimal
is bigger
Item_func_unsigned now handles DECIMAL parameter separately as we can't
rely on decimal::val_int result here.


mysql-test/r/type_newdecimal.result:
  result fixed
mysql-test/t/type_newdecimal.test:
  testcase
sql/item_func.cc:
  DECIMAL_RESULT should be handled separately here as it's
  always signed.
strings/decimal.c:
  here we assign max possible ULONG if the decimal value is bigger
2006-10-30 09:52:50 +04:00
unknown
01a0be193d bug #19491 (CAST do DATETIME wrong result)
mysql-test/r/type_datetime.result:
  result fixed
mysql-test/r/type_newdecimal.result:
  result fixed
mysql-test/t/type_datetime.test:
  testcase
mysql-test/t/type_newdecimal.test:
  testcase
sql/field.cc:
  Field_new_decimal::store_time implemented
sql/field.h:
  Field_new_decimal::store_time added
sql/item.cc:
  auxiliary methods implemented to operate with datatimes
sql/item.h:
  auxiliary methods declared in Item to operate with datatimes
sql/item_timefunc.cc:
  Item_date::save_in_field old implementation removed
sql/item_timefunc.h:
  my_decimal and save_in_field methods implemented for datetime items
sql/my_decimal.cc:
  date2my_decimal implemented
sql/my_decimal.h:
  date2my_decimal declared
2006-10-25 20:14:39 +05:00
unknown
5701d8eea5 Merge mysql.com:/usersnfs/abotchkov/mysql-4.1-opt
into  mysql.com:/usersnfs/abotchkov/mysql-4.1-opt1
2006-10-24 16:07:22 +02:00
unknown
1533e8847b Merge mysql.com:/usersnfs/abotchkov/mysql-5.0-opt
into  mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
2006-10-24 15:49:05 +02:00
unknown
d72b4682d7 Merge abotchkov@production.mysql.com:mysql-5.0-opt1
into  mysql.com:/home/hf/work/current_stmt/my50-current_stmt
2006-10-24 18:49:04 +05:00
unknown
c9da2a44db Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/0current_stmt/my41-current_stmt
2006-10-24 17:55:30 +05:00
unknown
81dac08b52 Merge mysql.com:/home/hf/work/0current_stmt/my41-current_stmt
into  mysql.com:/home/hf/work/current_stmt/my50-current_stmt


include/mysql.h:
  merging
libmysqld/lib_sql.cc:
  merging
sql/sql_class.h:
  merging
2006-10-24 17:50:46 +05:00
unknown
f51d0812a7 Bug #21809: Error 1356 while selecting from view with grouping though underlying
select OK.
The SQL parser was using Item::name to transfer user defined function attributes
to the user defined function (udf). It was not distinguishing between user defined 
function call arguments and stored procedure call arguments. Setting Item::name 
was causing Item_ref::print() method to print the argument as quoted identifiers 
and caused views that reference aggregate functions as udf call arguments (and 
rely on Item::print() for the text of the view to store) to throw an undefined 
identifier error.
Overloaded Item_ref::print to print aggregate functions as such when printing
the references to aggregate functions taken out of context by split_sum_func2()
Fixed the parser to properly detect using AS clause in stored procedure arguments
as an error.
Fixed printing the arguments of udf call to print properly the udf attribute.


mysql-test/r/udf.result:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - test cases
mysql-test/t/udf.test:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - test cases
sql/item.cc:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - Don't print the refs to SUM functions as refs.
sql/item_func.cc:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - print the aliases in the udf calls
sql/item_func.h:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - print the aliases in the udf calls
sql/sql_lex.cc:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - disable aliases for arguments in stored routine calls
sql/sql_lex.h:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - disable aliases for arguments in stored routine calls
sql/sql_yacc.yy:
  Bug #21809: Error 1356 while selecting from view with grouping though underlying
              select OK.
   - disable aliases for arguments in stored routine calls
   - fix bison duplicate symbol warnings
2006-10-24 15:26:41 +03:00
unknown
6c4aa883ce Bug #23427 (incompatible ABI change)
the incompatibility was caused by current_stmt member added to the MYSQL
structure.
It's possible to move it to THD structure instead which saves ABI


include/mysql.h:
  member moved to the THD structure
libmysqld/lib_sql.cc:
  now we use THD member here
sql/sql_class.h:
  current_stmt member added for the embedded server
2006-10-24 17:19:02 +05:00
unknown
7a44896f3a Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/w3475/my50-w3475
2006-10-24 16:51:53 +05:00
unknown
df77391f64 Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/w3475/my41-w3475
2006-10-24 16:50:27 +05:00