Commit graph

265 commits

Author SHA1 Message Date
unknown
f6a552b1cb sql_base.cc, item.cc:
Fixed bug #13411.
  Fixed name resolution for non-qualified reference to a view column
  in the HAVING clause.
view.result, view.test:
  Added a test case for bug #13411.


mysql-test/t/view.test:
  Added a test case for bug #13411.
mysql-test/r/view.result:
  Added a test case for bug #13411.
sql/item.cc:
  Fixed bug #13411.
  Fixed name resolution for non-qualified reference to a view column
  in the HAVING clause.
sql/sql_base.cc:
  Fixed bug #13411.
  Fixed name resolution for non-qualified reference to a view column
  in the HAVING clause.
2005-09-26 20:18:59 -07:00
unknown
015d55b754 Merge grichter@bk-internal.mysql.com:/home/bk/mysql-5.0
into lmy002.wdf.sap.corp:/home/georg/work/mysql/bugs/mysql-5.0-master


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/sql_view.cc:
  Auto merged
2005-09-19 05:32:38 +02:00
unknown
bf58b698e2 Fix for bug#5508 after Sanja's review
mysql-test/r/view.result:
  test results for rename table view1 to view2
mysql-test/t/view.test:
  tests for rename table view1 to view2
sql/share/errmsg.txt:
  added new errormessage (schema change not allowed in rename table view)
sql/sql_rename.cc:
  added support for renaming views
sql/sql_view.cc:
  added new function mysql_rename_view
sql/sql_view.h:
  added prototype mysql_rename_view
2005-09-16 17:13:21 +02:00
unknown
d01927dc7e Merge
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-09-15 20:50:10 +04:00
unknown
11e0bdd70b Updated test results for view test.
mysql-test/r/view.result:
  Updated test results
2005-09-14 16:27:55 -04:00
unknown
de4fbc212c Fix bug #11416 Server crash if using a view that uses function convert_tz
When parser parses function convert_tz it loads available timezone tables in
thd->lex->time_zone_tables_used. But view have another lex that main query.
Thus time_zone_tables_used of main query left uninitialized.
When Item_func_conver_tz is fixed it takes timezone tables from main query
and later when it executed it assumes that timezone tables are loaded and
failed that assertion.



sql/sql_view.cc:
  Fix bug #11416 Server crash if using a view that uses function convert_tz
mysql-test/r/view.result:
  Test case for bug#11416 Server crash if using a view that uses function convert_tz
mysql-test/t/view.test:
  Test case for bug#11416 Server crash if using a view that uses function convert_tz
2005-09-15 00:08:12 +04:00
unknown
97bea9092e Merge mysql.com:/home/alexi/mysql-5.0
into  mysql.com:/home/alexi/dev/mysql-5.0-13000


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-09-14 20:32:59 +04:00
unknown
b214671e09 Fixed BUG#12963, BUG#13000: wrong VIEW creation with DAYNAME(),
DAYOFWEEK(), and WEEKDAY().


mysql-test/r/func_time.result:
  Fixed new results for testcases containing EXPLAIN EXTENDED SELECT ...
   WEEKDAY ... DAYNAME. The new results are correct and correspond to
   the changes in create_func_weekday() and create_func_dayname().
mysql-test/r/view.result:
  Fixed some testcases results (bugs #12963, #13000).
mysql-test/t/view.test:
  Added testcases for for bugs #12963, #13000.
sql/item_create.cc:
  Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY().
   Modified create_func_dayname(), create_func_dayofweek(), and
   create_func_weekday(). They don´t insert Item_func_to_days
   object now.
sql/item_timefunc.cc:
  Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY().
   Modified Item_func_weekday::val_int(). The argument of weekday should
   not be considered now to be Item_func_to_days object.
sql/item_timefunc.h:
  Fixed bugs #12963, 13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY.
   Modified Item_func_weekday::func_name(). It returns now different
   names depending on the odbc_type attribute value.
2005-09-14 20:25:00 +04:00
unknown
eae520f383 postmerge fix 2005-09-14 17:27:33 +03:00
unknown
98b6fd8797 postmerge fix 2005-09-14 12:24:14 +03:00
unknown
d0a78e6fa6 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-owner2-5.0


sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
mysql-test/r/func_in.result:
  merge
mysql-test/r/lowercase_view.result:
  merge
mysql-test/r/mysqldump.result:
  merge
mysql-test/r/sql_mode.result:
  merge
mysql-test/r/temp_table.result:
  merge
mysql-test/r/view.result:
  merge
mysql-test/t/view.test:
  merge
2005-09-14 11:07:04 +03:00
unknown
f7aeb6f9fd part 1 (ver 2, postreview fix) of WL#2787
view definer information syntax/storage/replication
fixed SOURCE field of .frm


mysql-test/r/func_in.result:
  definer information added to CREATE VIEW
mysql-test/r/lowercase_view.result:
  definer information added to CREATE VIEW
mysql-test/r/mysqldump.result:
  definer information added to CREATE VIEW
mysql-test/r/rpl_view.result:
  check log of queries
mysql-test/r/skip_grants.result:
  --skip-grants do not allow use user information
mysql-test/r/sql_mode.result:
  definer information added to CREATE VIEW
mysql-test/r/temp_table.result:
  definer information added to CREATE VIEW
mysql-test/r/view.result:
  definer information added to CREATE VIEW
  test of storing/restoring definer information
mysql-test/r/view_grant.result:
  test of grant check of definer information
  definer information added to CREATE VIEW
mysql-test/t/rpl_view.test:
  check log of queries
mysql-test/t/skip_grants.test:
  --skip-grants do not allow use user information
mysql-test/t/view.test:
  test of storing/restoring definer information
mysql-test/t/view_grant.test:
  test of grant check of definer information
sql/mysql_priv.h:
  CREATE/ALTER VIEW print support
  set current user as definer procedure
sql/share/errmsg.txt:
  new errors/warnings
sql/sql_acl.cc:
  make find_acl_user public to allow to check user
sql/sql_acl.h:
  make find_acl_user public to allow to check user
sql/sql_lex.h:
  storing definer information
sql/sql_parse.cc:
  send CREATE/ALTER VIEW for replication with full list of options
  set current user as definer procedure
sql/sql_show.cc:
  new CREATE VIEW options printed
sql/sql_view.cc:
  check of definer clause
  changes in .frm file
  definer information storage support
  now we store only original SELECT in SOURCE field of .frm
sql/sql_yacc.yy:
  definer information sintax support
  getting SOURCE field information for .frm
sql/table.h:
  definer information storage
2005-09-14 10:53:09 +03:00
unknown
ee4b49698d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug10713_new/my50-bug10713_new


mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/table.h:
  Auto merged
2005-09-14 08:10:18 +02:00
unknown
849273bcfb Merge
sql/sql_base.cc:
  Auto merged
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-09-13 22:22:51 +04:00
unknown
a009a3dcdc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug10713_new/my50-bug10713_new


mysql-test/r/view.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
2005-09-13 14:46:42 +02:00
unknown
2761c64884 BUG#10713 mysqldump includes database in create view and referenced tables
- Update test results
 - Updates after review


mysql-test/r/func_in.result:
  Update test results
mysql-test/r/lowercase_view.result:
  Update test results
mysql-test/r/mysqldump.result:
  Update test results
mysql-test/r/sql_mode.result:
  Update test results
mysql-test/r/temp_table.result:
  Update test results
mysql-test/r/view.result:
  Update test results
mysql-test/t/mysqldump.test:
  Update test results
sql/sql_show.cc:
  Updated after review
2005-09-13 12:43:43 +02:00
unknown
d2789003b3 Fix for BUG#6808.
The problem was in that add_table_to_list was testing for duplicate tables
in a list of tables that included the created view.


mysql-test/r/view.result:
  Test for BUG#6808
mysql-test/t/view.test:
  Test for BUG#6808
sql/sql_parse.cc:
  When testing for table name uniquness, skip the first table the current
  statement is CREATE VIEW. Notice that the first table is skipped differently
  for CREATE TABLE ... SELECT ... statements, so we don't have to handle that
  case here (see production 'create_select', the call 'to save_and_clear').
2005-09-12 17:01:17 +03:00
unknown
b3dc4ea3e3 Fix bug #12993 View column rename broken in subselect
When view column aliased in subselect alias is set on ref which represents
field. When tmp table is created for subselect, it takes name of original field
not ref. Because of this alias on view column in subselect is lost. Which
results in reported error.

Now when alias is set on ref, it's set on ref real item too.


mysql-test/r/view.result:
  Test case for bug #12993  View column rename broken in subselect
mysql-test/t/view.test:
  Test case for bug #12993  View column rename broken in subselect
sql/sql_base.cc:
  Fix bug #12993 View column rename broken in subselect
  Now when alias is set on ref, it's set on ref real item too.
2005-09-12 02:46:35 +04:00
unknown
dfc328e104 Manual merge 2005-09-07 22:55:49 +04:00
unknown
792221e365 Fix bug #12922 if(sum(),...) with group from view returns wrong results
Fields of view represented by Item_direct_view_ref. When complex expression
such as if(sum()>...,...) is splited in simpler parts by refs was ignored.
Beside this direct ref doesn't use it's result_field and thus can't store
it's result in tmp table which is needed for sum() ... group.
All this results in reported bug.

Item::split_sum_func2() now converts Item_direct_view_ref to Item_ref to
make fields from view being storable in tmp table.


sql/item.h:
  Fix bug #12922 if(sum(),...) with group from view returns wrong results
  Added function ref_type() to distinguish Item_ref subclasses
sql/item.cc:
  Fix bug #12922 if(sum(),...) with group from view returns wrong results
   Item::split_sum_func2() now converts Item_direct_view_ref to Item_ref to make fields from view being storable in tmp table.
mysql-test/t/view.test:
  Test case for bug#12922 if(sum(),...) with group from view returns wrong results
mysql-test/r/view.result:
  Test case for bug#12922 if(sum(),...) with group from view returns wrong results
2005-09-07 22:38:36 +04:00
unknown
3003e5a0eb Fix for BUG#12941: in create_tmp_field(), if the passed item is an Item_ref, put newly
created item into item->result_field, not *(item->ref)->result_field.


mysql-test/r/view.result:
  Tescase for BUG#12941
mysql-test/t/view.test:
  Tescase for BUG#12941
2005-09-07 11:50:41 +04:00
unknown
a8fc85cbe3 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


BitKeeper/etc/config:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.h:
  Auto merged
2005-09-01 22:42:37 +03:00
unknown
0ccb16d636 Fix bug #12489 wrongly printed strcmp() function results in creation of broken
view.

For Item_func_strcmp print() was not defined and for this class was called
print_op of it's parent class. Because of this strcmp() was printed wrongly
and this results int creation of broken view.

Added function Item_func_strcmp::print() which correctly prints strcmp()
function.


sql/item_cmpfunc.h:
  Fix bug #12489 wrongly printed strcmp() function results in creation of broken view.
mysql-test/r/view.result:
  Test case for bug #12489 wrongly printed strcmp() function results in creation of broken view.
mysql-test/t/view.test:
  Test case for bug #12489 wrongly printed strcmp() function results in creation of broken view.
2005-08-31 00:54:41 +04:00
unknown
f5d7dca964 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug1-5.0


sql/sql_view.cc:
  Auto merged
mysql-test/r/view.result:
  merge
mysql-test/t/view.test:
  merge
2005-08-25 17:47:18 +03:00
unknown
b224e52c99 Merge lmy004.:/work/mysql-5.0-clean
into lmy004.:/work/mysql-5.0-bug12533-2


mysql-test/r/view.result:
  Auto merged
sql/sql_show.cc:
  Auto merged
2005-08-25 09:38:59 +02:00
unknown
750a05887f fix for bug #12533 (crash on DESCRIBE <view> after renaming base table column)
mysql-test/r/view.result:
  result of test for bug #12533
mysql-test/t/view.test:
  test for bug #12533 (crash on DESCRIBE <view> after renaming base table column)
sql/sql_show.cc:
  close thread tables even if process_table bails out
2005-08-25 09:24:21 +02:00
unknown
a57d244458 Fix for bug#5501 (SHOW TABLE STATUS should show "view" in upper case)
mysql-test/r/information_schema.result:
  changed output "view" to uppercase
mysql-test/r/view.result:
  changed output "view" to uppercase
sql/sql_show.cc:
  changed table field "view" to uppercase
2005-08-24 12:51:00 +02:00
unknown
eb7c4ff2db Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


BitKeeper/etc/config:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/view.result:
  merge
mysql-test/t/view.test:
  merge
sql/share/errmsg.txt:
  merge
sql/sql_insert.cc:
  merge
sql/table.h:
  merge
2005-08-23 23:17:36 +03:00
unknown
a166d8ca2e Manual merge 2005-08-18 15:17:04 -07:00
unknown
c9fa6a47bd view.test:
Added a test case for bug #10970.
view.result:
  Added a test case for bug #10970.
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
sql_view.cc:
  Fixed bug #10970.
  In the function mysql_create_view if a view does not refer
  any tables directly the variable table must be updated
  after the call of open_and_lock_tables.
errmsg.txt:
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
  (when fixing bug #10970).


sql/share/errmsg.txt:
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
  (when fixing bug #10970).
sql/sql_view.cc:
  Fixed bug #10970.
  In the function mysql_create_view if a view does not refer
  any tables directly the variable table must be updated
  after the call of open_and_lock_tables.
mysql-test/r/view.result:
  Fixed bug #10970.
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
mysql-test/t/view.test:
  Added a test case for bug #10970.
2005-08-17 22:19:12 -07:00
unknown
cf7b1241d1 sql_view.cc:
correct exit from mysql_create_view to restore ennvironment (BUG#12468)
view.result, view.test:
  test of CRETE VIEW in SP


mysql-test/t/view.test:
  test of CRETE VIEW in SP
mysql-test/r/view.result:
  test of CRETE VIEW in SP
sql/sql_view.cc:
  correct exit from mysql_create_view to restore ennvironment
2005-08-17 22:42:53 +03:00
unknown
def42df9fe Fix bug #10624 Views with multiple UNION and UNION ALL produce incorrect
results.

st_select_lex_unit::print() was losing UNION ALL if in statement were present
UNION DISTINCT.


mysql-test/r/view.result:
  Test case for bug #10624  Views with multiple UNION and UNION ALL produce incorrect results.
mysql-test/t/view.test:
  Test case for bug #10624  Views with multiple UNION and UNION ALL produce incorrect results.
sql/sql_lex.cc:
  Fix bug #10624 Views with multiple UNION and UNION ALL produce incorrect results.
2005-08-15 23:05:05 +04:00
unknown
d32c4314ed Fix bug #12298 Typo in timestampdiff() function name results in erroneous
view being created.

Item_func_timestamp_diff::func_name() were returning function name as
"timestamp_diff" thus when view was executed function parameters wasn't 
properly recognized and error was raised.


mysql-test/r/func_time.result:
  Fix test result after bugfix #12298
sql/item_timefunc.h:
  Fix bug #12298 Typo in timestampdiff() function name results in wrong view being created.
mysql-test/t/view.test:
  Test case for bug #12298 Typo in timestampdiff()  function name results in erroneous view being created.
mysql-test/r/view.result:
  Test case for bug #12298 Typo in timestampdiff() function name results in erroneous view being created.
2005-08-12 22:42:50 +04:00
unknown
8282261289 sql_base.cc:
Fixed bug #12470.
  A misplaced initialization of the cond_count counter
  resulted in a wrong calculation of it. This caused a memory
  corruption since this counter was used as a parameter of
  some memory allocation.
view.test:
  Added a test case for bug #12470.


mysql-test/t/view.test:
  Added a test case for bug #12470.
sql/sql_base.cc:
  Fixed bug #12470.
  A misplaced initialization of the cond_count counter
  resulted in a wrong calculation of it. This caused a memory
  corruption since this counter was used as a parameter of
  some memory allocation.
2005-08-12 01:27:04 -07:00
unknown
743fde2404 sql_base.cc:
Fixed bug #12382.
  INSERT statement effectively changed thd->set_query_id to 0,
  while SELECT statement changed it to 0. As a result
  the insert_fields function that expanded '*' was called
  with different values of thd->set_query_id for the query
  SELECT * FROM view depending on whether it was run after
  an INSERT or after a SELECT statement. This was corrected
  by restoring the old value of thd->set_query_id when
  returning from the function setup_fields where possible
  reset could occur.
  If the value of thd->set_query_id == 0 then the fields
  substituted instead of '*' were not registered as used
  for bitmaps used_keys. This caused selection of an invalid
  execution plan for the query SELECT * from <view>.
view.result, view.test:
  Added a test case for bug #12382.


mysql-test/t/view.test:
  Added a test case for bug #12382.
mysql-test/r/view.result:
  Added a test case for bug #12382.
sql/sql_base.cc:
  Fixed bug #12382.
  INSERT statement effectively changed thd->set_query_id to 0,
  while SELECT statement changed it to 0. As a result
  the insert_fields function that expanded '*' was called
  with different values of thd->set_query_id for the query
  SELECT * FROM view depending on whether it was run after
  an INSERT or after a SELECT statement. This was corrected
  by restoring the old value of thd->set_query_id when
  returning from the function setup_fields where possible
  reset could occur.
  If the value of thd->set_query_id == 0 then the fields
  substituted instead of '*' were not registered as used
  for bitmaps used_keys. This caused selection of an invalid
  execution plan for the query SELECT * from <view>.
2005-08-11 16:10:34 -07:00
unknown
502e97f875 Fix for BUG#12228: SP cache code:
* Cleanup SP Cache code, now SP Cache only deletes sp_head objects in 
  sp_cache_flush_obsolete() invalidates all pointers to routines in the cache.
* Use new SP Cache use contract in the code.

There is no test case because it doesn't seem to be possible to cause thread races to end
the same way they end in heavy-load test. This patch removes the crash in heavy test.


mysql-test/r/type_bit.result:
  Drop the tables this test tries to create
mysql-test/r/view.result:
  Drop function this test creates
mysql-test/t/type_bit.test:
  Drop the tables this test tries to create
mysql-test/t/view.test:
  Drop function this test creates
sql/sp.cc:
  Fix for BUG#12228: When a routine is deleted/modified, invalidate all cached SPs in all
  threads. We need to do so because sp_lex_keeper::{prelocking_tables, query_tables_own_last}
  in one SP may depend on another SP sp_lex_keeper::m_lex is using.
sql/sp_cache.cc:
  Fix for BUG#12228:
  * Move class sp_cache to here from sp_cache.h, document the functions.
  * sp_cache_insert, sp_cache_remove, sp_cache_invalidate and sp_cache_lookup must not delete
    sp_head* objects as they may be called during SP execution when sp_head objects are used.
  * Added sp_cache_flush_obsolete() function that may delete sp_head objects.
  * Removed sp_cache_remove as there is no need for it now - when we change one SP we should
    invalidate all other SPs, because sp_lex_keeper::{prelocking_tables, 
    query_tables_own_last} from one SP depend on content of another SP (used in 
    sp_lex_keeper::m_lex).
sql/sp_cache.h:
  Fix for BUG#12228:
  * Move class sp_cache to sp_cache.cc it is not needed in .h file
  * Added comments
sql/sql_parse.cc:
  Fix for BUG#12228: Call new sp_cache_flush_obsolete() function before running the query
sql/sql_prepare.cc:
  Fix for BUG#12228: Call new sp_cache_flush_obsolete() function before preparing/executing a PS
2005-08-08 23:23:34 +00:00
unknown
b7ab93001d Fix out-of-order results in view results file
mysql-test/r/view.result:
  Update results file
2005-08-04 16:33:29 -07:00
unknown
c5bcb9f01c Manual merge of #11335 bugfix
sql/item_sum.cc:
  Auto merged
mysql-test/r/view.result:
  Manual merge
mysql-test/t/view.test:
  Manual megre
sql/sql_select.cc:
  Manual merge
2005-08-05 00:34:42 +04:00
unknown
e442059c0d Manual merge
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  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_parse.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
2005-08-03 03:47:07 +00:00
unknown
705118d1f6 issue correct error message in case of view presence for duplicated table on update (BUG#10773)
frequently used command sequence replaced with inline function


BitKeeper/etc/config:
  logging switching off
mysql-test/r/lowercase_view.result:
  hided view underlying tables from error message
mysql-test/r/view.result:
  hided view underlying tables from error message
mysql-test/t/lowercase_view.test:
  hided view underlying tables from error message
mysql-test/t/view.test:
  hided view underlying tables from error message
sql/mysql_priv.h:
  subroutine which return correct error message
sql/share/errmsg.txt:
  new error message
sql/sql_base.cc:
  subroutine which issue correct error message in case of view presence for duplicated table on update
sql/sql_delete.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_insert.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_parse.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_update.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_view.cc:
  frequently used command sequence replaced with inline function
sql/table.cc:
  frequently used command sequence replaced with inline function
sql/table.h:
  frequently used command sequence replaced with inline function
2005-08-02 22:54:49 +03:00
unknown
11abe15eab Added Non-prelocked SP execution: Now a PROCEDURE doesn't enter/leave prelocked mode for
its body, but lets each statement to get/release its own locks. This allows a broader set
of statements to be executed inside PROCEDUREs (but breaks replication)
This patch should fix BUG#8072, BUG#8766, BUG#9563, BUG#11126


mysql-test/r/sp-security.result:
  Drop tables this test attempts to create
mysql-test/r/sp-threads.result:
  Update test results
mysql-test/r/sp.result:
  Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/r/view.result:
  Enabled a test case that now works with prelocking-free SPs
mysql-test/t/sp-security.test:
  Drop tables this test attempts to create
mysql-test/t/sp.test:
  Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/t/view.test:
  Enabled a test case that now works with prelocking-free SPs
sql/handler.cc:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/item_func.cc:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sp.cc:
  Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
  "CALL proc(...)" statements.
sql/sp.h:
  Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
  "CALL proc(...)" statements.
sql/sp_cache.h:
  Added comments
sql/sp_head.cc:
  Non-prelocked SP execution:
  * Try to unlock tables after PROCEDURE arguments have been evaluated.
  * Make sp_lex_keeper be able to execute in 2 modes: A) when already in prelocked mode
    B) when its statement enters/leaves prelocked mode itself.
sql/sp_head.h:
  Non-prelocked SP execution:  Make sp_lex_keeper to additionally keep list of tables it 
  needs to prelock when its statement enters/leaves prelocked mode on its own.
sql/sql_base.cc:
  Non-prelocked SP execution: Make open_tables() to
   * detect 'CALL proc(...)' and not to do prelocking for procedure body statements.
   * Make lex->query_tables_last to point precisely to a boundary in lex->query_tables 
     list where 'own' tables and views' tables end and added-for-prelocking tables begin.
     (it was not true before - view's tables could end up after query_tables_own_last)
sql/sql_class.cc:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_class.h:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_lex.cc:
  Non-prelocked SP execution: More rigourous cleanup in st_lex::cleanup_after_one_table_open()
sql/sql_parse.cc:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt, remove outdated comments
sql/sql_trigger.h:
  Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
2005-07-30 08:19:57 +00:00
unknown
a292b42436 Fix bug #11335 View redefines TinyInt(1) column definition
Item_type_holder doesn't store information about length and exact type of
original item which results in redefining length to max_length and geometry 
type to longtext.

Changed the way derived tables except unions are built. Now they are created
from original field list instead of list of Item_type_holder.


mysql-test/r/subselect.result:
  Fixed wrong test case result. bug#11335
mysql-test/r/view_grant.result:
   Fixed wrong test case result. bug#11335
mysql-test/r/view.result:
  Added test case for bug #11335. Fixed wrong test case result.
mysql-test/t/view.test:
  Test case for bug #11335 View  redefines TinyInt(1) column definition.
sql/sql_union.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Changed the way derived tables except unions are built. Now they are created from original field list instead of list of Item_type_holders.
sql/sql_select.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Added special handling of DATE/TIME fields to preserve field's type in tmp field creation.
  In create_tmp_field() for Item_field added special handling of case when item have to be able to store NULLs but underlaid field is NOT NULL.
sql/item_sum.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Added special handling of DATE/TIME fields to preserve field's type while tmp
  field created in Item_sum_hybrid::create_tmp_field().
2005-07-30 05:53:35 +04:00
unknown
1c3f8cc214 sql_select.cc:
Fixed bug #11412.
  Reversed the patch of cs 1.1934 for the function 
  create_tmp_table. Modified the function to support
  tem_ref objects created for view fields.
item_buff.cc:
  Fixed bug #11412.
  Modified implementation of new_Cached_item to support
  cacheing of view fields.
item.h:
  Fixed bug #11412.
  Changed implementation of Item_ref::get_tmp_table_field and
  added Item_ref::get_tmp_table_item to support Item_ref objects
  created for view fields.
view.test, view.result:
  Added a test case for bug #11412.


mysql-test/r/view.result:
  Added a test case for bug #11412.
mysql-test/t/view.test:
  Added a test case for bug #11412.
sql/item.h:
  Fixed bug #11412.
  Changed implementation of Item_ref::get_tmp_table_field and
  added Item_ref::get_tmp_table_item to support Item_ref objects
  created for view fields.
sql/item_buff.cc:
  Fixed bug #11412.
  Modified implementation of new_Cached_item to support
  cacheing of view fields.
sql/sql_select.cc:
  Fixed bug #11412.
  Reversed the patch of cs 1.1934 for the function 
  create_tmp_table. Modified the function to support
  tem_ref objects created for view fields.
2005-07-25 12:57:23 -07:00
unknown
038631da3b Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/mysql-5.0-bug-11760


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-07-20 06:59:31 +04:00
unknown
c816f29713 Fix bug #11760 Typo in Item_func_add_time::print() results in NULLs returned
by subtime() in view

Item_func_add_time::print() were printing arg[0] instead of arg[1] which
results in wrongly created view. Functions addtime() and subtime were
affected by this bug.


sql/item_timefunc.cc:
  Fix bug #11760 Typo in Item_func_add_time::print() results in wrongly created view
mysql-test/t/view.test:
  Test case for bug #11760  Typo in Item_func_add_time::print() results in wrongly created view
mysql-test/r/view.result:
  Test case for bug #11760  Typo in Item_func_add_time::print() results in wrongly created view
mysql-test/r/date_formats.result:
  Fixed wrong test result. Affected by bug#11760
2005-07-20 06:55:51 +04:00
unknown
a32bf7fb82 Fix for bugs #5892/6182/8751/8758/10994 (based on Antony's patch)
"Triggers have the wrong namespace"
  "Triggers: duplicate names allowed"
  "Triggers: CREATE TRIGGER does not accept fully qualified names"
  "SHOW TRIGGERS"


mysql-test/r/information_schema.result:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/r/information_schema_db.result:
  INFORMATION_SCHEMA.TRIGGERS view was added.
mysql-test/r/rpl_sp.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/r/trigger.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/r/view.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/information_schema.test:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/t/rpl_sp.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/trigger.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/t/view.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
sql/handler.cc:
  Added .TRN tho the list of known file extensions assoicated with tables.
sql/item.h:
  trg_action_time_type/trg_event_type enums:
    Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of
    magical values in various loops where we iterate through all types of trigger
    action times or/and trigger event types.
sql/lex.h:
  Added new symbol "TRIGGERS".
sql/mysql_priv.h:
  Added declaration of constant holding extension for trigger name (.TRN) files.
sql/mysqld.cc:
  Added statistical variable for SHOW TRIGGERS command.
sql/share/errmsg.txt:
  Added error message saying that one attempts to create trigger in wrong schema.
sql/sp.cc:
  Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants.
sql/sql_base.cc:
  open_unireg_entry():
    Now Table_triggers_list::check_n_load() has one more argument which
    controls whether we should prepare Table_triggers_list with fully functional
    triggers or load only their names.
sql/sql_lex.h:
  Added element for new SHOW TRIGGERS command to enum_sql_command enum.
sql/sql_parse.cc:
  prepare_schema_table():
    Added support for SHOW TRIGGERS statement.
sql/sql_show.cc:
  Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
sql/sql_table.cc:
  mysql_rm_table_part2():
    Replaced simple deletion of .TRG file with call to
    Table_triggers_list::drop_all_triggers which will also delete .TRN files
    for all triggers associated with table.
sql/sql_trigger.cc:
  Now triggers have database wide namespace. To support it we create special .TRN
  file with same name as trigger for each trigger. This file contains name of
  trigger's table so one does not need to specify it explicitly in DROP TRIGGER.
  Moreover DROP TRIGGER treats first part of trigger identifier as database name
  now. Updated mysql_create_or_drop_trigger() routine and
  Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods
  accordingly. Added add_table_for_trigger() routine and
  Table_triggers_list::drop_all_triggers() method.
  
  Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata.
sql/sql_trigger.h:
  Table_triggers_list:
    Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values.
    Added get_trigger_info() method for obtaining trigger's meta-data.
    Added drop_all_triggers() method which drops all triggers for table.
    Added declarations of trg_action_time_type_names/trg_event_type_names
    arrays which hold names of triggers action time types  and event types.
sql/sql_yacc.yy:
  Changed grammar for CREATE/DROP TRIGGER to support database wide trigger
  namespace. Added new SHOW TRIGGERS statement.
sql/table.h:
  enum enum_schema_tables:
    Added constant for new INFORMATION_SCHEMA.TRIGGERS view.
2005-07-19 20:06:49 +04:00
unknown
7bdc4dd0a1 After-merge fixes (4.1 -> 5.0).
mysql-test/r/sp.result:
  Test results fixed: rewritten test for Bug#6129
mysql-test/r/view.result:
  Push a change to the result file from Sanja's patch.
mysql-test/t/sp.test:
  Rewrite the test for Bug#6129 (now that stored procedures don't
  evaluate system variables at parse, the test produced different results).
  The old test failed with 1 in the second invocation (the old
  result was wrong).
sql/item_func.cc:
  After-merge fix.
sql/item_func.h:
  After-merge fix.
sql/mysql_priv.h:
  After-merge fix.
sql/mysqld.cc:
  Rollback the patch for Bug#7403 (it breaks the test suite).
2005-07-16 16:10:42 +04:00
unknown
213c05400a Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug6-5.0


BitKeeper/etc/config:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp-security.result:
  merge
mysql-test/r/view.result:
  merge
mysql-test/t/sp-security.test:
  merge
mysql-test/t/view.test:
  merge
sql/item_cmpfunc.cc:
  merge
sql/sql_class.h:
  merge
2005-07-16 00:17:05 +03:00
unknown
e84229b010 stop evaluation constant functions in WHERE (BUG#4663)
correct value of CURRENT_USER() in SP with "security definer" (BUG#7291)


BitKeeper/etc/config:
  switch off open logging
mysql-test/r/sp-security.result:
  correct value from current_user() in function run from "security definer"
mysql-test/r/view.result:
  evaluation constant functions in WHERE (BUG#4663)
mysql-test/t/sp-security.test:
  correct value from current_user() in function run from "security definer"
mysql-test/t/view.test:
  evaluation constant functions in WHERE (BUG#4663)
sql/item.cc:
  Item_static_string_func creation if it is need
sql/item.h:
  support of Item_static_string_func creation
sql/item_cmpfunc.cc:
  do not evaluate items during view creation
sql/item_create.cc:
  create Item_func_user
sql/item_strfunc.cc:
  Item_func_sysconst in case of converting value still have to correctly print itself
  => use Item_static_string_func instead of Item_string
      Item_func_user return USER() or CURRENT_USER()
sql/item_strfunc.h:
  support of correct charset conversion procedure in Item_func_sysconst
sql/sql_class.h:
  new method
sql/sql_yacc.yy:
  Item_func_user now support both USER() and CURRENT_USER(), so we have to pass parametr what it is
2005-07-16 00:01:44 +03:00
unknown
7f80ca5493 take into account table lock mode when opening table:
try to find most suitable table, to avouid pickup table with too low locking mode or occupy table with write mode for select when it will be need for update later
(BUG#9597)


mysql-test/r/view.result:
  opening table in correct locking mode test
mysql-test/t/view.test:
  opening table in correct locking mode test
sql/sql_base.cc:
  take into account table lock mode when opening table:
  try to find most suitable table, to avouid pickup table with too low locking mode or occupy table with write mode for select when it will be need for update later
2005-07-15 01:22:14 +03:00
unknown
327afd65b5 Merge
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-07-13 02:39:23 +02:00
unknown
c3d276165d Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/mysql-5.0-bug-11709


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-07-13 04:39:22 +04:00
unknown
8c182f9734 view.result, view.test:
Fix for test case for bug#11709


mysql-test/t/view.test:
  Fix for test case for bug#11709
mysql-test/r/view.result:
  Fix for test case for bug#11709
2005-07-13 04:10:19 +04:00
unknown
7744e7e700 Merge
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-07-12 23:24:35 +04:00
unknown
a578be339d Fix bug#11709 View was ordered by wrong column.
When searching column to sort on, item was compared to field under view
column, but not the column itself. Because names of view column and underlaid
field may differ, it leads to possibly choosing wrong column for sorting on.

This patch makes Item_direct_view_ref::eq(Item *item,...) compare
item's name with it's own name proir to comparing to *ref item.


sql/item.cc:
  Fix bug #11709 View was ordered by wrong column
sql/item.h:
  Fix bug #11709 View was ordered by wrong column
mysql-test/t/view.test:
  Test case for bug #11709 View was ordered by wrong column.
mysql-test/r/view.result:
  Test case for bug #11709 View was ordered by wrong column.
2005-07-12 23:22:08 +04:00
unknown
f628028455 view.test, view.result:
Expanded the test case for bug #6120 to cover
  DROP VIEW / CREATE VIEW scenario.
sql_view.cc:
  Expanded the fix for bug #6120 to cover the case of
  DROP VIEW / CREATE_VIEW.


sql/sql_view.cc:
  Expanded the fix for bug #6120 to cover the case of
  DROP VIEW / CREATE_VIEW.
mysql-test/r/view.result:
  Expanded the test case for bug #6120 to cover
  DROP VIEW / CREATE VIEW scenario.
mysql-test/t/view.test:
  Expanded the test case for bug #6120 to cover
  DROP VIEW / CREATE VIEW scenario.
2005-07-12 10:44:32 -07:00
unknown
51f8821af0 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into igor-inspiron.creware.com:/home/igor/mysql-5.0


sql/sql_base.cc:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-07-12 10:44:31 -07:00
unknown
9d9ef52dbe Merge
sql/sql_base.cc:
  Auto merged
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-07-12 20:49:43 +04:00
unknown
2ae3cdcf97 Fix bug #11399 Column alias was lost during view preraration.
New item created in find_field_in_table() to fix view's item, was created 
without taking into account original item's alias. This patch checks if alias 
is set to the original item and if so sets it to newly created item.


sql/sql_base.cc:
  Fix bug#11399 Alias wasn't set on view column
mysql-test/t/view.test:
  Test case for bug#11399 Use an alias in a select statement on a view
mysql-test/r/view.result:
  Test case for bug#11399 Use an alias in a select statement on a view
2005-07-12 20:45:34 +04:00
unknown
f36db3540a view.result, view.test:
Added a test case for bug #11771.
item.h:
  Fixed bug #11771.
  Added method reset_query_id_processor to be able to adjust
  query_id for fields generated from * in queries like this:
  SELECT * FROM <view> ...
sql_base.cc:
  Fixed bug #11771.
  Adjusted query_id for fields generated from * in queries
  like this: SELECT * FROM <view> ...


sql/sql_base.cc:
  Fixed bug #11771.
  Adjusted query_id for fields generated from * in queries
  like this: SELECT * FROM <view> ...
sql/item.h:
  Fixed bug #11771.
  Added method reset_query_id_processor to be able to adjust
  query_id for fields generated from * in queries like this:
  SELECT * FROM <view> ...
mysql-test/t/view.test:
  Added a test case for bug #11771.
mysql-test/r/view.result:
  Added a test case for bug #11771.
2005-07-12 05:18:05 -07:00
unknown
c31a78c863 portability fix: the Max_data_length replaced with # 2005-07-08 16:25:07 +05:00
unknown
39968552a8 view.result, view.test:
Added a test case for bug #6120.
sql_view.cc:
  Fixed bug #6120.
  The SP cache must be invalidated when a view is altered.


sql/sql_view.cc:
  Fixed bug #6120.
  The SP cache must be invalidated when a view is altered.
mysql-test/t/view.test:
  Added a test case for bug #6120.
mysql-test/r/view.result:
  Added a test case for bug #6120.
2005-07-06 09:00:17 -07:00
unknown
8546ddd39a Merge mysql.com:/home/jimw/my/mysql-5.0-6903
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/r/view.result:
  Auto merged
sql/sql_show.cc:
  Auto merged
mysql-test/r/sql_mode.result:
  Merge
mysql-test/t/sql_mode.test:
  Merge
2005-07-05 17:05:31 -07:00
unknown
323652f4dc Merge
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-07-05 13:42:19 +03:00
unknown
836f5a5a1e fixed environment creation and cleaning up for processing view one by one during checking (BUG#11337)
mysql-test/r/view.result:
  checking views after some view with error (BUG#11337)
mysql-test/t/view.test:
  checking views after some view with error (BUG#11337)
sql/sql_lex.cc:
  environment cleaning up for processing view one by one
sql/sql_lex.h:
  methods for lex cleunup during view processing one by one
sql/sql_table.cc:
  fixed environment creation and cleaning up for processing view one by one (BUG#11337)
2005-07-05 13:37:02 +03:00
unknown
7ff88ba7a7 merge
sql/item_sum.h:
  Auto merged
2005-07-05 11:21:47 +03:00
unknown
be515e075c fixed var_samp printing (BUG#10651)
mysql-test/r/view.result:
  Using var_samp with view (BUG#10651)
mysql-test/t/view.test:
  Using var_samp with view (BUG#10651)
sql/item_sum.h:
  fixed var_samp printing
2005-07-02 16:12:32 +03:00
unknown
7e8c38656f fixed difference between ps-protocol and usual execution
mysql-test/r/view.result:
  removed wrong warning
sql/sql_view.cc:
  fix_fields have to be (and will be) made later
2005-07-02 13:16:30 +03:00
unknown
7dad490f36 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/view.result:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-07-01 03:50:48 -07:00
unknown
66b4354a84 view.result:
Fixed the results of a test for group_concat.
  After the fix foor bug #11639 the results became
  correct.
olap.result, olap.test:
  Added a test case for bug #11639.
sql_select.cc:
  Fixed bug #11639: a wrong result set when using a view
  instead of the underlying table in a rollup query 
  executed through filesort.
  The old code did not take into account that we always
  use an Item_ref object when referring to a view column.
item.h:
  Fixed bug #11639.
  Now if two Item_ref items ref1 and ref2 refer to the same field
  then ref1->eq(ref2) returns 1.


sql/item.h:
  Fixed bug #11639.
  Now if two Item_ref items ref1 and ref2 refer to the same field
  then ref1->eq(ref2) returns 1.
sql/sql_select.cc:
  Fixed bug #11639: a wrong result set when using a view
  instead of the underlying table in a rollup query 
  executed through filesort.
  The old code did not take into account that we always
  use an Item_ref object when referring to a view column.
mysql-test/t/olap.test:
  Added a test case for bug #11639.
mysql-test/r/olap.result:
  Added a test case for bug #11639.
mysql-test/r/view.result:
  Fixed the results of a test for group_concat.
  After the fix foor bug #11639 the results became
  correct.
2005-07-01 03:46:08 -07:00
unknown
b4f595b95f Name resolution context added (BUG#6443)
include/my_bitmap.h:
  new bitmap operation
mysql-test/r/view.result:
  added warnings
  Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysql-test/t/view.test:
  Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysys/my_bitmap.c:
  new bitmap operation
sql/field.h:
  index of field in table added
sql/item.cc:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/item.h:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/item_cmpfunc.cc:
  table list removed from fix_fields() arguments
sql/item_cmpfunc.h:
  table list removed from fix_fields() arguments
sql/item_func.cc:
  table list removed from fix_fields() arguments
sql/item_func.h:
  table list removed from fix_fields() arguments
sql/item_row.cc:
  table list removed from fix_fields() arguments
sql/item_row.h:
  table list removed from fix_fields() arguments
sql/item_strfunc.cc:
  fixed server crash on NULL argument
sql/item_strfunc.h:
  table list removed from fix_fields() arguments
sql/item_subselect.cc:
  table list removed from fix_fields() arguments
sql/item_subselect.h:
  table list removed from fix_fields() arguments
sql/item_sum.cc:
  table list removed from fix_fields() arguments
sql/item_sum.h:
  table list removed from fix_fields() arguments
sql/item_timefunc.cc:
  table list removed from fix_fields() arguments
sql/item_timefunc.h:
  table list removed from fix_fields() arguments
sql/item_uniq.h:
  table list removed from fix_fields() arguments
sql/log_event.cc:
  Name resolution context added
sql/log_event.h:
  Name resolution context added
sql/mysql_priv.h:
  Name resolution context added
sql/set_var.cc:
  table list removed from fix_fields() arguments
sql/share/errmsg.txt:
  new error message
sql/sp.cc:
  Name resolution context added
sql/sp_head.cc:
  table list removed from fix_fields() arguments
sql/sp_head.h:
  Name resolution context added
sql/sql_base.cc:
  table list removed from fix_fields() arguments
  Name resolution context added
sql/sql_class.cc:
  renamed variable
sql/sql_delete.cc:
  Name resolution context added
sql/sql_derived.cc:
  Name resolution context added
sql/sql_do.cc:
  table list removed from fix_fields() arguments
sql/sql_handler.cc:
  Name resolution context added
sql/sql_help.cc:
  Name resolution context added
sql/sql_insert.cc:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/sql_lex.cc:
  Name resolution context added
sql/sql_lex.h:
  removed resolve mode (information stored into name resolution context)
sql/sql_load.cc:
  table list removed from fix_fields() arguments
sql/sql_olap.cc:
  Name resolution context added
sql/sql_parse.cc:
  Name resolution context added
sql/sql_prepare.cc:
  table list removed from fix_fields() arguments
sql/sql_select.cc:
  table list removed from fix_fields() arguments
sql/sql_show.cc:
  Name resolution context added
sql/sql_trigger.cc:
  table list removed from fix_fields() arguments
sql/sql_udf.h:
  table list removed from fix_fields() arguments
sql/sql_union.cc:
  Name resolution context added
sql/sql_update.cc:
  Name resolution context added
sql/sql_view.cc:
  Name resolution context added
sql/sql_view.h:
  table list removed from fix_fields() arguments
sql/sql_yacc.yy:
  Name resolution context added
sql/table.cc:
  Name resolution context added
  merged view processing moved
sql/table.h:
  merged view processing moved
2005-07-01 07:05:42 +03:00
unknown
be3d709170 Merge
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-06-24 21:47:17 +04:00
unknown
fd3ac3829b Fix bug#11325 Wrong date comparison in views
Wrong comparing method were choosen which results in false comparison.

Make Item_bool_func2::fix_length_and_dec() to get type and field from
real_item() to make REF_ITEM pass the check. 


sql/item_cmpfunc.cc:
  Fix bug#11325 Wrong date comparison in views
mysql-test/t/view.test:
  Test case for bug#11325 Wrong date comparison in views.
mysql-test/r/view.result:
  Test case for bug#11325 Wrong date comparison in views.
2005-06-24 20:16:52 +04:00
unknown
3d1172a10f fixed encrypt() print (BUG#7024)
mysql-test/r/view.result:
  using encrypt & substring_index in view
mysql-test/t/view.test:
  using encrypt & substring_index in view
sql/item_strfunc.h:
  fixed encrypt() print
2005-06-24 00:24:11 +03:00
unknown
6487eb814f test made independent 2005-06-22 08:52:06 +03:00
unknown
5088334084 merge 2005-06-22 08:42:03 +03:00
unknown
8fc03d970b Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  moonbone.local:/work/mysql-5.0-bug-11298


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-06-22 04:48:25 +04:00
unknown
401fa3cb4b Fix bug#11298 insert into select from VIEW produces incorrect result
when using ORDER BY

Insert were inserting data from last record fetched instead of inserting from 
temporary table.

Make Item_ref to save data from result_field if it's available rather then
from *ref on save_in_field() call.



sql/item.h:
   Fix bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY
sql/item.cc:
  Fix bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY
mysql-test/r/view.result:
  Test case for bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY
mysql-test/t/view.test:
  Test case for bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY
2005-06-22 04:45:10 +04:00
unknown
8f011afe03 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug4-5.0


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
2005-06-21 20:44:18 +03:00
unknown
612de7c643 fixed view fields names check and generation (changed after Trudy review: underlying field names treat as user set ones) (BUG#7448)
mysql-test/r/view.result:
  test of view field names generation
mysql-test/t/view.test:
  test of view field names generation
sql/item.cc:
  add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view
sql/item.h:
  add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view
  layout fixed
sql/item_func.cc:
  line made less then 80 columns
sql/sql_view.cc:
  fixed checking of duplicates of view fields:
  1) case-insensitive system charset/collation is used now to compare view filds
  2) in case if the duplicate field name was of an auto-generated one, we create another unique name for it
sql/sql_yacc.yy:
  add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view
2005-06-21 20:30:48 +03:00
unknown
e85b001321 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  moonbone.local:/work/mysql-5.0-bug-7422


mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-06-21 21:15:20 +04:00
unknown
c4257ae3ce Fix bug #7422 "order by" doesn't work
Field with wrong buffer was used to make sort key, which results in producing
same sort key for all records.



sql/filesort.cc:
  Fix bug#7422 "order by" doesn't work
mysql-test/t/view.test:
  Test case for bug#7422 "order by" doesn't work
mysql-test/r/view.result:
  Test case for bug#7422 "order by" doesn't work
2005-06-21 20:14:50 +04:00
unknown
58adb70a8b fixed time_format printing (BUG#7521)
mysql-test/r/view.result:
  using time_format in view (BUG#7521)
mysql-test/t/view.test:
  using time_format in view (BUG#7521)
sql/item_timefunc.h:
  fixed func_name reportion
2005-06-20 14:56:17 +03:00
unknown
467ca505b5 fixed printing of sum(distinct ) & avg(distinct ) & cast(... as decimal) (BUG#7015, BUG#11387)
mysql-test/r/view.result:
  using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
mysql-test/t/view.test:
  using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
sql/item.h:
  Add a comment for Item::print
sql/item_func.cc:
  Use functype(), not func_name() for item equvalence detection
sql/item_func.h:
  Missed function typoes added
  Add a comment for Item_func::func_name()
  style fix
sql/item_strfunc.cc:
  Use functype(), not func_name() for item equvalence detection
sql/item_strfunc.h:
  Add missing func_name and func_type
sql/item_sum.cc:
  Item_sum func_name report beggining of function till first argument
sql/item_sum.h:
  Item_sum func_name report beggining of function till first argument
sql/item_timefunc.cc:
  Use functype(), not func_name() for item equvalence detection
sql/item_timefunc.h:
  Add missing func_name and func_type
sql/item_uniq.h:
  Add missing func_name
2005-06-17 17:27:47 +03:00
unknown
ed483fcd21 Fix SHOW CREATE VIEW to handle ANSI_QUOTES mode. (Bug #6903)
mysql-test/r/sql_mode.result:
  Update results
mysql-test/r/view.result:
  Update results
mysql-test/t/sql_mode.test:
  Add new regression tests
sql/sql_show.cc:
  Fix SHOW CREATE VIEW to honor ANSI_QUOTES mode.
2005-06-15 16:27:41 -07:00
unknown
afaa3c8923 sql_yacc.yy:
missing semicolon added
sql_base.cc:
  bad merge fixed
sp_head.cc, view.test, view.result:
  Correct restoring view name in SP table locking BUG#9758
configure.in:
  restore -fno-implicit-templates -fno-exceptions -fno-rtti in configure


configure.in:
  restore -fno-implicit-templates -fno-exceptions -fno-rtti in configure
mysql-test/r/view.result:
  Correct restoring view name in SP table locking BUG#9758
mysql-test/t/view.test:
  Correct restoring view name in SP table locking BUG#9758
sql/sp_head.cc:
  Correct restoring view name in SP table locking BUG#9758
sql/sql_base.cc:
  bad merge fixed
sql/sql_yacc.yy:
  missing semicolon added
2005-05-17 17:08:43 +02:00
unknown
2380fc937b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mishka.local:/home/my/mysql-5.0


mysql-test/r/group_min_max.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
2005-05-13 13:36:02 +03:00
unknown
b21cf962e3 concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
myisam_max_extra_sort_file_size is depricated
Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors



include/myisam.h:
  Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
  Removed not used varaible myisam_max_extra_temp_length
include/thr_lock.h:
  Added extra parameter to get_status
myisam/mi_create.c:
  Ensure that myisam_data_pointer_size is honoured
myisam/mi_dynrec.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_locking.c:
  Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
  If this is used, we will append new insert rows at end of data file.
  Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
myisam/mi_static.c:
  Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
  Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
myisam/mi_statrec.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_write.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/myisamdef.h:
  Support for insert-at-end even if there is holes in data file
mysql-test/r/gis-rtree.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/group_min_max.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge_ror.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/merge.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/myisam.result:
  Test of concurrent_insert=2
mysql-test/r/null.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/preload.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/ps_1general.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/range.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/variables.result:
  concurrent_insert is now a integer, not a boolean
  myisam_extra_sort_file_size is deleted
mysql-test/r/view.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/index_merge.test:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/myisam.test:
  Test of concurrent_insert=2
mysql-test/t/ps_1general.test:
  Drop test table
mysql-test/t/variables.test:
  concurrent_insert is now a integer, not a boolean
  myisam_extra_sort_file_size is deleted
mysql-test/t/view.test:
  Drop tables that may be left from previous tests
mysys/thr_lock.c:
  Extra paramter to get_status to signal if concurrent_insert was used
sql/mysqld.cc:
  concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
  myisam_max_extra_sort_file_size is depricated
sql/set_var.cc:
  concurrent-insert is now an integer, not a bool
  myisam_max_extra_sort_file_size is deleted
2005-05-13 12:08:08 +03:00
unknown
623444963e Manual merge
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
2005-05-10 16:41:47 -07:00
unknown
e02416c53c Many files:
Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
view.test:
  Added test case for bug #8528.
view.result:
  Added test case for bug #8528. Fixed other test cases.


mysql-test/r/view.result:
  Added test case for bug #8528. Fixed other test cases.
mysql-test/t/view.test:
  Added test case for bug #8528.
sql/sql_base.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_delete.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_insert.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_parse.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_prepare.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_select.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_update.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_view.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/table.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/table.h:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
2005-05-10 16:31:13 -07:00
unknown
60496497df Fix for BUG#8490: In mysql_make_view for join algorithm views we need
to insert view's subqueries into select_lex->slave(->next)* chain. 
In case a join has several such views, don't add the same subqueries several times
(this forms a loop on the above chain which breaks many parts of the code)


mysql-test/r/view.result:
  Testcase for BUG#8490
mysql-test/t/view.test:
  Testcase for BUG#8490
2005-04-23 00:13:46 +04:00
unknown
8a0db105b4 view.result:
Correction after fix for bug #9902.


mysql-test/r/view.result:
  Correction after fix for bug #9902.
2005-04-18 14:44:14 -07:00
unknown
cfefd88d37 information_schema.result, information_schema.test:
Added a test in connection with the fix for
  bug #6106.
view.result, view.test:
  Added test cases for bugs #6106/6107.
sql_show.cc:
  The addition of the case for items of the type REF_ITEM in the
  function uses_only_table_name_fields became necessary after
  the fix for bug #6106.
sql_base.cc:
  The problem was due to the fact that two different column
  references were glued together though one of them belonged to
  a subquery while another to an outer query. This caused
  eventually a wrong calculation of values for the used_tables
  attribute.


sql/sql_base.cc:
  The problem was due to the fact that two different column
  references were glued together though one of them belonged to
  a subquery while another to an outer query. This caused
  eventually a wrong calculation of values for the used_tables
  attribute.
sql/sql_show.cc:
  The addition of the case for items of the type REF_ITEM in the
  function uses_only_table_name_fields became necessary after
  the fix for bug #6106.
mysql-test/t/view.test:
  Added test cases for bugs #6106/6107.
mysql-test/r/view.result:
  Added test cases for bugs #6106/6107.
mysql-test/t/information_schema.test:
  Added a test in connection with the fix for
  bug #6106.
mysql-test/r/information_schema.result:
  Added a test in connection with the fix for
  bug #6106.
2005-04-13 23:06:37 -07:00
unknown
4189e7c85f Cleanup tests and results after merge from 4.1 of embedded
server testing cleanups.


mysql-test/r/innodb.result:
  Update results
mysql-test/r/insert_select-binlog.result:
  Update results
mysql-test/r/mix_innodb_myisam_binlog.result:
  Update results
mysql-test/r/ps_1general.result:
  Update results
mysql-test/r/ps_grant.result:
  Update results
mysql-test/r/view.result:
  Update results
mysql-test/t/client_xml.test:
  Skip test with embedded server
mysql-test/t/flush_read_lock_kill.test:
  Skip test with embedded server
mysql-test/t/grant3.test:
  Skip test with embedded server
mysql-test/t/information_schema.test:
  Skip test with embedded server
mysql-test/t/innodb.test:
  Fix up filenames
mysql-test/t/multi_update.test:
  Skip test with embedded server
mysql-test/t/mysqlshow.test:
  Skip test with embedded server
mysql-test/t/ps_1general.test:
  Move grant-related tests to ps_grant, and fix cleanup of filename
mysql-test/t/ps_grant.test:
  Add additional tests
mysql-test/t/sp-security.test:
  Skip test with embedded server
mysql-test/t/user_limits.test:
  Skip test with embedded server
mysql-test/t/view.test:
  Split grant-related tests to new test file view_grant
2005-04-04 12:43:58 -07:00
unknown
b978c66330 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-multi-5.0


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/sql_view.cc:
  Auto merged
2005-04-03 15:30:18 +03:00
unknown
9139be5024 fix of required privileges for altering view VIEW (DELETE->DROP) (BUG#9260)
mysql-test/r/view.result:
  fix of required privileges for altering view VIEW (DELETE->DROP)
  new test of altering view
mysql-test/t/view.test:
  fix of required privileges for altering view VIEW (DELETE->DROP)
  new test of altering view
sql/sql_view.cc:
  fix of required privileges for altering view VIEW (DELETE->DROP)
2005-04-02 18:05:00 +03:00
unknown
8af8c53040 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-multi-5.0


mysql-test/r/view.result:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-01 13:02:29 +03:00
unknown
c831a156ce postmerge 4.1->5.0 fixes
mysql-test/r/group_by.result:
  result change
mysql-test/r/union.result:
  result change
mysql-test/r/view.result:
  result change
mysql-test/t/subselect.test:
  fixed mistake of merge
sql/field.cc:
  new 5.0 types support
  temporary table/db names detection in field fixed
sql/field.h:
  removed non-existent methods
  added wrongly deleted during manual merge string
sql/item.cc:
  support of new types added to merge of union types routines
sql/item.h:
  fixed method definition
sql/item_cmpfunc.cc:
  fixed type
sql/item_func.h:
  item type name fixed
sql/item_subselect.cc:
  added forgoten methods
sql/item_subselect.h:
  fixed type
sql/sql_derived.cc:
  fixed typo of manual merge
sql/sql_view.cc:
  added new parameter
2005-04-01 02:14:30 +03:00
unknown
daddf263e5 fixed mechanism of detection selection from table wich we update
(BUG##9398, BUG#8703)
fixed wrong join view detection in multi-delete which lead to server crash


mysql-test/r/lowercase_view.result:
  added new tests of updation and selection from the same table
mysql-test/r/view.result:
  added new tests of updation and selection from the same table
  added test of multidelete command over join view which lead to server crash
  test suite from bugs #9398 and #8703
mysql-test/t/lowercase_view.test:
  added new tests of updation and selection from the same table
mysql-test/t/view.test:
  added new tests of updation and selection from the same table
  added test of multidelete command over join view which lead to server crash
  test suite from bugs #9398 and #8703
sql/sql_base.cc:
  changed procedure of finding tables
sql/sql_class.cc:
  added derived table procession detection
sql/sql_class.h:
  added derived table procession detection
sql/sql_delete.cc:
  fixed detection of selection from table which update for multidelete
sql/sql_derived.cc:
  added derived table procession detection
sql/sql_lex.cc:
  added detection os SELECTs processed inside derived tables
  removed old mechanism of multidelete/multiupdate table duplication detection (which can't work with views)
sql/sql_lex.h:
  added detection os SELECTs processed inside derived tables
  removed old mechanism of multidelete/multiupdate table duplication detection (which can't work with views)
sql/sql_parse.cc:
  removed wrong test of join view (for multidelete in can be not only first table)
sql/sql_prepare.cc:
  added detection os SELECTs processed inside derived tables (reset it for reusing in PS/SP)
sql/sql_select.cc:
  added detection os SELECTs processed inside derived tables
sql/sql_update.cc:
  fixed detection of selection from table which update for multiupdate
2005-03-28 15:13:31 +03:00
unknown
a99cb51c9d Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if the row type is dynamic
(For 4.1 tables old 'VARCHAR' fields are converted to true VARCHAR in the next ALTER TABLE)

This ensures that one can use MySQL 5.0 privilege tables with MySQL 4.1


mysql-test/r/information_schema.result:
  Update results (for .frm version number change)
mysql-test/r/ndb_autodiscover.result:
  Update results (for .frm version number change)
mysql-test/r/ps_1general.result:
  Update results (for .frm version number change)
mysql-test/r/show_check.result:
  Update results (for .frm version number change)
mysql-test/r/view.result:
  Update results (for .frm version number change)
scripts/fill_func_tables.sh:
  Ensure that no privilege tables that is used in 4.1 uses VARCHAR
scripts/mysql_create_system_tables.sh:
  Ensure that no privilege tables that is used in 4.1 uses VARCHAR
scripts/mysql_fix_privilege_tables.sh:
  Fixed bug that made it impossible to run the script from the mysql source dist
scripts/mysql_fix_privilege_tables.sql:
  Ensure that no privilege tables that is used in 4.1 uses VARCHAR
sql/sql_table.cc:
  Only set create_info->varchar if we are using the new VARCHAR field
sql/table.cc:
  Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if the row type is dynamic
  (For 4.1 tables old 'VARCHAR' fields are converted to true VARCHAR in the next ALTER TABLE)
2005-03-22 15:48:06 +02:00