- 11 Oct, 2005 1 commit
-
-
unknown authored
mysql-test/r/federated.result: test results for SHOW CREATE TABLE mysql-test/t/federated.test: added test for SHOW CREATE TABLE sql/sql_show.cc: added connect_string for SHOW CREATE TABLE
-
- 03 Oct, 2005 1 commit
-
-
unknown authored
Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. sql/examples/ha_archive.cc: Modifications for new ha_init code. The init method now checks for errors and will not start up if the errors occur. sql/examples/ha_archive.h: Change for new init method. sql/examples/ha_example.cc: New handlerton pieces. sql/examples/ha_tina.cc: New handlerton pieces. sql/ha_berkeley.cc: New handlerton pieces, plus changes for ha_init changes. I'm not happy with our current "skip" setup. sql/ha_berkeley.h: Change in init return. sql/ha_blackhole.cc: Changes for new handlerton pieces. sql/ha_federated.cc: Changes for new handlerton and true cleanup code. sql/ha_heap.cc: Changes for new handlerton returns. sql/ha_innodb.cc: Changes for handlerton code. sql/ha_innodb.h: Change in init. sql/ha_myisam.cc: Changes for additional handlerton bits. sql/ha_myisammrg.cc: Changes for new handlerton bits. sql/ha_ndbcluster.cc: Changes for new handlerton bits. sql/ha_ndbcluster.h: Changes for handlerton bits. sql/handler.cc: Changes for ditching show_table_type_st types, and collapsing it into a handlerton array. The ha_init now just loops through all handlers to init (much cleaner...). handlertons and sys_table_types should be merged next. sql/handler.h: Additions for sys_table_types sql/log.cc: Clean up of binlog for changes in handlerton sql/mysql_priv.h: Removed unneeded define for binlog_init sql/sql_show.cc: Changes for change in handlerton to sys_table_types
-
- 29 Sep, 2005 1 commit
-
-
unknown authored
"CHARACTER SET", "COLLATE", and "DEFAULT" are always printed(excepting MODE_MYSQL323 and MODE_MYSQL40) "AUTO_INCREMENT", "ON UPDATE CURRENT_TIMESTAMP" are printed only if NO_FIELD_OPTIONS is not set. mysql-test/r/sql_mode.result: Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment test case mysql-test/t/sql_mode.test: Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment test case
-
- 22 Sep, 2005 1 commit
-
-
unknown authored
problems which were introduced during work on WL#2787 "Add view definer/owner to the view definition (.frm) to check privileges on used tables and stored routines when using a VIEW." In some cases it is better to use value from Security_context::host_or_ip instead of value from Security_context::host since the latter can be NULL in certain situations (When we can't resolve hostname or we have not done this yet). mysql-test/r/skip_name_resolve.result: Added test for bug #13407 "Remote connecting crashes server". mysql-test/t/skip_name_resolve.test: Added test for bug #13407 "Remote connecting crashes server". sql/item_strfunc.cc: Item_func_user::val_str(): It is better to use value from Security_context::host_or_ip instead of value from Security_context::host in the result of USER() function since the latter can be NULL in certain situations (When we can't resolve hostname or we have not done this yet. Reverted back to old code). sql/mysqld.cc: handle_connections_shared_memory(): THD::host member has moved to the Security_context class. New THD::security_ctx member points to active security context. sql/sql_show.cc: mysqld_list_processes(): It is better to use value from Security_context::host_or_ip instead of value from Security_context::host in the processlist since the latter can be NULL in certain situations (When we can't resolve hostname or we have not done this yet. Reverted back to old code).
-
- 20 Sep, 2005 1 commit
-
-
unknown authored
WL#2787 (Add view definer/owner to the view definition (.frm) to check privileges on used tables and stored routines when using a VIEW.) Part 2 postreview fixes. sql/ha_innodb.cc: Renamed structure st_security_context to class Security_context sql/item_func.cc: Renamed structure st_security_context to class Security_context sql/item_strfunc.cc: fixed USER() function sql/log.cc: variable used to optimize access to security context sql/mysql_priv.h: Renamed structure st_security_context to class Security_context sql/mysqld.cc: main security context used direcly sql/sp_head.cc: Renamed structure st_security_context to class Security_context removed unneed variable sql/sp_head.h: Comment inmroved Renamed structure st_security_context to class Security_context sql/sql_acl.cc: Renamed structure st_security_context to class Security_context fixed function comment and return value variable used to optimize access to security context Renamed method of Security_ontext sql/sql_acl.h: fixed return value type sql/sql_class.cc: Renamed structure st_security_context to class Security_context sql/sql_class.h: Renamed structure st_security_context to class Security_context Method renamed sql/sql_db.cc: Renamed structure st_security_context to class Security_context fixed layout sql/sql_parse.cc: registration of wanted access for underlying tables sql/sql_show.cc: Renamed structure st_security_context to class Security_context fixed layout sql/sql_yacc.yy: Renamed structure st_security_context to class Security_context
-
- 16 Sep, 2005 1 commit
-
-
unknown authored
sql/sql_show.cc: fixed typo fixed length detection
-
- 15 Sep, 2005 2 commits
-
-
unknown authored
libmysqld/lib_sql.cc: changed securety context switching mysql-test/r/rpl_sp.result: now it show real information from changed security context of SP (checked) sql/ha_innodb.cc: changed securety context switching sql/item.cc: changed securety context switching sql/item_func.cc: changed securety context switching sql/item_strfunc.cc: changed securety context switching sql/log.cc: changed securety context switching sql/mysql_priv.h: changed securety context switching sql/mysqld.cc: changed securety context switching sql/repl_failsafe.cc: changed securety context switching sql/set_var.cc: changed securety context switching sql/slave.cc: changed securety context switching sql/sp.cc: changed securety context switching sql/sp_head.cc: changed securety context switching in case of inability to switch context we return error now sql/sp_head.h: changed securety context switching sql/sql_acl.cc: changed securety context switching sql/sql_acl.h: changed securety context switching sql/sql_base.cc: changed securety context switching sql/sql_class.cc: changed securety context switching sql/sql_class.h: changed securety context switching sql/sql_db.cc: changed securety context switching sql/sql_insert.cc: changed securety context switching sql/sql_parse.cc: changed securety context switching sql/sql_show.cc: changed securety context switching sql/sql_trigger.cc: changed securety context switching sql/sql_view.cc: changed securety context switching sql/sql_yacc.yy: changed securety context switching
-
unknown authored
mysql-test/r/information_schema.result: new fields in I_S sql/sql_show.cc: added niew firlds to view information schema
-
- 14 Sep, 2005 2 commits
-
-
unknown authored
After merge fix. include/keycache.h: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Status variables moved into KEY_CACHE in 4.1. Enlarging them there. include/my_sys.h: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Status variables moved into KEY_CACHE in 4.1. Removed unused global variables. myisam/mi_test2.c: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Status variables moved into KEY_CACHE in 4.1. Changed to print default key cache status. mysys/mf_keycache.c: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Status variables moved into KEY_CACHE in 4.1. Changed their debug printout. sql/mysqld.cc: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Changed to print full value. sql/sql_show.cc: Bug#12920 - key_read_requests counter appears to re-set After merge fix. Added a branc...
-
unknown authored
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
-
- 13 Sep, 2005 3 commits
-
-
unknown authored
Added flag to Field::store(longlong) to specify if value is unsigned. This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0) Fixed warning from valgrind in CREATE ... SELECT Fixed double free of mysql.options if reconnect failed mysql-test/mysql-test-run.sh: Added option --valgrind-mysqltest to allow one to run mysqltest with valgrind mysql-test/r/bigint.result: Update results after fix for Field::store(longlong) mysql-test/r/range.result: Update results after fix for Field::store(longlong) mysql-test/r/strict.result: Update results after fix for Field::store(longlong) (This fixes some wrong results when storing things into bigint columns) mysql-test/r/type_ranges.result: Update results after fix for Field::store(longlong) mysql-test/t/bigint.test: Added testing for #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0) mysql-test/t/innodb.test: Removed comments affected by this bug fix mysql-test/t...
-
unknown authored
Information_schema DB Bug#9846 Inappropriate error displayed while dropping table from 'INFORMATION_SCHEMA' Bug#10734 Grant of privileges other than 'select' and 'create view' should fail on schema Bug#10708 SP's can use INFORMATION_SCHEMA as ROUTINE_SCHEMA cumulative fix for bugs above(after review, 2nd version) added privilege check for information schema db & tables
-
unknown authored
- 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
-
- 09 Sep, 2005 1 commit
-
-
unknown authored
This fix is cancellation of ChangeSet 1.2329 05/07/12 08:35:30 reggie@linux.site +8 -0 Bug 7142 Show Fields from fails using Borland's dbExpress interface The reason is we can't fix bug#7142 without breaking of existing applications/APIs that worked fine with earlier 4.1 bug 7142 is fixed in 5.0 mysql-test/r/ps_1general.result: Bug #12817 SHOW STATUS now blob fields mysql-test/r/ps_2myisam.result: Bug #12817 SHOW STATUS now blob fields mysql-test/r/ps_3innodb.result: Bug #12817 SHOW STATUS now blob fields mysql-test/r/ps_4heap.result: Bug #12817 SHOW STATUS now blob fields mysql-test/r/ps_5merge.result: Bug #12817 SHOW STATUS now blob fields sql/item.cc: Bug #12817 SHOW STATUS now blob fields sql/sql_show.cc: Bug #12817 SHOW STATUS now blob fields tests/mysql_client_test.c: Bug #12817 SHOW STATUS now blob fields
-
- 07 Sep, 2005 1 commit
-
-
unknown authored
use saved view db name in case of view
-
- 02 Sep, 2005 1 commit
-
-
unknown authored
- current_arena to stmt_arena: the thread may have more than one 'current' arenas: one for runtime data, and one for the parsed tree of a statement. Only one of them is active at any moment. - set_item_arena -> set_query_arena, because Item_arena was renamed to Query_arena a while ago - set_n_backup_item_arena -> set_n_backup_active_arena; the active arena is the arena thd->mem_root and thd->free_list are currently pointing at. - restore_backup_item_arena -> restore_active_arena (with the same rationale) - change_arena_if_needed -> activate_stmt_arena_if_needed; this method sets thd->stmt_arena active if it's not done yet. sql/item.cc: Rename. sql/item_cmpfunc.cc: Rename. sql/item_func.cc: Rename. sql/item_subselect.cc: Rename. sql/item_subselect.h: Remove an unused forward declaration. sql/item_sum.h: Remove an unused forward declaration. sql/mysql_priv.h: Remove an unused forward declaration. sql/sp.cc: Rename. sql/sp_head.cc: Rename. sql/sql_base.cc: Rename. sql/sql_class.cc: Rename. sql/sql_class.h: Rename. sql/sql_lex.cc: Rename. sql/sql_parse.cc: Rename. sql/sql_prepare.cc: Rename. sql/sql_select.cc: Rename. sql/sql_show.cc: Rename. sql/sql_union.cc: Rename. sql/sql_view.cc: Rename. sql/table.cc: Rename.
-
- 01 Sep, 2005 1 commit
-
-
unknown authored
- Added testcase for this bug - Check if compact view format can be used - Clean up mysqld_show_create mysql-test/r/mysqldump.result: Updated test result mysql-test/t/mysqldump.test: Added testcase sql/item.cc: Check if compact format can be used sql/sql_select.cc: Check if compact format can be used sql/sql_show.cc: Cleanup of mysqld_show_create -remove extra invocation of view_store_create_info -Remove unused vars -Remove unused codes Check if compact show view format can be used - if user has db of this view as current db - if this view only references table inside it's own db sql/table.h: Add variable for compact_view_format indicator
-
- 25 Aug, 2005 1 commit
-
-
unknown authored
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
-
- 24 Aug, 2005 1 commit
-
-
unknown authored
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
-
- 23 Aug, 2005 1 commit
-
-
unknown authored
Database name was set incorrectly for any show command that used sunqueries in its where condition. information_schema.test, information_schema.result: Added a test case for bug #12636. mysql-test/r/information_schema.result: Added a test case for bug #12636. mysql-test/t/information_schema.test: Added a test case for bug #12636. sql/sql_show.cc: Database name was set incorrectly for any show command that used sunqueries in its where condition.
-
- 20 Aug, 2005 2 commits
-
-
unknown authored
-
unknown authored
Fixed new bug when running a SP without a default database mysql-test/r/information_schema.result: Added test to cover changes made in default handling mysql-test/r/sp-security.result: Added test when executing SP without a default database mysql-test/t/information_schema.test: Added test to cover changes made in default handling mysql-test/t/sp-security.test: Added test when executing SP without a default database sql/item_strfunc.cc: Removed wrong push sql/mysqld.cc: Indentation fix sql/sql_base.cc: Use share->db instead of share->table_cache_key Remove assert that can never fail (because of test in previous row) sql/sql_db.cc: Allow empty database name when called from SP (To allow on run without a default database) sql/sql_parse.cc: Added comment sql/sql_show.cc: Indentation fixes Simplified code by checking for 'wrong' condition first and doing continue instead of going down one level Simplified precision and decimal handling
-
- 17 Aug, 2005 1 commit
-
-
unknown authored
mysql-test/r/show_check.result: results for test for bug #12591 mysql-test/t/show_check.test: test for bug #12591 sql/sql_show.cc: don't let my_dir() emit a message bug catch the errno (my_errno - a thread specific variable) and check it for ENOENT - not existing. For other errors emulate the message used to be emitted by my_dir()
-
- 16 Aug, 2005 2 commits
-
-
unknown authored
Added a comment line for a test case used for bug #12301. information_schema.result: Fixed some test cases results (bug #12301). sql_show.cc: Fixed bug #12301. The bug was due to a missing value setting for the NUMERIC_SCALE column in the get_schema_column_record() function (sql_show.cc). sql/sql_show.cc: Fixed bug #12301. The bug was due to a missing value setting for the NUMERIC_SCALE column in the get_schema_column_record() function (sql_show.cc). mysql-test/r/information_schema.result: Fixed some test cases results (bug #12301). mysql-test/t/information_schema.test: Added a comment line for a test case used for bug #12301.
-
unknown authored
(after review commit) mysql-test/r/show_check.result: test the extended functionality (so far not documented) of SHOW OPEN FILES mysql-test/t/show_check.test: test the extended functionality (so far not documented) of SHOW OPEN FILES sql/mysql_priv.h: pass the name of the database for checking sql/sql_base.cc: first check against the db if present (SHOW OPEN FILES FROM xxx) then do wild compare but only against the table name sql/sql_show.cc: pass the DB if specified
-
- 15 Aug, 2005 1 commit
-
-
unknown authored
"COLUMN_DEFAULT has wrong value if NOT NULL is set" Show NULL instead of empty string when no default value is set mysql-test/r/information_schema.result: test for bug 12518 mysql-test/t/information_schema.test: test for bug 12518 sql/sql_show.cc: report NULL for information schema result when there is no default value
-
- 12 Aug, 2005 2 commits
-
-
unknown authored
"Process NATURAL and USING joins according to SQL:2003". * Some of the main problems fixed by the patch: - in "select *" queries the * expanded correctly according to ANSI for arbitrary natural/using joins - natural/using joins are correctly transformed into JOIN ... ON for any number/nesting of the joins. - column references are correctly resolved against natural joins of any nesting and combined with arbitrary other joins. * This patch also contains a fix for name resolution of items inside the ON condition of JOIN ... ON - in this case items must be resolved only against the JOIN operands. To support such 'local' name resolution, the patch introduces a stack of name resolution contexts used at parse time. NOTICE: - This patch is not complete in the sense that - there are 2 test cases that still do not pass - one in join.test, one in select.test. Both are marked with a comment "TODO: WL#2486". - it does not include a new test specific for the task mysql-test/include/ps_query.inc: Adjusted according to standard NATURAL/USING join semantics., mysql-test/r/bdb.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/derived.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/errors.result: The column as a whole cannot be resolved, so different error message. mysql-test/r/fulltext.result: Adjusted according to standard JOIN ... ON semantics => the ON condition can refer only to the join operands. mysql-test/r/fulltext_order_by.result: More detailed error message. mysql-test/r/innodb.result: Adjusted according to standard NATURAL/USING join semantics. This test doesn't pass completetly yet! mysql-test/r/insert_select.result: More detailed error message. mysql-test/r/join.result: Adjusted according to standard NATURAL/USING join semantics. NOTICE: there is one test case that still fails, and it is commeted out and marked with WL#2486 in the test file. mysql-test/r/join_crash.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/join_nested.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/join_outer.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/multi_update.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/null_key.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/order_by.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_2myisam.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_3innodb.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_4heap.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_5merge.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_6bdb.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/ps_7ndb.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/select.result: Adjusted according to standard NATURAL/USING join semantics. NOTICE: there is one failing test case which is commented with WL#2486 in the test file. mysql-test/r/subselect.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/type_ranges.result: Adjusted according to standard NATURAL/USING join semantics. mysql-test/r/union.result: More detailed error message. mysql-test/t/bdb.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/errors.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/fulltext.test: Adjusted according to standard JOIN ... ON semantics => the ON condition can refer only to the join operands. mysql-test/t/fulltext_order_by.test: More detailed error message. mysql-test/t/innodb.test: Adjusted according to standard NATURAL/USING join semantics. This test doesn't pass completetly yet! mysql-test/t/insert_select.test: More detailed error message. mysql-test/t/join.test: Adjusted according to standard NATURAL/USING join semantics. NOTICE: there is one test case that still fails, and it is commeted out and marked with WL#2486 in the test file. mysql-test/t/join_crash.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/join_nested.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/join_outer.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/null_key.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/order_by.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/select.test: Adjusted according to standard NATURAL/USING join semantics. NOTICE: there is one test case that still fails, and it is commeted out and marked with WL#2486 in the test file. mysql-test/t/subselect.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/type_ranges.test: Adjusted according to standard NATURAL/USING join semantics. mysql-test/t/union.test: More detailed error message. sql/item.cc: - extra parameter to find_field_in_tables - find_field_in_real_table renamed to find_field_in_table - fixed comments/typos sql/item.h: - added [first | last]_name_resolution_table to class Name_resolution_context - commented old code - standardized formatting sql/mysql_priv.h: - refactored the find_field_in_XXX procedures, - added a new procedure for natural join table references, - renamed the find_field_in_XXX procedures to clearer names sql/sp.cc: - pass the top-most list of the FROM clause to setup_tables - extra parameter to find_field_in_tables sql/sql_acl.cc: - renamed find_field_in_table => find_field_in_table_ref - extra parameter to find_field_in_table_ref - commented old code sql/sql_base.cc: This file contains the core of the implementation of the processing of NATURAL/USING joins (WL#2486). - added many comments to old code - refactored the group of find_field_in_XXX procedures, and added a new procedure for natural joins. There is one find_field_in_XXX procedure per each type of table reference (stored table, merge view, or natural join); one meta-procedure that selects the correct one depeneding on the table reference; and one procedure that goes over a list of table referenes. - NATURAL/USING joins are processed through the procedures: mark_common_columns, store_natural_using_join_columns, store_top_level_join_columns, setup_natural_join_row_types. The entry point to processing NATURAL/USING joins is the procedure 'setup_natural_join_row_types'. - Replaced the specialized Field_iterator_XXX iterators with one generic iterator over the fields of a table reference. - Simplified 'insert_fields' and 'setup_conds' due to encapsulation of the processing of natural joins in a separate set of procedures. sql/sql_class.h: - Commented old code. sql/sql_delete.cc: - Pass the FROM clause to setup_tables. sql/sql_help.cc: - pass the end name resolution table to find_field_in_tables - adjust the list of tables for name resolution sql/sql_insert.cc: - Changed the code that saves and restores the current context to support the list of tables for name resolution - context->first_name_resolution_table, and table_list->next_name_resolution_table. Needed to support an ugly trick to resolve inserted columns only in the first table. - Added Name_resolution_context::[first | last]_name_resolution_table. - Commented old code sql/sql_lex.cc: - set select_lex.parent_lex correctly - set correct state of the current name resolution context sql/sql_lex.h: - Added a stack of name resolution contexts to support local contexts for JOIN ... ON conditions. - Commented old code. sql/sql_load.cc: - Pass the FROM clause to setup_tables. sql/sql_olap.cc: - Pass the FROM clause to setup_tables. sql/sql_parse.cc: - correctly set SELECT_LEX::parent_lex - set the first table of the current name resoltion context - added support for NATURAL/USING joins - commented old code sql/sql_select.cc: - Pass the FROM clause to setup_tables. - Pass the end table to find_field_in_tables - Improved comments sql/sql_show.cc: - Set SELECT_LEX::parent_lex. sql/sql_update.cc: - Pass the FROM clause to setup_tables. sql/sql_yacc.yy: - Added support for a stack of name resolution contexts needed to implement name resolution for JOIN ... ON. A context is pushed for each new JOIN ... ON, and popped afterwards. - Added support for NATURAL/USING joins. sql/table.cc: - Added new class Natural_join_column to hide the heterogeneous representation of column references for stored tables and for views. - Added a new list TABLE_LIST::next_name_resolution_table to support name resolution with NATURAL/USING joins. Also added other members to TABLE_LIST to support NATURAL/USING joins. - Added a generic iterator over the fields of table references of various types - class Field_iterator_table_ref sql/table.h: - Added new class Natural_join_column to hide the heterogeneous representation of column references for stored tables and for views. - Added a new list TABLE_LIST::next_name_resolution_table to support name resolution with NATURAL/USING joins. Also added other members to TABLE_LIST to support NATURAL/USING joins. - Added a generic iterator over the fields of table references of various types - class Field_iterator_table_ref tests/mysql_client_test.c: Adjusted according to standard NATURAL JOIN syntax.
-
unknown authored
Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/ha_berkeley.cc: Removed not used variable (and options) sql/ha_berkeley.h: Removed not used argument sql/ha_ndbcluster.cc: Remove compiler warning sql/init.cc: Simplify code sql/item_sum.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/mysql_priv.h: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/mysqld.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_class.h: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_delete.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_derived.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_lex.h: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_parse.cc: Indentation fixes sql/sql_select.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_select.h: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_show.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_union.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_update.cc: Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong sql/sql_yacc.yy: Changed variable name i to more descriptive name Removed compiler warning
-
- 08 Aug, 2005 2 commits
-
-
unknown authored
mysql-test/r/information_schema.result: Update results sql/sql_show.cc: Show 'SYSTEM VIEW' for table_type of views in INFORMATION_SCHEMA. sql/table.h: Add SYSTEM_TMP_TABLE to tmp_table_type enum, for internal temporary "tables" like INFORMATION_SCHEMA views.
-
unknown authored
result set". To enable full access to contents of I_S tables from stored functions or statements that use them, we manipulate with thread's open tables state and ensure that we won't cause deadlock when we open tables by ignoring flushes and name-locks. Building of contents of I_S.TABLES no longer requires locking of tables since we use use handler::info() method with HA_STATUS_AUTO flag instead of handler::update_auto_increment() for obtaining information about auto-increment values. But this also means that handlers have to implement support for HA_STATUS_AUTO flag (particularly InnoDB needs it). mysql-test/r/alter_table.result: Updated test results. This change was caused by the fact that now when we build contents of I_S tables (and thus output of SHOW INDEX) we don't use instances of tables which may be already opened and locked by thread (we always use new instance). mysql-test/r/information_schema.result: Added test which checks how information about current auto-increment value for table is reported in INFORMATION_SCHEMA.TABLES view. mysql-test/r/sp.result: Added test for bug #10055 "Using stored function with information_schema causes empty result set". mysql-test/t/information_schema.test: Added test which checks how information about current auto-increment value for table is reported in INFORMATION_SCHEMA.TABLES view. mysql-test/t/sp.test: Added test for bug #10055 "Using stored function with information_schema causes empty result set". sql/mysql_priv.h: close_thread_tables(): Get rid of 'stopper' argument which is no longer used. Now when we need to open and then close some table without touching tables which are already opened we use THD::reset_n/restore_backup_open_tables_state() methods. open_tables()/open_normal_and_derived_tables(): Added 'flags' argument to be able open tables even if some has done a flush or hold namelock on them. sql/sp.cc: close_proc_table/open_proc_table_for_read/db_find_routine(): Replaced push_open_tables_state/pop_open_tables_state() methods which were saving/restoring current open tables state in/from THD::open_state_list with reset_n_backup_open_tables_state/restore_backup_open_tables_state() methods which assume that backup storage for this state is allocated on stack (or elsewhere) by their caller. open_proc_table_for_read(): Since now we can have several open tables states stacked up we can't rely rely on checking whether we have some tables open in previous state. Instead we always assume that some tables are open and we need to ignore flush while locking mysql.proc. We don't really need MYSQL_LOCK_IGNORE_GLOBAL_READ_LOCK in this case since we open mysql.proc table only for reading. sql/sp.h: Added declarations of open_proc_table_for_read()/close_proc_table() to be able to use them in sql_show.cc. sql/sql_base.cc: close_thread_tables(): Get rid of 'stopper' argument which is no longer used. Now when we need to open and then close some table without touching tables which are already opened we use THD::reset_n/restore_backup_open_tables_state() methods. open_tables()/open_normal_and_derived_tables(): Added 'flags' argument to be able open tables even if some has done a flush or hold namelock on them. sql/sql_class.cc: Open_tables_state, THD: Replaced push_open_tables_state/pop_open_tables_state() methods which were saving/restoring current open tables state in/from THD::open_state_list with reset_n_backup_open_tables_state/restore_backup_open_tables_state() methods which assume that backup storage for this state is allocated on stack (or elsewhere) by their caller. sql/sql_class.h: Open_tables_state, THD: Replaced push_open_tables_state/pop_open_tables_state() methods which were saving/restoring current open tables state in/from THD::open_state_list with reset_n_backup_open_tables_state/restore_backup_open_tables_state() methods which assume that backup storage for this state is allocated on stack (or elsewhere) by their caller. sql/sql_handler.cc: open_tables()/open_normal_and_derived_tables(): Added 'flags' argument to be able open tables even if some has done a flush or hold namelock on them. sql/sql_prepare.cc: open_tables()/open_normal_and_derived_tables(): Added 'flags' argument to be able open tables even if some has done a flush or hold namelock on them. sql/sql_show.cc: get_all_tables(): Now we use THD::reset_n_/restore_backup_open_tables_state() for saving/restoring open tables state instead of working with it directly (This also allows us to have proper content of I_S system tables in statements with stored functions and in stored functions). We also ignore possible flushes when opening tables (we may create deadlock otherwise). Also we do all needed manipulations with LEX in this function and not in get_schema_tables_result() now. get_schema_tables_record(): Let us use handler::info() method with HA_STATUS_AUTO flag for obtaining information about table's auto-increment value. This allows to avoid locking of tables which is needed when we use handler::update_auto_increment() method. fill_schema_proc(): Now we use open_proc_table_for_read/close_proc_table() for access to mysql.proc table (so we won't cause deadlock if we already have some tables open and locked, this also allows us to have proper content in ROUTINES system table in statements using stored functions/in stored functions). get_schema_tables_result(): Moved all manipulations with Open_tables_state and LEX needed for safe opening of tables to ST_SCHEMA_TABLE::fill_table functions (i.e. get_all_tables() and fill_schema_proc()). sql/sql_update.cc: open_tables()/open_normal_and_derived_tables(): Added 'flags' argument to be able open tables even if some has done a flush or hold namelock on them.
-
- 07 Aug, 2005 1 commit
-
-
unknown authored
We're out of bits in st_select_lex->options so make TMP_TABLE_FORCE_MYISAM == OPTION_FOUND_COMMENT (the latter is not used by create_tmp_table). mysql-test/r/create.result: Updated the test result mysql-test/r/fulltext_order_by.result: Drop all tables this test uses mysql-test/t/fulltext_order_by.test: Drop all tables this test uses
-
- 05 Aug, 2005 1 commit
-
-
unknown authored
mysql-test/r/information_schema.result: fix the test case for fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames mysql-test/r/information_schema_db.result: fix the test case for fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames sql/sql_show.cc: reorder the structure fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames sql/table.h: reorder the enum fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames
-
- 02 Aug, 2005 1 commit
-
-
unknown authored
-
- 28 Jul, 2005 2 commits
-
-
unknown authored
other sql_mode fixes mysql-test/r/information_schema.result: changes in information schema mysql-test/r/trigger.result: storing and restoring sql modes for triggers mysql-test/t/trigger.test: storing and restoring parsing modes for triggers sql/mysqld.cc: add length of mode names sql/parse_file.cc: new type of list (ulonglong) sql/parse_file.h: new type of list (ulonglong) sql/set_var.cc: mode output made as static method sql/set_var.h: mode output made as static method sql/sp_head.cc: added sql_mode storing/restoring during SP execution optimised sql_mode printing sql/sp_head.h: comment fixed according this changes sql/sql_show.cc: added sql_mode field sql/sql_trigger.cc: store/restore sql_mode which was in force during ctrigger creation sql/sql_trigger.h: store/restore sql_mode which was in force during ctrigger creation sql/sql_view.cc: fixed sql_mode
-
unknown authored
Ensure mysql_close() is called if mysql_set_character_set() fails libmysql/libmysql.c: Indentation cleanup mysql-test/r/select.result: Fix bad merge & align code with 4.1 mysql-test/r/type_newdecimal.result: Added test of extreme case mysql-test/t/select.test: Fix bad merge & align code with 4.1 mysql-test/t/type_newdecimal.test: Added test of extreme case mysys/charset.c: Removed not used variable mysys/default.c: Simplify code sql-common/client.c: Ensure mysql_close() is called if mysql_set_character_set() fails sql/log.cc: strmov(strmov()) -> strxmov() sql/sp.cc: Indentation fixes sql/sql_acl.cc: Indentation fixes sql/sql_base.cc: Added commments Moved variable to inner block sql/sql_show.cc: Simple optimization (removed loop variable) sql/sql_trigger.cc: strmov(strmov()) -> strxmov() strings/decimal.c: Indentation fixes
-
- 19 Jul, 2005 3 commits
-
-
unknown authored
sql/sql_show.cc: Cleanup comment Removed extra end space
-
unknown authored
"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.
-
unknown authored
fixed BLOB, TEXT(wrong maximum length), BIT and integer types(wrong numeric_precision value)
-
- 18 Jul, 2005 1 commit
-
-
unknown authored
Changed defaults option --instance to --defaults-group-suffix Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX mysql_print_defaults now understands --defaults-group-suffix Remove usage of my_tempnam() (not safe function) if( -> if ( and while( to while ( BitKeeper/deleted/.del-my_tempnam.c~a8562f15dad3012f: Delete: mysys/my_tempnam.c VC++Files/client/mysqlclient.dsp: Remove not used file my_tempnam.c VC++Files/client/mysqlclient_ia64.dsp: Remove not used file my_tempnam.c VC++Files/libmysql/libmysql.dsp: Remove not used file my_tempnam.c VC++Files/libmysql/libmysql_ia64.dsp: Remove not used file my_tempnam.c VC++Files/mysys/mysys.dsp: Remove not used file my_tempnam.c VC++Files/mysys/mysys_ia64.dsp: Remove not used file my_tempnam.c client/mysql.cc: Change to use get_defaults_options() Remove compiler warnings client/mysqldump.c: Indentation fixes Use quoted table name for 'primary_key_fields' extra/my_print_defaults.c: Add support for --defaults-group-suffix change to use get_default_options() extra/replace.c: Replace my_tempnam() with create_tmp_file() to allow us to remove my_tempnam.c include/config-win.h: Added DEFAULT_GROUP_SUFFIX_ENV include/my_sys.h: Change defaults_instance -> defaults_group_suffix Change get_defaults_files -> get_defaults_options libmysql/Makefile.shared: Added DEFAULT_GROUP_SUFFIX_ENV mysys/Makefile.am: Added DEFAULT_GROUP_SUFFIX_ENV Remove my_tempnam.c mysys/default.c: Changed --instance to --defaults-group-suffix Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX and moved the name to Makefile.am (mysys shouldn't by MySQL independent) Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order mysys/default_modify.c: Optimized code to use allocated space more efficently Reduce code size Ensure that realloc() works independent of argument size mysys/my_bitmap.c: Added missing return sql/ha_innodb.cc: Change if( -> if ( sql/ha_ndbcluster.cc: Change while( -> while ( sql/item_cmpfunc.cc: Break loop early (simple optimization) sql/item_strfunc.cc: Change if( -> if ( sql/log.cc: Fixed comment sql/mysqld.cc: Change if( -> if ( sql/opt_range.cc: while( -> while ( if( -> if ( sql/parse_file.cc: Change if( -> if ( sql/sql_cache.cc: while( -> while ( sql/sql_parse.cc: Change if( -> if ( sql/sql_prepare.cc: Added comment sql/sql_select.cc: while( -> while ( Removed index variable by incrementing pointer sql/sql_show.cc: Change if( -> if ( sql/sql_yacc.yy: Change if( -> if ( tests/mysql_client_test.c: Added cast to first argument to bzero()
-
- 12 Jul, 2005 1 commit
-
-
unknown authored
The problem here is that columns that have an especially long type such as an enum type with many options would be longer than 40 chars but the type column returned from show columns always was defined as varchar(40). This is fixed in 5.0 using info schema. mysql-test/r/ps_1general.result: update columns which will now be reported as blobs mysql-test/r/ps_2myisam.result: update columns which will now be reported as blobs mysql-test/r/ps_3innodb.result: update columns which will now be reported as blobs mysql-test/r/ps_4heap.result: update columns which will now be reported as blobs mysql-test/r/ps_5merge.result: update columns which will now be reported as blobs sql/item.cc: report a column as a particular blob type if it's size warrants sql/sql_show.cc: Add function to iterate over all the fields of a table and determine the longest type name. We call this function at the top of our show fields code. We pass in either 40 or max_len whichever is longer to the ctor of Item_empty_string. tests/mysql_client_test.c: update columns which will now be reported as blobs
-