Commit graph

126 commits

Author SHA1 Message Date
unknown
e0708e2c11 Manual merge
myisam/mi_search.c:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
2006-03-30 17:14:55 +04:00
unknown
b25315469e Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.

The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created 
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly 
created field.


mysql-test/t/func_gconcat.test:
  Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
mysql-test/r/func_gconcat.result:
  Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
sql/sql_table.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added 0 as a last parameter to create_tmp_field()  to force old behaviour.
sql/sql_select.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  
  Added the flag 'make_copy_field' to create_tmp_field(), so that for Item_result_field descendants create_tmp_field() sets the item's result field as a source field and deny resetting that result field to a new value.
sql/sql_class.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the flag 'force_copy_fields' to the structure TMP_TABLE_PARAM in order to make create_tmp_field() force the creation of 'copy_field' objects.
sql/mysql_priv.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the bool parameter 'make_copy_field' to create_tmp_field().
sql/item_sum.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added initialization of the force_copy_fields flag and passing it to create_tmp_table() through TMP_TBLE_PARAM in the Item_func_group_concat and Item_sum_count_distinct member functions.
sql/item_sum.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the flag 'force_copy_fields' to the Item_func_group_concat and Item_sum_count_distinct classes.
2006-03-29 23:30:34 +04:00
unknown
ddbf62ca89 Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was
used

In a simple queries a result of the GROUP_CONCAT() function was always of 
varchar type.
But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
table is used during select then the result is converted to blob, due to
policy to not to store fields longer than 512 chars in tmp table as varchar
fields.

In order to provide consistent behaviour, result of GROUP_CONCAT() now
will always be converted to blob if it is longer than 512 chars.
Item_func_group_concat::field_type() is modified accordingly.


sql/item_sum.h:
  Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was 
  used
  The Item_func_group_concat::field_type() now returns FIELD_TYPE_BLOB if the result is longer than 512 chars.
tests/mysql_client_test.c:
  Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
2006-02-28 19:30:30 +03:00
unknown
04d5378c50 item_sum.h, item.cc:
Post review corrections in comments.


sql/item.cc:
  Post review corrections in comments.
sql/item_sum.h:
  Post review corrections in comments.
2005-12-11 22:21:19 -08:00
unknown
e324da302f Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-12-02 20:42:36 -08:00
unknown
490a1e2855 Addition to fix for bug #12956: cast make differ rounding.
- use rint() in some other val_int() methods as well.
2005-11-30 11:17:25 +04:00
unknown
6a0695fe93 Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.


mysql-test/r/func_gconcat.result:
  Changed a query when fixing bug #12762.
mysql-test/r/subselect.result:
  Added test cases for bug #12762.
  Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
mysql-test/t/func_gconcat.test:
  Changed a query when fixing bug #12762.
mysql-test/t/subselect.test:
  Added test cases for bug #12762.
  Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
sql/item.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
  Changed Item_field::fix_fields to calculate attributes used when checking context conditions
  for set functions.
  Allowed alliases for set functions defined in outer subqueries.
sql/item.h:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
sql/item_cmpfunc.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
sql/item_func.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
sql/item_row.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
sql/item_strfunc.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
  aggregated in outer subquries.
sql/item_subselect.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries and a bitmap of nesting levels showing
  in what subqueries a set function can be aggregated.
sql/item_sum.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added Item_sum methods to check context conditions imposed on set functions.
sql/item_sum.h:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Added Item_sum methods to check context conditions imposed on set functions.
sql/mysql_priv.h:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a type of bitmaps to be used for nesting constructs.
sql/sql_base.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries and a bitmap of nesting levels showing
  in what subqueries a set function can be aggregated.
sql/sql_class.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_class.h:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_delete.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_lex.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries and a bitmap of nesting levels showing
  in what subqueries a set function can be aggregated.
sql/sql_lex.h:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries and a bitmap of nesting levels showing
  in what subqueries a set function can be aggregated.
sql/sql_parse.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries.
sql/sql_prepare.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a bitmap of nesting levels showingin what subqueries a set function can be aggregated.
sql/sql_select.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries and a bitmap of nesting levels showing
  in what subqueries a set function can be aggregated.
sql/sql_update.cc:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_yacc.yy:
  Fixed bug #12762:
  allowed set functions aggregated in outer subqueries, allowed nested set functions.
  Introduced next levels for subqueries.
2005-10-15 14:32:37 -07:00
unknown
c2c2adfdfd item_sum.cc, item_sum.h:
Post-merge fix.


sql/item_sum.h:
  Post-merge fix.
sql/item_sum.cc:
  Post-merge fix.
2005-09-07 21:38:27 -07:00
unknown
f56d8901ec Manual merge 2005-09-07 18:07:51 -07:00
unknown
d877cdf3e7 func_gconcat.result, func_gconcat.test:
Added test cases for bug #12863.
item_sum.cc, item_sum.h:
  Fixed bug #12863.
  Added a flag to Item_func_group_concat set to FALSE after
  concatenation of the first element of a group.


sql/item_sum.h:
  Fixed bug #12863.
  Added a flag to Item_func_group_concat set to FALSE after
  concatenation of the first element of a group.
sql/item_sum.cc:
  Fixed bug #12863.
  Added a flag to Item_func_group_concat set to FALSE after
  concatenation of the first element of a group.
mysql-test/t/func_gconcat.test:
  Added test cases for bug #12863.
mysql-test/r/func_gconcat.result:
  Added test cases for bug #12863.
2005-09-06 22:20:11 -07:00
unknown
a91c804054 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_udf.h:
  Auto merged
2005-05-09 12:16:59 +02:00
unknown
9ab5f6143e BUG#10241 cygwin port: invalid pragma interface directives
- Introduce ifdefs so we can control when to use #pragma interface on cygwin


include/my_global.h:
  Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin
include/raid.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/examples/ha_archive.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/examples/ha_example.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/field.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_berkeley.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_blackhole.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_heap.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_innodb.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_isam.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_isammrg.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_myisam.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_myisammrg.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_ndbcluster.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/handler.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_cmpfunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_func.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_geofunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_strfunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_subselect.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_sum.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_timefunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/opt_range.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/procedure.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/protocol.h:
  replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION
sql/set_var.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_class.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_list.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_select.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_string.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_udf.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/tztime.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
2005-05-04 15:05:56 +02:00
unknown
e6ce543f05 Fix for Bug #9913 "udf_deinit is not called after execution of PS"
(aka "deinit is not called when calling udf from trigger").

We should call udf_deinit() function during cleanup phase after prepared
(or ordinary) statement execution instead of calling it from Item's
desctructor.

No test case is provided since it is hard to test UDF's from our test
suite.


sql/item_func.cc:
  udf_handler:
   Moved all functionality from udf_handler::~udf_handler() to 
   udf_handler::cleanup() method which will be called after
   each PS execution, thus allowing udf_deinit() to be executed
   symetrically with udf_init() (which is executed for each
   execution of PS).
  Added Item_udf_func::cleanup() which performs proper cleanup after
  execution of PS with UDF function.
sql/item_func.h:
  Added Item_udf_func::cleanup() method to perform cleanup properly after
  execution of PS with UDF function.
sql/item_sum.cc:
  Added Item_udf_sum::cleanup() method to perform cleanup properly after
  execution of PS with aggregate UDF function.
sql/item_sum.h:
  Added Item_udf_sum::cleanup() method to perform cleanup properly after
  execution of PS with aggregate UDF function.
sql/sql_udf.h:
  Added udf_handler::cleanup() method declaration which is responsible
  for cleaning up UDF execution context at the end of execution of
  statement (using ~udf_handler() for this purprose did not worked for PS).
2005-04-30 20:23:40 +04:00
unknown
cb8d9c3ad4 Backport my_strntod() from 5.0
Change string->float conversion to delay division as long as possible.
This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)




client/mysql.cc:
  Fix wront usage of charset (found during review of pushed code)
include/m_string.h:
  Backported my_strtod() from 5.0
mysql-test/mysql-test-run.sh:
  Run also mysql_client_test with --debug
mysql-test/r/ps_1general.result:
  Safety fix (if mysql_client_test.test fails)
mysql-test/r/type_float.result:
  More test
mysql-test/t/mysql_client_test.test:
  Comments for what to do if this test fails
mysql-test/t/ps_1general.test:
  Safety fix (if mysql_client_test.test fails)
mysql-test/t/type_float.test:
  More test to better test new strtod() function
  Test also bug #7740 (wrong comparsion between integer and float-in-integer-range)
sql/field.cc:
  Backport my_strntod() from 5.0
sql/item.cc:
  Backport my_strntod() from 5.0
sql/item.h:
  Backport my_strntod() from 5.0
sql/item_func.h:
  Backport my_strntod() from 5.0
sql/item_strfunc.cc:
  Backport my_strntod() from 5.0
sql/item_sum.cc:
  Backport my_strntod() from 5.0
sql/item_sum.h:
  Backport my_strntod() from 5.0
sql/procedure.h:
  Backport my_strntod() from 5.0
strings/ctype-simple.c:
  Backport my_strntod() from 5.0
strings/ctype-ucs2.c:
  Backport my_strntod() from 5.0
strings/strtod.c:
  Backport my_strntod() from 5.0
  Change conversion to delay division as long as possible.
  This gives us more exact integer-> float conversion for numbers of type '123.45E+02'
2005-02-22 12:51:23 +02:00
unknown
16f3170e73 func_gconcat.result, func_gconcat.test:
Added a test case for bug #7769.
item_sum.h:
  Fixed bug #7769: a crash for queries with group_concat and
  having when the query table was empty.
  The bug was due an unsafe dereferencing.


sql/item_sum.h:
  Fixed bug #7769: a crash for queries with group_concat and
  having when the query table was empty.
  The bug was due an unsafe dereferencing.
mysql-test/t/func_gconcat.test:
  Added a test case for bug #7769.
mysql-test/r/func_gconcat.result:
  Added a test case for bug #7769.
2005-01-15 01:05:00 -08:00
unknown
86f19614e1 postreview fix
sql/item_cmpfunc.cc:
  comment fixed
sql/item_subselect.cc:
  comment fixed
  debug info and inherited method call
sql/item_subselect.h:
  comment fixed
sql/item_sum.cc:
  comment fixed
sql/item_sum.h:
  comment fixed
2004-12-07 21:18:15 +02:00
unknown
b9d9c31430 merge
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-12-07 09:07:37 +02:00
unknown
026259249e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b6441


sql/item_func.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
2004-11-25 16:18:46 +04:00
unknown
aa6785d7a8 Bug #6658 MAX(column) returns incorrect coercibility
Also, Item_sum_hybrid->charset was removed as redundant,
and switched to use collation.collation instead.


mysql-test/r/func_group.result:
  Bug #6658 MAX(column) returns incorrect coercibility
mysql-test/r/func_str.result:
  Bug #6658 MAX(column) returns incorrect coercibility
mysql-test/t/func_group.test:
  Bug #6658 MAX(column) returns incorrect coercibility
sql/item_func.cc:
  Bug #6658 MAX(column) returns incorrect coercibility
sql/item_sum.cc:
  Bug #6658 MAX(column) returns incorrect coercibility
sql/item_sum.h:
  Bug #6658 MAX(column) returns incorrect coercibility
2004-11-19 19:35:36 +04:00
unknown
9438c2ca76 reporting empty result added in case of max/min optimisation of ALL/ANY/SOME subqueries
fixed null processing in NOT operation used in ALL subquery (Bug #6247)


mysql-test/r/subselect.result:
  new tests of ALL/ANY wiews
mysql-test/t/subselect.test:
  new tests of ALL/ANY wiews
sql/item_cmpfunc.cc:
  fixed special NOT ALL processing
  fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_cmpfunc.h:
  fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_subselect.cc:
  reporting empty result added for max/min subqueries
sql/item_subselect.h:
  reporting empty result added for max/min subqueries
sql/item_sum.cc:
  reporting empty result added fox max/min aggregate functions
sql/item_sum.h:
  reporting empty result added fox max/min aggregate functions
sql/sql_class.cc:
  reporting empty result added for max/min subqueries
sql/sql_parse.cc:
  reporting empty result added for max/min subqueries
sql/sql_union.cc:
  reporting empty result added for max/min subqueries
2004-11-18 18:10:07 +02:00
unknown
3f07afbea0 A fix (bug #6441: Aggregate UDF in multi-table query crashes MySQL when returning multiple rows).
sql/item_func.cc:
  A fix (bug #6441: Aggregate UDF in multi-table query crashes MySQL when returning multiple rows).
  Do nothing in the udf_handler destructor if not_original flag is set.
sql/item_sum.h:
  A fix (bug #6441: Aggregate UDF in multi-table query crashes MySQL when returning multiple rows).
  Set udf.not_original flag if we create an Item from the existent one.
sql/sql_udf.h:
  A fix (bug #6441: Aggregate UDF in multi-table query crashes MySQL when returning multiple rows).
  not_original flag added.
2004-11-06 09:37:30 +04:00
unknown
853c2c788c A lot of fixes for prepared statements (PS):
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb


BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
  Delete: mysql-test/t/innodb-lock-master.opt
client/Makefile.am:
  mysqltest now uses regex
client/mysqltest.c:
  Added support for testing of prepared statements (with --ps-protocol)
  Main code was done by Kent, I did mainly some cleanups and minor bug fixes
  New test commands:
  --disable_ps_protocol
  --enable_ps_protocol
  NOTE: new code still has some things that needs to be cleaned up.
  For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
configure.in:
  mysqltest now uses regex
libmysql/libmysql.c:
  Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
  integer -> string conversion now handles ZEROFILL
  double -> string conversion is now closer to the one in the server
  Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
libmysqld/examples/Makefile.am:
  mysqltest now uses regex
mysql-test/include/have_query_cache.inc:
  Fixes for --ps-protocol
mysql-test/include/ps_conv.inc:
  Fixes for --ps-protocol
mysql-test/mysql-test-run.sh:
  Added options --ps-protocol
mysql-test/r/ctype_utf8.result:
  Fixed test case
mysql-test/r/fulltext_cache.result:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_left_join.result:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_multi.result:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/innodb-lock.result:
  Fixed test to work even if Innodb is not compiled in.
mysql-test/t/create.test:
  Fixes for --ps-protocol
mysql-test/t/ctype_utf8.test:
  Remove warnings
mysql-test/t/date_formats.test:
  Fixes for --ps-protocol
mysql-test/t/fulltext_cache.test:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_left_join.test:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_multi.test:
  Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/func_group.test:
  Fixes for --ps-protocol
mysql-test/t/func_sapdb.test:
  Fixes for --ps-protocol
mysql-test/t/innodb-lock.test:
  Fixed test to work even if Innodb is not compiled in.
mysql-test/t/insert.test:
  Fixes for --ps-protocol
mysql-test/t/insert_select.test:
  Fixes for --ps-protocol
mysql-test/t/insert_update.test:
  Fixes for --ps-protocol
mysql-test/t/metadata.test:
  Fixes for --ps-protocol
mysql-test/t/multi_statement.test:
  Fixes for --ps-protocol
mysql-test/t/ps_1general.test:
  Fixes for --ps-protocol
mysql-test/t/rollback.test:
  Fixes for --ps-protocol
mysql-test/t/rpl_redirect.test:
  Fixes for --ps-protocol
mysql-test/t/rpl_user_variables.test:
  Fixes for --ps-protocol
mysql-test/t/select.test:
  Fixes for --ps-protocol
mysql-test/t/status.test:
  Fixes for --ps-protocol
mysql-test/t/type_blob.test:
  Fixes for --ps-protocol
mysql-test/t/type_float.test:
  Fixes for --ps-protocol
mysql-test/t/union.test:
  Fixes for --ps-protocol
mysql-test/t/warnings.test:
  Fixes for --ps-protocol
mysys/my_alloc.c:
  More debugging information
sql-common/client.c:
  More debugging information
sql-common/my_time.c:
  TIME didn't support full range with PS
sql/field.cc:
  TIME didn't support full range with PS
sql/item_cmpfunc.cc:
  IN(constants,...) didn't work with PS
sql/item_subselect.cc:
  Some subqueries didn't work with PS
sql/item_sum.cc:
  group_concat(...ORDER BY) didn't work with PS
  Removed variable warning_available as 'warning' can be used for this.
sql/item_sum.h:
  Removed not needed variable
sql/protocol.cc:
  TIME didn't support full range with PS
sql/set_var.cc:
  Style fix
sql/sql_base.cc:
  setup_wild() didn't properly restore old arena, which caused core dump in PS when using
  SELECT * FROM t1 NATURAL JOIN t2...
sql/sql_class.cc:
  Style fix
sql/sql_error.cc:
  Style fix
sql/sql_insert.cc:
  Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
sql/sql_lex.h:
  Fix for PS and procedures
sql/sql_parse.cc:
  More debugging information
  Make a copy of 'db' in PS as this may change
  Fixed wrong permissions check in PS and multi-table updates
sql/sql_prepare.cc:
  Fix for PS and SELECT ... PROCEDURE
  Reset all warnings when executing a new query
sql/sql_union.cc:
  Fixes for PS and SELECT ... PROCEDURE
  Reset 'with_wild' as 'wild' is resolved on prepare
2004-10-26 19:30:01 +03:00
unknown
c6b382d63b args_copy and cleunup() removed from Item_sum
registration changing ITEM_SUM arguments added


sql/item.cc:
  cleunup for Item_result_field
sql/item.h:
  cleunup for Item_result_field
sql/item_sum.cc:
  args_copy and cleunup() removed from Item_sum
sql/item_sum.h:
  args_copy and cleunup() removed from Item_sum
sql/sql_select.cc:
  registration changing ITEM_SUM arguments
2004-10-09 01:01:19 +03:00
unknown
095b686c09 Fix for bug#4912 "mysqld crashs in case a statement is executed
a second time". The bug was caused by incompatibility of
negations elimination algorithm and PS: during first statement 
execute a subtree with negation was replaced with equivalent 
subtree without NOTs.
The problem was that although this transformation was permanent, 
items of the new subtree were created in execute-local memory.
The patch adds means to check if it is the first execute of a
prepared statement, and if this is the case, to allocate items
in memory of the prepared statement.
The implementation:
- backports Item_arena from 5.0
- adds Item_arena::is_stmt_prepare(), 
  Item_arena::is_first_stmt_execute().
- deletes THD::allocate_temporary_pool_for_ps_preparing(),
  THD::free_temporary_pool_for_ps_preparing(); they
  were redundant.
and adds a few invariants:
- thd->free_list never contains junk (= freed items)
- thd->current_arena is never null. If there is no
  prepared statement, it points at the thd. 
The rest of the patch contains mainly mechanical changes and
cleanups.


mysql-test/r/ps.result:
  Test results updated (test case for Bug#4912)
mysql-test/t/ps.test:
  A test case for Bug#4912 "mysqld crashs in case a statement is 
  executed a second time"
sql/item_cmpfunc.cc:
  current_statement -> current_arena
sql/item_subselect.cc:
  Statement -> Item_arena, current_statement -> current_arena
sql/item_subselect.h:
  Item_subselect does not need to save thd->current_statement.
sql/item_sum.cc:
  Statement -> Item_arena
sql/item_sum.h:
  Statement -> Item_arena
sql/mysql_priv.h:
  Statement -> Item_arena
sql/sql_base.cc:
  current_statement -> current_arena
sql/sql_class.cc:
  - Item_arena
  - convenient set_n_backup_statement, restore_backup_statement
  (nice idea, Sanja)
sql/sql_class.h:
  - Item_arena: backport from 5.0
  - allocate_temporary_pool_for_ps_preparing,
    free_temporary_pool_for_ps_preparing removed.
sql/sql_derived.cc:
  current_statement -> current_arena
sql/sql_lex.cc:
  current_statement -> current_arena
sql/sql_parse.cc:
  Deploy invariant that thd->free_list never contains junk items
  (backport from 5.0).
sql/sql_prepare.cc:
  - backporting Item_arena
  - no need to allocate_temporary_pool_for_ps_preparing().
sql/sql_select.cc:
  Fix for bug#4912 "mysqld crashs in case a statement is 
  executed a second time": if this is the first execute of
  a prepared statement, negation elimination is
  done in memory of the prepared statement.
sql/sql_union.cc:
  Backporting Item_arena from 5.0.
2004-08-21 02:02:46 +04:00
unknown
945625ebaa manually merged
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/mysql-copyright:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
include/my_global.h:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0log.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0dbg.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/ut/ut0dbg.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql/Makefile.shared:
  Auto merged
libmysql/conf_to_src.c:
  Auto merged
libmysql/dll.c:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/manager.c:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
myisam/mi_key.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/having.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/t/having.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/type_uint.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2004-08-18 19:57:55 +02:00
unknown
9ca47d047e BUG#4393, BUG#4356 - incorrect decimals in fix_length_and_dec() in some functions
mysql-test/mysql-test-run.sh:
  report failed test name
mysql-test/r/func_math.result:
  test results fixed
2004-07-31 22:39:10 +02:00
unknown
0f83847940 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b4035


sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
2004-06-15 16:03:16 +05:00
unknown
8e6b48f808 cleunup() of count() and max()/min() added (BUG#2687)
mysql-test/r/func_group.result:
  test of optimized aggregate function re-execution
mysql-test/t/func_group.test:
  test of optimized aggregate function re-execution
sql/item_sum.cc:
  cleunup() added
sql/item_sum.h:
  cleunup() added
2004-06-10 10:59:55 +03:00
unknown
66c4087289 a fix
(Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
Bug #4057 LEFT() function in HAVING clause truncates query result).


mysql-test/r/func_gconcat.result:
  a test case
  Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
  Bug #4057 LEFT() function in HAVING clause truncates query result
mysql-test/t/func_gconcat.test:
  a test case
  Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
  Bug #4057 LEFT() function in HAVING clause truncates query result
sql/item_strfunc.cc:
  a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
sql/item_strfunc.h:
  a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
sql/item_sum.cc:
  a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
sql/item_sum.h:
  a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
2004-06-08 18:01:15 +05:00
unknown
e54ca13b66 keep old engine & JOIN if we changed subquery Item (Bug #3646)
mysql-test/r/subselect.result:
  ALL/ANY test
mysql-test/t/subselect.test:
  ALL/ANY test
sql/item_subselect.cc:
  keep old engine & JOIN if we changed subquery Item, which allow avoid second all SELECT items fix_fields call with pervios clean up (because of second setup_tables which remove table->key_use and maybe something else)
  keep list when we change Item in SELECT list
  processing inserted max/min function (now JOIN::prepare will be called only once)
  methods of changing item for subselect engines
sql/item_subselect.h:
  change item & results procedure
sql/item_sum.cc:
  Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/item_sum.h:
  Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/sql_lex.cc:
  note about new method
sql/sql_lex.h:
  method for changing result of UNION JOINs
sql/sql_select.cc:
  method for changing result in JOIN
sql/sql_select.h:
  method for changing result in JOIN
sql/sql_union.cc:
  method for changing result in JOIN
2004-05-07 23:06:11 +03:00
unknown
f3544f3c5d Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)


configure.in:
  Fixed problem on IRIX64 (One can't have AC_MSG_RESULT on same row as AC_DEFINE
extra/my_print_defaults.c:
  Fixed wrong definition for 'verbose'
include/my_global.h:
  Portability fix (IRIX64)
libmysql/client_settings.h:
  Remove compiler warnings
libmysql/libmysql.c:
  Remove compiler warnings
mysql-test/r/func_str.result:
  Updated results
mysql-test/r/key_cache.result:
  Updated results to not depend on key_blocks_unused
mysql-test/t/func_str.test:
  More test of long overflow
mysql-test/t/key_cache.test:
  Updated results to not depend on key_blocks_unused
sql/item.cc:
  Portability fix (don't use strtoll())
sql/item.h:
  Portability fix (don't use strtoll())
sql/item_sum.h:
  Portability fix (don't use strtoll())
sql/item_timefunc.cc:
  Fixed compiler warning
strings/ctype-simple.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
strings/ctype-ucs2.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
2004-05-07 01:43:17 +03:00
unknown
393ed84c9a a fix (Bug #3435: STDDEV|VARIANCE(constant) returns constant if no rows) 2004-05-05 16:06:01 +05:00
unknown
1065f2bbd6 Merge with 4.0
innobase/dict/dict0boot.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/dict/dict0mem.c:
  Auto merged
innobase/fut/fut0lst.c:
  Auto merged
innobase/include/buf0lru.h:
  Auto merged
innobase/include/dict0mem.h:
  Auto merged
innobase/include/fsp0fsp.h:
  Auto merged
innobase/include/ha0ha.h:
  Auto merged
innobase/include/ibuf0ibuf.h:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/include/log0log.h:
  Auto merged
innobase/include/mem0pool.h:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/include/rem0rec.h:
  Auto merged
innobase/include/rem0rec.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/include/trx0sys.h:
  Auto merged
innobase/include/ut0byte.h:
  Auto merged
innobase/include/ut0ut.h:
  Auto merged
innobase/mem/mem0pool.c:
  Auto merged
innobase/mtr/mtr0mtr.c:
  Auto merged
innobase/os/os0proc.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/pars/pars0opt.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0purge.c:
  Auto merged
innobase/row/row0uins.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0undo.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0roll.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
innobase/ut/ut0byte.c:
  Auto merged
pstack/bucomm.h:
  Auto merged
pstack/budbg.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
tests/insert_test.c:
  Auto merged
mysql-test/t/func_group.test:
  Merge with 4.0
  Put 4.1 tests lasts
sql/ha_innodb.cc:
  Merge with 4.0
  Added checking of results from my_malloc()
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-26 15:53:31 +03:00
unknown
5dcbf248a0 A fix. (Bug #3376: AVG(constant) returns constant if no rows in result set) 2004-04-09 19:07:39 +05:00
unknown
0948f9769b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1


mysql-test/r/union.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-04-07 15:23:05 +03:00
unknown
e9447881eb Portability fixes
Fixed problems with group_concat() and HAVING
Updated crash-me values


sql-bench/limits/mysql-4.0.cfg:
  Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
include/my_global.h:
  Safety fix
libmysqld/Makefile.am:
  Portability fix (For AIX 64 bit)
mysql-test/r/func_gconcat.result:
  More tests
mysql-test/t/func_gconcat.test:
  More tests
sql/field.cc:
  Cleanups
sql/init.cc:
  moved thread_stack_min to right place
sql/item_sum.cc:
  Fixed problems with group_concat() and HAVING
  Removed some not needed variables
sql/item_sum.h:
  Fixed problems with group_concat() and HAVING
  Removed some not needed variables
sql/mysqld.cc:
  Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
sql/sql_parse.cc:
  More debugging
sql/sql_select.cc:
  Cleanup
sql/sql_yacc.yy:
  Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
2004-04-07 04:33:58 +03:00
unknown
7873b89fc5 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly


include/mysql_com.h:
  Fixed compiler warning
libmysqld/emb_qcache.cc:
  Removed not used variable
libmysqld/lib_sql.cc:
  Removed not used variable
myisam/mi_locking.c:
  Added comment
myisam/mi_rnext.c:
  Fixed bug in concurrent insert
myisam/mi_rprev.c:
  Simple optimization
mysql-test/r/func_gconcat.result:
  New tests
mysql-test/t/func_gconcat.test:
  New tests
mysql-test/t/func_group.test:
  Cleanup
sql-common/client.c:
  Removed compiler warning
sql/derror.cc:
  Better comments
sql/field.cc:
  Removed not used function/variable
sql/field.h:
  Removed not needed variable
sql/ha_innodb.cc:
  Removed not used function
sql/item.cc:
  Fixed compiler warning
sql/item_cmpfunc.cc:
  Fixed compiler warning
sql/item_func.cc:
  Fixed compiler warning
sql/item_geofunc.cc:
  Fixed compiler warning
sql/item_sum.cc:
  Fixed bugs in group_concat and added more comments
  (Bugs #2695, #3381 and #3319)
  - field->abs_offset was not needed
  - Wrong assumption of field order in temporary table
  - Some not used variables removed
  - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
  - Optimized loops
sql/item_sum.h:
  Bug fixing and cleanup of group_concat()
sql/log.cc:
  Removed wrong comment
sql/log_event.cc:
  Removed compiler warning
sql/mysqld.cc:
  Set locked_in_memory properly
sql/protocol.cc:
  Removed compiler warning
sql/set_var.cc:
  Code cleanup
sql/slave.cc:
  Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
sql/sql_cache.cc:
  Removed compiler warnings
sql/sql_derived.cc:
  Removed not used variable
sql/sql_insert.cc:
  Removed compiler warnings
sql/sql_lex.cc:
  Removed not used lable
sql/sql_lex.h:
  Removed compiler warnings
sql/sql_parse.cc:
  Removed compiler warnings
sql/sql_prepare.cc:
  Removed compiler warnings
sql/sql_select.cc:
  Removed not used variables
  Added function comments
sql/sql_show.cc:
  Removed compiler warnings
sql/sql_yacc.yy:
  Fix for ORDER BY handling in GROUP_CONCAT()
2004-04-05 13:56:05 +03:00
unknown
8c8dffb60d fixed brocken of client_test
fixed aggregate functions in PS (BUG#3360)


mysql-test/r/union.result:
  4.1 more correct error
sql/item_cmpfunc.h:
  and_conds do not make fix fields
sql/item_sum.cc:
  storing/restoring argument of aggregate function for prepared statements
  restoring order list of group_concat for safety
sql/item_sum.h:
  storing/restoring argument of aggregate function for prepared statements
  layout fix
sql/mysql_priv.h:
  just declaration
sql/sql_base.cc:
  fix_fields() have to be called with temporary memory pool active
sql/sql_parse.cc:
  removed hack with item pointer storing
sql/sql_prepare.cc:
  debug output added
  removed hack with item pointer storing
sql/sql_select.cc:
  fix_fields now should be called separately
sql/sql_union.cc:
  removed wrong merged check from 4.0 (4.1 have its own protection)
sql/table.h:
  removed hack with item pointer storing
tests/client_test.c:
  new test fo PS
2004-04-03 11:13:51 +03:00
unknown
f379d7b172 after review changes
sql/item.cc:
  removed double_fix & already_fixed in Item_field
sql/item.h:
  added quick_fix_field() for cases when we are sure that no need full fix_field processing
  fixed neg() method for numeric constants to have the same logic as constant parser
  Item_null, Item_real, ... are constant which are fixed by creation
sql/item_cmpfunc.h:
  right fix_fields in and_conds call
sql/item_func.cc:
  changed Item_field constructor call
  fix_field emulation call
sql/item_strfunc.cc:
  correct layout
sql/item_subselect.cc:
  correct layout
  changed Item_field constructor call
sql/item_sum.cc:
  changed Item_field constructor call
sql/item_sum.h:
  changed Item_field constructor call
sql/sql_base.cc:
  fixed layout
  right fix_fields calls
sql/sql_help.cc:
  changed Item_field constructor call
sql/sql_load.cc:
  changed Item_field constructor call
sql/sql_parse.cc:
  constant changed
sql/sql_select.cc:
  fixed layout
  fix_field emulation insted of real fix_fields call
sql/sql_show.cc:
  changed Item_field constructor call
sql/sql_union.cc:
  changed Item_field constructor call
  double_fix removed
sql/sql_update.cc:
  renamed variable, fixed layout
sql/sql_yacc.yy:
  typo fixed
  fix_fields emulation calls
  hegation of numbers fixed
2004-03-20 13:36:26 +02:00
unknown
1a81e04145 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal


sql/field.cc:
  layout fixed
sql/item.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
  fixed= 1; added where it was forgoten in fix_fields
  Item_string can be used without fix_fields
sql/item.h:
  DBUG_ASSERT(fixed == 1); added to val*
  Item_string can be used without fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_cmpfunc.h:
  fixed layout and getting Item statistic
sql/item_func.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_func.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_geofunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_strfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
sql/item_strfunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_uniq.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/sql_base.cc:
  Item creation revised
sql/sql_help.cc:
  Item creation revised
sql/sql_load.cc:
  Item creation revised
sql/sql_parse.cc:
  fix_field call added
sql/sql_select.cc:
  Item creation revised
sql/sql_show.cc:
  Item creation revised
sql/sql_union.cc:
  Item creation revised
sql/sql_update.cc:
  Item creation revised
sql/sql_yacc.yy:
  Item creation revised
  small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
unknown
f83cf41440 DBUG_ASSERT(fixed == 0) added to fix_fields()
sql/item.cc:
  layout fixed
  fixed bug in prepared statements with subqueries and outer references
sql/item.h:
  neg_transformer get thd argument to call fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed Item_in_optimizer fixed flag
  neg_arguments(), neg_transformer() call fix_field() on created items to avoid bouble fix field or non-called fixfields()
sql/item_cmpfunc.h:
  neg_transformer get thd argument to call fix_fields
  fixed forgoten cleanup() call of parent class
sql/item_func.cc:
  DBUG_ASSERT(fixed == 0) and fixed flag check added to fix_fields()
sql/item_func.h:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed forgoten cleanup() call of parent class
sql/item_row.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  added forgoten 'fixed' flag set
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed subquery transformation
sql/sql_base.cc:
  check of fixed flag added
sql/sql_derived.cc:
  fixed cleunup union in derived table during EXPLAIN command processing
sql/sql_select.cc:
  thd argument add to function to allow call fix_fields() of new created items
  fixed EXPLAIN double preparation
  check of fixed flag added
  eliminate_not_funcs fixed for corrcet fix_fields call of new created items
sql/sql_select.h:
  thd argument add to function to allow call fix_fields() of new created items
sql/sql_union.cc:
  union processing fixed
tests/client_test.c:
  layout fixed
  new test of outer references fron subqueries
2004-03-17 14:26:26 +02:00
unknown
952f99d4c6 merge
mysql-test/r/derived.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-17 11:12:55 +02:00
unknown
fcde388c82 fixed initialization to satisfy valgrind 2004-02-15 19:46:23 +02:00
unknown
6826a55b1d merge
sql/item.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-02-14 13:31:39 +02:00
unknown
4c6344ed66 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


configure.in:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
2004-02-13 15:30:00 +01:00
unknown
1515c12191 my_atof is deleted
strtod from mit-threads is restored and cleaned up


BitKeeper/deleted/.del-atof.c~d3edf47a9884080:
  Delete: strings/atof.c
configure.in:
  atod() is no longer used in MySQL
  isinf() now is
include/m_string.h:
  my_strtod, my_atof
include/my_global.h:
  my_atof is deleted
  define isinf()
libmysql/Makefile.shared:
  use internal strtod
sql/gstream.cc:
  use internal strtod
sql/init.cc:
  my_atof is deleted
sql/item.h:
  use internal strtod
sql/item_func.cc:
  use internal strtod
sql/item_sum.h:
  use internal strtod
sql/sql_analyse.cc:
  use internal strtod
strings/Makefile.am:
  use internal strtod
strings/ctype-simple.c:
  use internal strtod
strings/ctype-ucs2.c:
  use internal strtod
strings/strtod.c:
  cleanup
  stricter input checks (e.g. ".E10" is no longer a number)
  don't return an "inf"
2004-02-13 15:27:21 +01:00
unknown
9450b41d57 merge
mysql-test/r/derived.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-09 15:49:11 +02:00
unknown
35b1f54450 Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments
Fixed warnings from valgrind
Fixed ref_length when used with HEAP tables
More efficent need_conversion()
Fixed error handling in UPDATE with not updateable tables
Fixed bug in null handling in CAST to signed/unsigned



client/client_priv.h:
  cleanup & added OPT_COMPACT
client/mysqldump.c:
  Added option --compact to get a compact readable dump.
  Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
  Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
mysql-test/r/cast.result:
  More cast tests
mysql-test/r/derived.result:
  Removed warnings
mysql-test/r/mysqldump.result:
  Update results after fixing mysqlbinlog
mysql-test/r/query_cache.result:
  Make test usable with --extern
  more tests
mysql-test/r/rpl_until.result:
  Make test repeatable under valgrind
mysql-test/r/sql_mode.result:
  Fix test result
mysql-test/r/subselect.result:
  Make test smaller. Update wrong results
mysql-test/t/cast.test:
  More cast tests
mysql-test/t/derived.test:
  Removed warnings
mysql-test/t/query_cache.test:
  Make test usable with --extern
  more tests
mysql-test/t/rpl_until.test:
  fix for valgrind.  Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
mysql-test/t/subselect.test:
  Make test case smaller
sql/field.cc:
  Updated need_conversion() to use new arguments
sql/ha_heap.cc:
  Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
sql/item_func.cc:
  Cleanup
sql/item_func.h:
  Fixed bug in null_handling for cast to signed/unsigned
sql/item_strfunc.cc:
  Optimized/cleaned up Item_func_conv_charset3
sql/item_sum.cc:
  Cleanup.
  Ensure that some flag variables are cleared in cleanup()
sql/item_sum.h:
  Fixed references to uninitialized memory
sql/opt_range.cc:
  Fixed spelling error
sql/sql_class.cc:
  Fixed wrong return code, which could case protocol problems
sql/sql_class.h:
  After merge fix
sql/sql_prepare.cc:
  Added comments
sql/sql_show.cc:
  Cleanup
sql/sql_string.cc:
  Optimzed usage of need_conversion().
  - Removed not used argument
  - Save diff lenght in 'offset' to not have to recalculate length several times.
  Cleaned up comment
  Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
sql/sql_string.h:
  Updated need_conversion() and copy_aligned() to use new arguments
sql/sql_update.cc:
  Fixed error handling with non-updateable tables
sql/sql_yacc.yy:
  Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
  Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
2004-02-09 12:31:03 +01:00
unknown
541cb675c8 fixed subquery with PS (BUG#2462)
fixed UNION preparation


sql/item.cc:
  debug output added
sql/item.h:
  debug output added
sql/item_cmpfunc.cc:
  correct cleunup() for Item_in_optimizer
sql/item_cmpfunc.h:
  correct cleunup() for Item_in_optimizer
  debug output added
sql/item_func.h:
  debug output added
sql/item_subselect.cc:
  support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_subselect.h:
  support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_sum.cc:
  debug output added
sql/item_sum.h:
  debug output added
sql/sql_class.cc:
  function to switch allocation arena for Items
sql/sql_class.h:
  function to switch allocation arena for Items
  pointer on current prepared statement added
sql/sql_lex.cc:
  comment fixed
sql/sql_lex.h:
  item cleanup support
sql/sql_prepare.cc:
  - fixed preparation of PS to avoid storing junk in its memory + correct work with union
  - fixed tables cleanup for UNION & subqueries
sql/sql_select.cc:
  removed condition which is always true for now
  fixed layout
sql/sql_union.cc:
  support of UNION subquery cleanup
tests/client_test.c:
  test of repeatable subqueries
  test of correct UNION initialisation
2004-02-08 20:14:13 +02:00
unknown
9768dc84c8 Pack of changes about 'cleanup()'-s
Some errorneous code trimmed


sql/item.cc:
  initialization of the Item_type_holder::orig_item added
sql/item.h:
  No use to call cleanup() in ~Item
  this only calls Item::cleanup()
  
  We should use item->delete_self() instead of 'delete item' now
  
  Code added to restore Item_type_holder::item_type value
sql/item_row.h:
  this cleanup is wrong
sql/item_sum.cc:
  initialization added
sql/item_sum.h:
  Item_xxx& -> Item_xxx*
sql/sql_parse.cc:
  delete item -> item->delete_self()
2004-01-20 20:55:47 +04:00