Commit graph

16208 commits

Author SHA1 Message Date
unknown
aca736a4db Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-new-marvel


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-05-31 14:18:12 +03:00
unknown
dd370c9a23 Merge from 5.0
mysql-test/extra/rpl_tests/rpl_insert_id.test:
  Manual merge from 5.0. In 5.0 this was in another file.
sql/field.cc:
  Removed unused variable.
2006-05-31 11:18:58 +03:00
unknown
f0146e9b68 Merge gbichot@bk-internal:/home/bk/mysql-5.1-new
into  dl145j.mysql.com:/users/gbichot/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-05-30 16:21:51 +02:00
unknown
ae26d2aa5a Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/r/heap_btree.result:
  Auto merged
mysql-test/r/information_schema_db.result:
  Auto merged
mysql-test/r/lock_multi.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/lock_multi.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
mysys/default.c:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
  Auto merged
client/mysqlbinlog.cc:
  Manual merge from 5.0
client/mysqldump.c:
  Manual merge from 5.0
configure.in:
  Manual merge from 5.0
mysql-test/r/mysqldump.result:
  Manual merge from 5.0
mysql-test/t/mysqldump.test:
  Manual merge from 5.0
mysql-test/t/rpl_insert_id.test:
  Manual merge from 5.0
server-tools/instance-manager/manager.cc:
  Manual merge from 5.0
sql/field.cc:
  Manual merge from 5.0
sql/ha_ndbcluster.cc:
  Manual merge from 5.0
sql/mysqld.cc:
  Manual merge from 5.0
sql/sql_base.cc:
  Manual merge from 5.0
sql/sql_lex.cc:
  Manual merge from 5.0
sql/sql_select.cc:
  Manual merge from 5.0
sql/sql_table.cc:
  Manual merge from 5.0
2006-05-30 16:07:49 +03:00
unknown
772758b6ec update show authors 2006-05-30 10:22:31 +02:00
unknown
128c3942a8 Bug#17204 "second CALL to procedure crashes Server"
Bug#18282 "INFORMATION_SCHEMA.TABLES provides inconsistent info about invalid views"
This bug caused crashes or resulted in wrong data being returned
when one tried to obtain information from I_S tables about views
using stored functions.

It was caused by the fact that we were using LEX representing
statement which were doing select from I_S tables as active LEX
when contents of I_S table were built. So state of this LEX both
affected and was affected by open_tables() calls which happened
during this process. This resulted in wrong behavior and in
violations of some of invariants which caused crashes.

This fix tries to solve this problem by properly saving/resetting
and restoring part of LEX which affects and is affected by the
process of opening tables and views in get_all_tables() routine.
To simplify things we separated this part of LEX in a new class
and made LEX its descendant.


mysql-test/r/information_schema_db.result:
  test case
mysql-test/t/information_schema_db.test:
  test case
sql/sql_lex.cc:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_lex.h:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_show.cc:
  Now in get_all_tables() routine we properly save/reset and
  restore part of LEX (statement table list and information
  about routines used) which affects and is affected by the
  process of opening tables and views.
sql/sql_table.cc:
  Now we clean-up LEX after opening table (view) in two stages.
  In the first stage we call LEX::cleanup_after_one_table_open()
  to clean-up selects lists and derived tables state. In the
  second stage which happens after close_thread_tables() is
  invoked we call Query_tables_list::reset_query_tables_list(FALSE)
  to rollback changes in Query_tables_list.
2006-05-30 10:45:23 +05:00
unknown
000a603fc7 update show authors 2006-05-30 03:26:58 +04:00
unknown
e7515ef7cb Merge lmy004.:/work/mysql-5.1-new-vanilla
into lmy004.:/work/mysql-5.1-runtime
2006-05-29 20:23:44 +02:00
unknown
745a579d5d Merge neptunus.(none):/home/msvensson/mysql/tmp/tmp_merge
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


mysql-test/t/information_schema.test:
  Merge
mysql-test/t/wait_timeout.test:
  Merge
sql/mysqld.cc:
  Merge
sql/slave.cc:
  Null merge
sql/sp_head.cc:
  Merge
2006-05-29 15:43:00 +02:00
unknown
f41db8b01f Merge bk-internal:/home/bk/mysql-5.1-new
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


sql/mysqld.cc:
  Auto merged
2006-05-29 15:32:52 +02:00
unknown
f32d0ec6bf Merge lmy004.:/work/mysql-5.1-new-vanilla
into lmy004.:/work/mysql-5.1-runtime


sql/event_scheduler.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-05-29 15:16:07 +02:00
unknown
4f295835de local variable interval to interval_tmp because it hides
Event_timed::interval
2006-05-29 13:12:34 +02:00
unknown
bdda011675 Fix for bug #17394 - Events namespace is wrong
mysql-test/lib/init_db.sql:
  remove definer from PK
mysql-test/r/events.result:
  update results
mysql-test/r/system_mysql_db.result:
  update results
mysql-test/t/events.test:
  remove I_S.EVENTS test and move it to events_grant.test
scripts/mysql_fix_privilege_tables.sql:
  change table definition
sql/event.cc:
  make events non-user specific (namespace change)
sql/event.h:
  make events non-user specific (namespace change)
sql/event_priv.h:
  make events non-user specific (namespace change)
sql/event_scheduler.cc:
  make events non-user specific (namespace change)
sql/event_timed.cc:
  make events non-user specific (namespace change)
sql/sql_parse.cc:
  make events non-user specific (namespace change)
sql/sql_show.cc:
  SHOW EVENTS is available to everyone who has EVENT on specific schema.
  No additional privileges are needed to see others' events.
  - user A has events in db1 and db2
  - user B has events in db1 and db3
  A will see all his events from db1 and db2 as well as B's events
  from db1 but not from db3.
  B will see her events from db1 and db3. In addition B will see
  only A's events from db1 but not db2.
2006-05-29 10:39:45 +02:00
unknown
e05d55de5f Merge vtkachenko@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  vadima.volia.com:/root/mysql-5.1-new1


sql/sql_class.cc:
  Auto merged
2006-05-27 08:08:03 +03:00
unknown
fed043a852 sql_class.cc, mysql_priv.h:
Added accessor to handler data.


sql/mysql_priv.h:
  Added accessor to handler data.
sql/sql_class.cc:
  Added accessor to handler data.
2006-05-27 08:05:39 +03:00
unknown
2234542042 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/emurphy/iggy/mysql-5.0


sql/mysqld.cc:
  Auto merged
2006-05-26 15:00:09 -04:00
unknown
60fab5af5b Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-new
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/sql_parse.cc:
  Auto merged
2006-05-26 15:08:24 +02:00
unknown
53949a266f Merge mysql.com:/data0/mysqldev/my/mysql-5.1-release
into  mysql.com:/data0/mysqldev/my/mysql-5.1-new


configure.in:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-05-26 13:17:09 +02:00
unknown
bce6a702f3 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kgeorge/mysql/5.0/clean
2006-05-26 12:13:48 +03:00
unknown
dd01932a76 Merge mysql.com:/home/kgeorge/mysql/5.0/clean
into  mysql.com:/home/kgeorge/mysql/5.0/B18681


sql/sql_acl.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/view_grant.result:
  resolved conflict
mysql-test/t/view_grant.test:
  resolved merge conflict
2006-05-26 11:57:56 +03:00
unknown
6386c5dfc0 Merge mysql.com:/home/kgeorge/mysql/5.0/clean
into  mysql.com:/home/kgeorge/mysql/5.0/B18681


sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-05-26 11:51:30 +03:00
unknown
232a7e7c9f Merge mysql.com:/home/kgeorge/mysql/5.0/clean
into  mysql.com:/home/kgeorge/mysql/5.0/B14875
2006-05-26 11:51:11 +03:00
unknown
419ae6cbf8 Bug #14875: Bad view DEFINER makes SHOW CREATE VIEW fail
When reading a view definition from a .frm file it was
throwing a SQL error if the DEFINER user is not defined.
Changed it to a warning to match the (documented) case
when a view with undefined DEFINER user is created.


mysql-test/r/view_grant.result:
  test case for the bug
mysql-test/t/view_grant.test:
  test case for the bug
sql/sql_acl.cc:
  Initialized the members to no privileges so even if
  the subsequent checks fail it will still initialize
  the security context.
sql/table.cc:
  Turned the error of undefined DEFINER user in reading 
  a view definition to a warning.
2006-05-26 11:49:39 +03:00
unknown
d7743c41c6 BUG#18681: View privileges are broken
The check for view security was lacking several points :
1. Check with the right set of permissions : for each table ref that
participates in a view there were the right credentials to use in it's
security_ctx member, but these weren't used for checking the credentials.
This makes hard enforcing the SQL SECURITY DEFINER|INVOKER property
consistently.
2. Because of the above the security checking for views was just ruled out
in explicit ways in several places.
3. The security was checked only for the columns of the tables that are
brought into the query from a view. So if there is no column reference
outside of the view definition it was not detecting the lack of access to
the tables in the view in SQL SECURITY INVOKER mode.

The fix below tries to fix the above 3 points.


mysql-test/r/grant.result:
  removed nondeterminism (unspecified order) in some test output
mysql-test/r/view_grant.result:
  Somewhat extended test case for the bug and similar queries.
mysql-test/t/grant.test:
  removed nondeterminism (unspecified order) in some test output
mysql-test/t/view_grant.test:
  Somewhat extended test case for the bug and similar queries.
sql/mysql_priv.h:
  A wrapper for setup_tables that also checks access to the tables
sql/sql_acl.cc:
  removed artificial security check stop and used the table ref's credentials.
sql/sql_base.cc:
  a wrapper for setup_tables to check access to the tables
sql/sql_delete.cc:
  wrapper called.
sql/sql_insert.cc:
  wrapper called
sql/sql_load.cc:
  wrapper called
sql/sql_parse.cc:
  wrapper called and artificial check stop removed
sql/sql_select.cc:
  wrapper called
sql/sql_update.cc:
  wrapper called
sql/table.cc:
  Mask table access to the view error as well.
2006-05-26 11:47:53 +03:00
unknown
93be6c2523 ndb - compile fix for Solaris 10 AMD64 -max GCC [ ulonglong != Uint64 ] v5.1
sql/ha_ndbcluster.cc:
  compile fix for Solaris 10 AMD64 -max GCC [ ulonglong != Uint64 ]
2006-05-25 20:00:36 +02:00
unknown
534c553271 ndb - compile fix for Solaris 10 AMD64 -max GCC [ ulonglong != Uint64 ]
sql/ha_ndbcluster.cc:
  compile fix for Solaris 10 AMD64 -max GCC
2006-05-25 18:00:55 +02:00
unknown
20334ba61e Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-new
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/share/errmsg.txt:
  Auto merged
2006-05-25 17:47:26 +02:00
unknown
2e0f0d2d5c Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/space/pekka/ndb/version/my51
2006-05-25 16:20:36 +02:00
unknown
d749d90528 Merge mysql.com:/space/pekka/ndb/version/my51
into  mysql.com:/space/pekka/ndb/version/my51-bug14509


mysql-test/r/ndb_basic.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
2006-05-25 16:20:34 +02:00
unknown
644efa51db after merge fix
mysql-test/r/strict.result:
  Auto merged
mysql-test/r/type_ranges.result:
  Auto merged
mysql-test/t/strict.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
mysql-test/r/information_schema.result:
  manual merge
mysql-test/t/information_schema.test:
  manual merge
2006-05-25 19:20:34 +05:00
unknown
52078846fc Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19304
2006-05-25 10:20:33 -04:00
unknown
772b438050 Merge mysql.com:/space/pekka/ndb/version/my50
into  mysql.com:/space/pekka/ndb/version/my50-bug14509
2006-05-25 13:14:16 +02:00
unknown
69c80350dc Merge mysql.com:/space/pekka/ndb/version/my50
into  mysql.com:/space/pekka/ndb/version/my50-bug14509


ndb/src/ndbapi/DictCache.cpp:
  Auto merged
ndb/src/ndbapi/DictCache.hpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-05-25 13:08:50 +02:00
unknown
2aa3ff8eb9 ndb - bug#14509 v5.1 part 2/2 : handler level
mysql-test/r/ndb_basic.result:
  put auto-incr range under NDB_SHARE until otherwise decided..
  makes auto-incr process-global per table.  each use requires mutex
mysql-test/t/ndb_alter_table.test:
  put auto-incr range under NDB_SHARE until otherwise decided..
  makes auto-incr process-global per table.  each use requires mutex
sql/ha_ndbcluster.cc:
  put auto-incr range under NDB_SHARE until otherwise decided..
  makes auto-incr process-global per table.  each use requires mutex
sql/ha_ndbcluster.h:
  put auto-incr range under NDB_SHARE until otherwise decided..
  makes auto-incr process-global per table.  each use requires mutex
2006-05-25 12:13:47 +02:00
unknown
779b09b71e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kgeorge/mysql/5.0/clean
2006-05-25 13:12:57 +03:00
unknown
e61eb7423f Merge mysql.com:/home/kgeorge/mysql/5.0/clean
into  mysql.com:/home/kgeorge/mysql/5.0/B19700


sql/item.h:
  Auto merged
2006-05-25 10:45:00 +03:00
unknown
a2f861f5ad Bug #19700: subselect returning BIGINT always returned it as SIGNED
The unsigned flag in Item was not propagated through the single value subqueries.
This caused the result to be treated as signed.


mysql-test/r/subselect.result:
  Added testcases for bug #19700
mysql-test/t/subselect.test:
  Added testcases for bug #19700
sql/item.h:
  Preserved the unsigned flag in Item_subselect
sql/item_subselect.cc:
  Preserved the unsigned flag in Item_subselect
2006-05-25 10:39:18 +03:00
unknown
5338b25813 sql_select.cc:
After merge fix


sql/sql_select.cc:
  After merge fix
2006-05-25 00:03:35 +04:00
unknown
6b8eccfbdc review fix 2006-05-24 15:01:03 -04:00
unknown
dcf8e0fe50 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug17455
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19304


sql/ha_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  manual merge
2006-05-24 13:56:23 -04:00
unknown
4280cdc45c Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-kt
into  big_geek.:D:/work/mysql/mysql-5.1-vc71
2006-05-24 12:46:45 -05:00
unknown
c38308dee2 some small fixups
include/config-win.h:
  force time_t to be 32 bit on Visual C++ 2005 or later
sql/net_serv.cc:
  include winsock after my_global so the time_t #define can take effect
storage/csv/ha_tina.cc:
  fix the csv engine so that it supports DOS, Unix, and Mac line endings
2006-05-24 12:43:03 -05:00
unknown
ed55bc9e6a Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19304


sql/partition_info.cc:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
sql/share/errmsg.txt:
  manual merge
2006-05-24 13:41:04 -04:00
unknown
301c7e0721 BUG#19304: Merge handler not part of partitioned tables
Review fix


sql/partition_info.cc:
  Review fix
2006-05-24 13:35:52 -04:00
unknown
5c398ce055 Manually merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
2006-05-24 20:52:57 +04:00
unknown
39736af1e6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-05-24 17:33:12 +03:00
unknown
542631732c Merge monty@192.168.0.9:/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


sql/mysqld.cc:
  Auto merged
2006-05-24 17:32:17 +03:00
unknown
8b670ee355 More DBUG statements
Replaced COND_refresh with COND_global_read_lock becasue of a bug in NTPL threads when using different mutexes as arguments to pthread_cond_wait()
The original code caused a hang in FLUSH TABLES WITH READ LOCK in some circumstances because pthread_cond_broadcast() was not delivered to other threads.
This fixes:
Bug#16986: Deadlock condition with MyISAM tables
Bug#20048: FLUSH TABLES WITH READ LOCK causes a deadlock


mysql-test/r/flush.result:
  Added test case for deadlock with FLUSH TABLES WITH READ LOCK
mysql-test/r/lock_multi.result:
  Test for bug in LOCK TABLE + optimize table
mysql-test/t/flush.test:
  Added test case for deadlock with FLUSH TABLES WITH READ LOCK
mysql-test/t/lock_multi.test:
  Test for bug in LOCK TABLE + optimize table
sql/lock.cc:
  Replaced COND_refresh with COND_global_read_lock becasue of a bug in NTPL threads when using different mutexes as arguments to pthread_cond_wait()
  The original code caused a hang in FLUSH TABLES WITH READ LOCK in some circumstances because pthread_cond_broadcast() was not delivered to other threads
sql/mysql_priv.h:
  Added COND_global_read_lock
sql/mysqld.cc:
  Added COND_global_read_lock
sql/sql_base.cc:
  More DBUG statements
  Added a broadcast in remove_table_from_cache() to release any threads waiting in open
2006-05-24 17:21:35 +03:00
unknown
2380913da8 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-new
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-05-24 14:57:44 +02:00
unknown
723eed2401 Merge mysql.com:/data0/mysqldev/my/mysql-5.0.22-release
into  mysql.com:/data0/mysqldev/my/mysql-5.1-release


extra/comp_err.c:
  Auto merged
mysql-test/r/ctype_sjis.result:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
configure.in:
  merged
2006-05-24 14:37:18 +02:00