Commit graph

15090 commits

Author SHA1 Message Date
unknown
afbb5d8fac WL#1972 "Evaluate HAVING before SELECT select-list"
- post-review fix regarding Item_fields
- added test for the changed name resolution


mysql-test/r/having.result:
  Test for changed name resolution of Item_fields
mysql-test/t/having.test:
  Test for changed name resolution of Item_fields
sql/item.cc:
  - Changed Item_field::fix_fields to perform the same name
    resolution as Item_ref::fix_fields because column references
    of subqueries inside HAVING may be represented as Item_fields,
    and they need to be resolved as Item_refs.
  - Adjusted Item_field::fix_fields so that it has the same variable
    names and structure as Item_ref::fix_fields.
2004-11-09 17:56:33 +02:00
unknown
47a96b3195 WL#1972 "Evaluate HAVING before SELECT"
- more tests, post-review changes, bug-fixes, simplifications, and improved comments


mysql-test/r/having.result:
  - added tests for subqueries with HAVING
  - added tests for few other discovered bugs
  - renamed tables to the more standard t1,t2,..
mysql-test/t/having.test:
  - added tests for subqueries with HAVING
  - added tests for few other discovered bugs
  - renamed tables to the more standard t1,t2,..
sql/item.cc:
  - Extended the name resolution to support nested HAVING clauses in nested sub-queries
  - Factored out the code that resolves a column ref against a single query
  - Fixed several logical bugs
  - Removed unused variables
  - More/better comments
sql/sql_base.cc:
  Corrected function spec.
2004-11-05 15:48:44 +02:00
unknown
c7bfc95936 fixed spelling 2004-11-02 20:11:00 +02:00
unknown
048d731a31 WL#1972 "Evaluate HAVING before SELECT select-list"
- Changed name resolution for GROUP BY so that derived columns do not shadow table columns
  from the FROM clause. As a result GROUP BY now is handled as a true ANSI extentsion.
- Issue a warning when HAVING is resolved into ambiguous columns, and prefer the columns from
  the GROUP BY clause over SELECT columns.


mysql-test/r/having.result:
  Correct result for updated GROUP BY name resolution.
sql/item.cc:
  - prefer GROUP columns, but if none is found use SELECT list
  - issue a waring when a field may be resolved ambiguously
  - more/fixed comments
sql/mysql_priv.h:
  More flexible find_field_in_tables().
sql/sp.cc:
  More flexible find_field_in_tables().
sql/sql_base.cc:
  More flexible find_field_in_tables().
sql/sql_help.cc:
  More flexible find_field_in_tables().
sql/sql_select.cc:
  - name resolution of GROUP/ORDER BY column references is differentiated:
    - GROUP BY is resolved in SELECT and FROM clauses
    - ORDER BY is resolved only in SELECT (as before)
  - more informative variable names
  - more comments
2004-11-02 18:23:15 +02:00
unknown
637c08d7cc Implementation of WL#1972 "Evaluate HAVING before SELECT select-list"
mysql-test/r/having.result:
  Added test of WL#1972
mysql-test/t/having.test:
  Added test of WL#1972
sql/item.cc:
  Name resolution for the HAVING clause searches non-aggregated GROUP BY columns.
2004-10-28 17:31:26 +03:00
unknown
4c06b4aed7 Fixed BUG#6029: Stored procedure specific handlers should have priority.
mysql-test/r/sp.result:
  New test case for BUG#6022.
mysql-test/t/sp.test:
  New test case for BUG#6022.
sql/sp_rcontext.cc:
  Find the most specific condition handler, not just the first one.
  (And corrected the return type for find_handler)
sql/sp_rcontext.h:
  Corrected return type for find_handler.
2004-10-23 14:23:32 +02:00
unknown
d925bcd8d6 Fixed BUG#6022: Stored procedure shutdown problem with self-calling function.
Fixed the pre-caching of functions. It now gives the expected stack overrun
  error for functions recursing too deep.


mysql-test/r/sp.result:
  New test case for BUG#6022.
mysql-test/t/sp.test:
  New test case for BUG#6022.
sql/sp.cc:
  Cache function first, then recurse, or the pre-caching loops infinitely
  for recursive functions.
2004-10-23 13:30:05 +02:00
unknown
d73b379cd1 Updated view test result (after a warning's been removed).
mysql-test/r/view.result:
  Updated test result (after a warning's been removed).
2004-10-22 20:55:52 +02:00
unknown
a50cd5c53d Fixed BUG#6030: Stored procedure has no appropriate DROP privilege.
...and no ALTER privilege either.
  For now, only the definer and root can drop or alter an SP.


include/mysqld_error.h:
  New access denied error code when dropping/altering stored procedures.
include/sql_state.h:
  New access denied error code when dropping/altering stored procedures.
mysql-test/r/sp-error.result:
  Removed warning for "unitialized variable", as this popped up in unexpected
  places after the access control for drop/alter SPs was added. (And the warning
  was wrong and planned to be removed anyway.)
mysql-test/r/sp-security.result:
  Added tests for access control on who's allowed to drop and alter SPs.
mysql-test/r/sp.result:
  Updated results. (Warning removed.)
mysql-test/t/sp-error.test:
  Removed warning for "unitialized variable", as this popped up in unexpected
  places after the access control for drop/alter SPs was added. (And the warning
  was wrong and planned to be removed anyway.)
mysql-test/t/sp-security.test:
  Added tests for access control on who's allowed to drop and alter SPs.
sql/share/czech/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/danish/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/dutch/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/english/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/estonian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/french/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/german/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/greek/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/hungarian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/italian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/japanese/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/korean/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/norwegian-ny/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/norwegian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/polish/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/portuguese/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/romanian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/russian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/serbian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/slovak/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/spanish/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/swedish/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/share/ukrainian/errmsg.txt:
  New access denied error message when dropping/altering stored procedures.
sql/sql_parse.cc:
  Added minimal access control for DROP/ALTER PROCEDURE/FUNCTION. Only the definer
  and root are allowed to do this.
sql/sql_yacc.yy:
  Removed warning for "unitialized variable", as this popped up in unexpected
  places after the access control for drop/alter SPs was added. (And the warning
  was wrong and planned to be removed anyway.)
2004-10-22 20:29:06 +02:00
unknown
35588c9dd0 Fixed BUG#6027: Stored procedures can be renamed.
Removed the support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.


mysql-test/r/sp-error.result:
  Removed test for renaming procedures with alter.
mysql-test/r/sp.result:
  Removed test for renaming procedures with alter.
mysql-test/t/sp-error.test:
  Removed test for renaming procedures with alter.
mysql-test/t/sp.test:
  Removed test for renaming procedures with alter.
sql/sp.cc:
  Removed support for renaming SPs. It's non-standard, conflicted with a standard
  syntax, and was a bit broken anyway.
sql/sp.h:
  Removed support for renaming SPs. It's non-standard, conflicted with a standard
  syntax, and was a bit broken anyway.
sql/sql_parse.cc:
  Removed support for renaming SPs. It's non-standard, conflicted with a standard
  syntax, and was a bit broken anyway.
sql/sql_yacc.yy:
  Removed support for renaming SPs. It's non-standard, conflicted with a standard
  syntax, and was a bit broken anyway.
2004-10-22 19:05:17 +02:00
unknown
b24dd93366 handler.cc:
Typos in comments.


sql/handler.cc:
  Typos in comments.
2004-10-22 09:19:08 -05:00
unknown
746e6e53e7 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into gw.mysql.r18.ru:/usr/home/ram/work/5.0
2004-10-22 12:48:37 +05:00
unknown
e5c610d6d2 A fix (bug #5999 Typo in code, wrong config variable naming).
mysql-test/r/rpl_auto_increment.result:
  A fix (bug #5999 Typo in code, wrong config variable naming).
  Typo fixed.
sql/set_var.cc:
  A fix (bug #5999 Typo in code, wrong config variable naming).
  Typo fixed.
2004-10-22 12:47:32 +05:00
unknown
58aa05e23e Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-view-5.0


sql/item_strfunc.h:
  Auto merged
sql/table.h:
  Auto merged
2004-10-22 09:53:08 +03:00
unknown
485141ce7a Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2004-10-21 14:47:40 -07:00
unknown
a3212379de ps.result:
Post-merge fixes.
sql_select.cc:
  Post-merge cleanup.


sql/sql_select.cc:
  Post-merge cleanup.
mysql-test/r/ps.result:
  Post-merge fixes.
2004-10-21 14:46:40 -07:00
unknown
4d204f4303 added support of view and CHECK OPTION of view to LOAD DATA (BUG#5996)
mysql-test/r/view.result:
  LOAD DATA with view and CHECK OPTION
mysql-test/t/view.test:
  LOAD DATA with view and CHECK OPTION
sql/log_event.cc:
  new parameter for load data
sql/mysql_priv.h:
  new parameter for load data
sql/sql_lex.cc:
  LOAD DATA supported by view
sql/sql_load.cc:
  added support of view and CHECK OPTION of view to LOAD DATA
sql/sql_parse.cc:
  new parameter for CHECK OPTION
2004-10-21 21:53:27 +03:00
unknown
149fda59dd new behaviour of CHECK option build, for mor efficience and more correct:
check option build only according most top VIEW  CHECK OPTION TYPE  (BUG#5993)


mysql-test/r/view.result:
  CASCADED should be used for all underlaying VIEWs
mysql-test/t/view.test:
  CASCADED should be used for all underlaying VIEWs
sql/sql_base.cc:
  new behaviour of CHECK option build, for mor efficience and more correct.
sql/table.cc:
  new behaviour of CHECK option build, for mor efficience and more correct.
sql/table.h:
  new behaviour of CHECK option build, for mor efficience and more correct.
2004-10-21 18:10:59 +03:00
unknown
d604eb9932 ha_innodb.cc:
Remove compiler warning 'skip_auto_inc_decr' : unreferenced local variable in Visual C++; of course, I still have to check Monty's auto-inc patch in whole


sql/ha_innodb.cc:
  Remove compiler warning 'skip_auto_inc_decr' : unreferenced local variable in Visual C++; of course, I still have to check Monty's auto-inc patch in whole
2004-10-21 18:01:13 +03:00
unknown
0ea0422907 value should be checked after 'before' trigger work (BUG#5992)
mysql-test/r/view.result:
  changing value by trigger and CHECK OPTION
mysql-test/t/view.test:
  changing value by trigger and CHECK OPTION
sql/sql_insert.cc:
  value should be checked after 'before' trigger work
2004-10-21 17:05:45 +03:00
unknown
2aad30394d inserting single value with check option failed always get error (part of BUG#5995)
mysql-test/r/view.result:
  inserting single value with check option failed always get error
mysql-test/t/view.test:
  inserting single value with check option failed always get error
sql/sql_insert.cc:
  inserting single value with check option failed always get error
2004-10-21 14:32:10 +03:00
unknown
e9c3bc7616 fixed default behaviour of WITH CHECK OPTIONS according to standard (BUG#5989)
mysql-test/r/view.result:
  fixed default behaviour of WITH CHECK OPTIONS according to standard
sql/sql_yacc.yy:
  fixed default behaviour of WITH CHECK OPTIONS according to standard
2004-10-21 13:39:17 +03:00
unknown
adc1bff4f8 Allow inheriting check options if view have not WHERE clause (BUG#5988)
mysql-test/r/view.result:
  test of cascaded check option for whiew without WHERE clause
mysql-test/t/view.test:
  test of cascaded check option for whiew without WHERE clause
sql/table.cc:
  Allow inheriting check options if view have not WHERE clause
2004-10-21 13:30:25 +03:00
unknown
0b01d95d21 fixed printing of substring_index (BUG#5911)
mysql-test/r/func_str.result:
  fixed printing of substring_index
mysql-test/r/view.result:
  test of substring_index with view
mysql-test/t/view.test:
  test of substring_index with view
sql/item_strfunc.h:
  fixed printing of substring_index
2004-10-21 13:11:15 +03:00
unknown
e367451086 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/func_test.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
2004-10-20 15:44:31 -07:00
unknown
b0cfdb95c5 func_test.result, item_cmpfunc.cc:
Fixed bug #6187: a wrong initial setting for const_item_cache
  in Item_cond::fix_fields.


sql/item_cmpfunc.cc:
  Fixed bug #6187: a wrong initial setting for const_item_cache
  in Item_cond::fix_fields.
mysql-test/r/func_test.result:
  Fixed bug #6187: a wrong initial setting for const_item_cache
  in Item_cond::fix_fields.
2004-10-20 14:52:30 -07:00
unknown
4e844b19c9 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/t/range.test:
  Auto merged
sql/opt_range.cc:
  Auto merged
2004-10-20 13:17:06 -07:00
unknown
89865a0c27 opt_range.cc:
Post automerge correction.


sql/opt_range.cc:
  Post automerge correction.
2004-10-20 13:16:00 -07:00
unknown
7b413078cc code clean-up. 2004-10-20 21:50:55 +05:00
unknown
53eb9871ad A fix (bug #6142: SELECT DISTINCT on key field crashes server)
sql/opt_range.cc:
  A fix (bug #6142: SELECT DISTINCT on key field crashes server)
  Code clean-up.
2004-10-20 21:01:52 +05:00
unknown
00bbd9a252 decimal_cmp() 2004-10-20 15:26:03 +02:00
unknown
6853eb45c8 make linux to behave (like freebsd does :) 2004-10-20 14:13:07 +02:00
unknown
22f0e4d9aa the test moved from range.test to innodb.test - it should not be run when innodb is disabled 2004-10-20 12:56:49 +02:00
unknown
a3e71bdbf5 Merge for post-merge fixes for Item_equal patch.
BitKeeper/etc/ignore:
  auto-union
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/range.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/item.h:
  Manual merge
sql/sql_select.cc:
  Manual merge
2004-10-19 16:07:10 -07:00
unknown
05933f13f7 table.h, sql_select.h:
Added the code processing on expressions for applying
  multiple equalities.
sql_select.cc:
  Post-merge fixes for Item_equal patch.
  Added the code processing on expressions for applying
  multiple equalities.
Many files:
  Post-merge fixes for Item_equal patch.
item_cmpfunc.cc:
  Post-merge fixes for Item_equal patch.
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
item.h, item.cc:
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.


mysql-test/r/func_test.result:
  Post-merge fixes for Item_equal patch.
mysql-test/r/index_merge.result:
  Post-merge fixes for Item_equal patch.
mysql-test/r/join_nested.result:
  Post-merge fixes for Item_equal patch.
mysql-test/r/range.result:
  Post-merge fixes for Item_equal patch.
sql/item.cc:
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
sql/item.h:
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
sql/item_cmpfunc.cc:
  Post-merge fixes for Item_equal patch.
  Fixed a problem when an equality field=const cannot be applied to
  the predicate P(field,c) for constant propagation as a conversion
  of field is needed.
sql/opt_range.cc:
  Post-merge fixes for Item_equal patch.
sql/sql_select.cc:
  Post-merge fixes for Item_equal patch.
  Added the code processing on expressions for applying
  multiple equalities.
sql/sql_select.h:
  Added the code processing on expressions for applying
  multiple equalities.
sql/table.h:
  Added the code processing on expressions for applying
  multiple equalities.
2004-10-19 14:12:55 -07:00
unknown
24b608b230 decimal to/from bin, and utility functions
strings/Makefile.am:
  cleanup
2004-10-19 14:38:54 +02:00
unknown
bd5bafe1b6 compatibility fix
test results corrected


mysql-test/r/range.result:
  test results corrected
mysql-test/t/range.test:
  test results corrected
sql/opt_range.cc:
  compatibility fix
2004-10-18 15:32:06 +02:00
unknown
a6f6135943 Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


BitKeeper/etc/ignore:
  auto-union
2004-10-18 14:09:41 +02:00
unknown
decc71e636 arbitrary precision decimal numbers
strings/llstr.c:
  small optimization
BitKeeper/etc/ignore:
  Added strings/test_decimal to the ignore list
2004-10-18 14:06:46 +02:00
unknown
cb8f0d59c6 texi2html:
Change parsing of @image argument.


Docs/Support/texi2html:
  Change parsing of @image argument.
2004-10-15 23:22:11 -05:00
unknown
a750003f57 Implemented the stored procedure data access characteristics:
NO SQL
CONTAINS SQL (default)
READS SQL DATA
MODIFIES SQL DATA

These are needed as hints for the replication.
(Before this, we did have the default in the mysql.proc table, but no support in the parser.)


mysql-test/r/sp.result:
  Modified test cases for new data access characteristics.
mysql-test/t/sp.test:
  Modified test cases for new data access characteristics.
scripts/mysql_create_system_tables.sh:
  We now support all the SP data access characteristics (not just CONTAINS SQL).
scripts/mysql_fix_privilege_tables.sql:
  We now support all the SP data access characteristics (not just CONTAINS SQL).
sql/lex.h:
  New tokens for SP data access characteristics.
sql/sp.cc:
  Store, print and support alter of data access characteristics.
sql/sp_head.cc:
  Added SP_ prefix to some symbols.
sql/sql_lex.h:
  Added SP_ prefix to some symbols, and added SP data access enum.
sql/sql_yacc.yy:
  Parse SP data access characteristics.
  (And allow "alter ... language sql", mostly as a formality, it was accidently
   put in the wrong clause before.)
2004-10-14 18:07:09 +02:00
unknown
b57122b39e Fixed compilation problem due to WL#1724 code inside #ifndef DBUG_OFF ... #endif.
sql/opt_range.cc:
  - Pulled code related to WL#1724 outside of #ifndef DBUG_OFF ... #endif which was put there incorrectly
  - Moved all print procedures/method back into one place.
2004-10-13 16:36:04 +03:00
unknown
2e7dd5d90f Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-1724
2004-10-12 17:00:06 +03:00
unknown
642bded08a Renamed formal parameters of constructors so that they are different from class memebers. 2004-10-12 16:59:15 +03:00
unknown
d531f2df62 Fix for the previous commit. I've added includes to the wrong file :(
server-tools/instance-manager/manager.cc:
  Unnecessary incudes removed
server-tools/instance-manager/mysqlmanager.cc:
  Added missing includes
2004-10-12 16:35:15 +04:00
unknown
be9d13821f Portability fix (FreeBSD)
server-tools/instance-manager/manager.cc:
  missing includes added
2004-10-12 16:28:34 +04:00
unknown
21b19bd408 fixed typo caused autobuild failure with "make dist"
server-tools/instance-manager/Makefile.am:
  fixed typo
2004-10-12 14:53:32 +04:00
unknown
15ccd96103 column name changd 2004-10-12 00:45:52 +03:00
unknown
662b24f81e After merge adjustment of tests due to changes in cost estimates.
BitKeeper/etc/ignore:
  Added server-tools/instance-manager/mysqlmanager to the ignore list
2004-10-11 20:10:07 +03:00
unknown
81f7ade662 Merge with implementation of WL#1724.
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/key.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/opt_range.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
2004-10-11 10:47:08 +03:00