into zim.(none):/home/brian/mysql/cluster-5.1
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
sql/ha_partition.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
1) Fixes breakage in embedded server build for XMLPath push.
2) Hides PARTITION engine from view.
3) Add ENGINES information schema (and it should now be clear from this patch on how to turn any show command into an information schema).
libmysqld/Makefile.am:
Fix for embedded server to build.
mysql-test/r/information_schema.result:
Fix for additional information_schema
mysql-test/r/information_schema_db.result:
Fix for adding additional engines information schema.
mysql-test/t/information_schema.test:
Added test to make sure that engines information schema works.
sql/ha_partition.cc:
Made PARTITION hidden in information schema.
sql/sql_parse.cc:
Added additional case for engine information schema.
sql/sql_show.cc:
Code for ENGINES information schema.
sql/sql_yacc.yy:
Extended grammer to support new ENGINES information schema
sql/table.h:
Comment on dependency in information schema.
libmysqld/item_xmlfunc.cc:
New BitKeeper file ``libmysqld/item_xmlfunc.cc''
into xiphis.org:/home/antony/work3/mysql-5.1-plugable-2
configure.in:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/bdb.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/sql_table.cc:
SCCS merged
set character_octet_length, character_maximum_length for
binary and varbinary field types
mysql-test/r/information_schema.result:
Fix for bug#14271 I_S: columns has no size for (var)binary columns
test case
mysql-test/t/information_schema.test:
Fix for bug#14271 I_S: columns has no size for (var)binary columns
test case
Bug#14387 SHOW COLUMNS doesn't work on temporary tables.
Bug#15224 SHOW INDEX from temporary table doesn't work.
Restore thd->temporary_tables to be able to process
temporary tables(only for 'show index' & 'show columns').
This should be changed when processing of temporary tables for
I_S tables will be done.
mysql-test/r/information_schema.result:
Bug#12770 DESC cannot display the info. about temporary table
Bug#14387 SHOW COLUMNS doesn't work on temporary tables.
Bug#15224 SHOW INDEX from temporary table doesn't work.
test case
mysql-test/t/information_schema.test:
Bug#12770 DESC cannot display the info. about temporary table
Bug#14387 SHOW COLUMNS doesn't work on temporary tables.
Bug#15224 SHOW INDEX from temporary table doesn't work.
test case
store TABLES.TABLE_TYPE in case of error during table opening
mysql-test/r/information_schema.result:
Fix for bug#14476 `information_schema`.`TABLES`.`TABLE_TYPE` with empty value
test case
mysql-test/t/information_schema.test:
Fix for bug#14476 `information_schema`.`TABLES`.`TABLE_TYPE` with empty value
test case
The table opening process now works the following way:
- Create common TABLE_SHARE object
- Read the .frm file and unpack it into the TABLE_SHARE object
- Create a TABLE object based on the information in the TABLE_SHARE
object and open a handler to the table object
Other noteworthy changes:
- In TABLE_SHARE the most common strings are now LEX_STRING's
- Better error message when table is not found
- Variable table_cache is now renamed 'table_open_cache'
- New variable 'table_definition_cache' that is the number of table defintions that will be cached
- strxnmov() calls are now fixed to avoid overflows
- strxnmov() will now always add one end \0 to result
- engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
- After creating a field object one must call field->init(table) before using it
- For a busy system this change will give you:
- Less memory usage for table object
- Faster opening of tables (if it's has been in use or is in table definition cache)
- Allow you to cache many table definitions objects
- Faster drop of table
mysql-test/mysql-test-run.sh:
Fixed some problems with --gdb option
Test both with socket and tcp/ip port that all old servers are killed
mysql-test/r/flush_table.result:
More tests with lock table with 2 threads + flush table
mysql-test/r/information_schema.result:
Removed old (now wrong) result
mysql-test/r/innodb.result:
Better error messages (thanks to TDC patch)
mysql-test/r/merge.result:
Extra flush table test
mysql-test/r/ndb_bitfield.result:
Better error messages (thanks to TDC patch)
mysql-test/r/ndb_partition_error.result:
Better error messages (thanks to TDC patch)
mysql-test/r/query_cache.result:
Remove tables left from old tests
mysql-test/r/temp_table.result:
Test truncate with temporary tables
mysql-test/r/variables.result:
Table_cache -> Table_open_cache
mysql-test/t/flush_table.test:
More tests with lock table with 2 threads + flush table
mysql-test/t/merge.test:
Extra flush table test
mysql-test/t/multi_update.test:
Added 'sleep' to make test predictable
mysql-test/t/query_cache.test:
Remove tables left from old tests
mysql-test/t/temp_table.test:
Test truncate with temporary tables
mysql-test/t/variables.test:
Table_cache -> Table_open_cache
mysql-test/valgrind.supp:
Remove warning that may happens becasue threads dies in different order
mysys/hash.c:
Fixed wrong DBUG_PRINT
mysys/mf_dirname.c:
More DBUG
mysys/mf_pack.c:
Better comment
mysys/mf_tempdir.c:
More DBUG
Ensure that we call cleanup_dirname() on all temporary directory paths.
If we don't do this, we will get a failure when comparing temporary table
names as in some cases the temporary table name is run through convert_dirname())
mysys/my_alloc.c:
Indentation fix
sql/examples/ha_example.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/examples/ha_example.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/examples/ha_tina.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/examples/ha_tina.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/field.cc:
Update for table definition cache:
- Field creation now takes TABLE_SHARE instead of TABLE as argument
(This is becasue field definitions are now cached in TABLE_SHARE)
When a field is created, one now must call field->init(TABLE) before using it
- Use s->db instead of s->table_cache_key
- Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
- make_field() takes TABLE_SHARE as argument instead of TABLE
- move_field() -> move_field_offset()
sql/field.h:
Update for table definition cache:
- Field creation now takes TABLE_SHARE instead of TABLE as argument
(This is becasue field definitions are now cached in TABLE_SHARE)
When a field is created, one now must call field->init(TABLE) before using it
- Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
- make_field() takes TABLE_SHARE as argument instead of TABLE
- move_field() -> move_field_offset()
sql/ha_archive.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_archive.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_berkeley.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Changed name of argument create() to not hide internal 'table' variable.
table->s -> table_share
sql/ha_berkeley.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_blackhole.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_blackhole.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_federated.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Fixed comments
Remove index variable and replace with pointers (simple optimization)
move_field() -> move_field_offset()
Removed some strlen() calls
sql/ha_federated.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_heap.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Simplify delete_table() and create() as the given file names are now without extension
sql/ha_heap.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_innodb.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_innodb.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_myisam.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Remove not needed fn_format()
Fixed for new table->s structure
sql/ha_myisam.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_myisammrg.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Don't set 'is_view' for MERGE tables
Use new interface to find_temporary_table()
sql/ha_myisammrg.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Added flag HA_NO_COPY_ON_ALTER
sql/ha_ndbcluster.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Fixed wrong calls to strxnmov()
Give error HA_ERR_TABLE_DEF_CHANGED if table definition has changed
drop_table -> intern_drop_table()
table->s -> table_share
Move part_info to TABLE
Fixed comments & DBUG print's
New arguments to print_error()
sql/ha_ndbcluster.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
sql/ha_partition.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
We can't set up or use part_info when creating handler as there is not yet any table object
New ha_intialise() to work with TDC (Done by Mikael)
sql/ha_partition.h:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
Got set_part_info() from Mikael
sql/handler.cc:
We new use TABLE_SHARE instead of TABLE when creating engine handlers
ha_delete_table() now also takes database as an argument
handler::ha_open() now takes TABLE as argument
ha_open() now calls ha_allocate_read_write_set()
Simplify ha_allocate_read_write_set()
Remove ha_deallocate_read_write_set()
Use table_share (Cached by table definition cache)
sql/handler.h:
New table flag: HA_NO_COPY_ON_ALTER (used by merge tables)
Remove ha_deallocate_read_write_set()
get_new_handler() now takes TABLE_SHARE as argument
ha_delete_table() now gets database as argument
sql/item.cc:
table_name and db are now LEX_STRING objects
When creating fields, we have now have to call field->init(table)
move_field -> move_field_offset()
sql/item.h:
tmp_table_field_from_field_type() now takes an extra paramenter 'fixed_length' to allow one to force usage of CHAR
instead of BLOB
sql/item_cmpfunc.cc:
Fixed call to tmp_table_field_from_field_type()
sql/item_create.cc:
Assert if new not handled cast type
sql/item_func.cc:
When creating fields, we have now have to call field->init(table)
dummy_table used by 'sp' now needs a TABLE_SHARE object
sql/item_subselect.cc:
Trivial code cleanups
sql/item_sum.cc:
When creating fields, we have now have to call field->init(table)
sql/item_timefunc.cc:
Item_func_str_to_date::tmp_table_field() now replaced by call to
tmp_table_field_from_field_type() (see item_timefunc.h)
sql/item_timefunc.h:
Simply tmp_table_field()
sql/item_uniq.cc:
When creating fields, we have now have to call field->init(table)
sql/key.cc:
Added 'KEY' argument to 'find_ref_key' to simplify code
sql/lock.cc:
More debugging
Use create_table_def_key() to create key for table cache
Allocate TABLE_SHARE properly when creating name lock
Fix that locked_table_name doesn't test same table twice
sql/mysql_priv.h:
New functions for table definition cache
New interfaces to a lot of functions.
New faster interface to find_temporary_table() and close_temporary_table()
sql/mysqld.cc:
Added support for table definition cache of size 'table_def_size'
Fixed som calls to strnmov()
Changed name of 'table_cache' to 'table_open_cache'
sql/opt_range.cc:
Use new interfaces
Fixed warnings from valgrind
sql/parse_file.cc:
Safer calls to strxnmov()
Fixed typo
sql/set_var.cc:
Added variable 'table_definition_cache'
Variable table_cache renamed to 'table_open_cache'
sql/slave.cc:
Use new interface
sql/sp.cc:
Proper use of TABLE_SHARE
sql/sp_head.cc:
Remove compiler warnings
We have now to call field->init(table)
sql/sp_head.h:
Pointers to parsed strings are now const
sql/sql_acl.cc:
table_name is now a LEX_STRING
sql/sql_base.cc:
Main implementation of table definition cache
(The #ifdef's are there for the future when table definition cache will replace open table cache)
Now table definitions are cached indepndent of open tables, which will speed up things when a table is in use at once from several places
Views are not yet cached; For the moment we only cache if a table is a view or not.
Faster implementation of find_temorary_table()
Replace 'wait_for_refresh()' with the more general function 'wait_for_condition()'
Drop table is slightly faster as we can use the table definition cache to know the type of the table
sql/sql_cache.cc:
table_cache_key and table_name are now LEX_STRING
'sDBUG print fixes
sql/sql_class.cc:
table_cache_key is now a LEX_STRING
safer strxnmov()
sql/sql_class.h:
Added number of open table shares (table definitions)
sql/sql_db.cc:
safer strxnmov()
sql/sql_delete.cc:
Use new interface to find_temporary_table()
sql/sql_derived.cc:
table_name is now a LEX_STRING
sql/sql_handler.cc:
TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
sql/sql_insert.cc:
TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
sql/sql_lex.cc:
Make parsed string a const (to quickly find out if anything is trying to change the query string)
sql/sql_lex.h:
Make parsed string a const (to quickly find out if anything is trying to change the query string)
sql/sql_load.cc:
Safer strxnmov()
sql/sql_parse.cc:
Better error if wrong DB name
sql/sql_partition.cc:
part_info moved to TABLE from TABLE_SHARE
Indentation changes
sql/sql_select.cc:
Indentation fixes
Call field->init(TABLE) for new created fields
Update create_tmp_table() to use TABLE_SHARE properly
sql/sql_select.h:
Call field->init(TABLE) for new created fields
sql/sql_show.cc:
table_name is now a LEX_STRING
part_info moved to TABLE
sql/sql_table.cc:
Use table definition cache to speed up delete of tables
Fixed calls to functions with new interfaces
Don't use 'share_not_to_be_used'
Instead of doing openfrm() when doing repair, we now have to call
get_table_share() followed by open_table_from_share().
Replace some fn_format() with faster unpack_filename().
Safer strxnmov()
part_info is now in TABLE
Added Mikaels patch for partition and ALTER TABLE
Instead of using 'TABLE_SHARE->is_view' use 'table_flags() & HA_NO_COPY_ON_ALTER
sql/sql_test.cc:
table_name and table_cache_key are now LEX_STRING's
sql/sql_trigger.cc:
TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
safer strxnmov()
Removed compiler warnings
sql/sql_update.cc:
Call field->init(TABLE) after field is created
sql/sql_view.cc:
safer strxnmov()
Create common TABLE_SHARE object for views to allow us to cache if table is a view
sql/structs.h:
Added SHOW_TABLE_DEFINITIONS
sql/table.cc:
Creation and destruct of TABLE_SHARE objects that are common for many TABLE objects
The table opening process now works the following way:
- Create common TABLE_SHARE object
- Read the .frm file and unpack it into the TABLE_SHARE object
- Create a TABLE object based on the information in the TABLE_SHARE
object and open a handler to the table object
open_table_def() is written in such a way that it should be trival to add parsing of the .frm files in new formats
sql/table.h:
TABLE objects for the same database table now share a common TABLE_SHARE object
In TABLE_SHARE the most common strings are now LEX_STRING's
sql/unireg.cc:
Changed arguments to rea_create_table() to have same order as other functions
Call field->init(table) for new created fields
sql/unireg.h:
Added OPEN_VIEW
strings/strxnmov.c:
Change strxnmov() to always add end \0
This makes usage of strxnmov() safer as most of MySQL code assumes that strxnmov() will create a null terminated string
into mysql.com:/home/mysql_src/mysql-5.1-merge-of-5.0 (not all files are good,
I'll fix; I'll ask some devs to check their part)
BitKeeper/etc/ignore:
auto-union
include/my_global.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/view.test:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.h:
Auto merged
storage/myisam/mi_key.c:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
support-files/mysql.spec.sh:
Auto merged
configure.in:
merge
mysql-test/r/ps_1general.result:
merge ("ul", will fix)
sql/examples/ha_tina.cc:
merge
sql/ha_innodb.cc:
merge
sql/handler.h:
merge
sql/log.cc:
merge
sql/set_var.cc:
merge
sql/share/errmsg.txt:
merge (bad, will fix)
sql/sql_show.cc:
merge (bad, will fix)
sql/sql_yacc.yy:
merge
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
merge
for invalid view
Permit SHOW CREATE VIEW, SHOW CREATE TABLE, and retrieval of metadata from
information_schema for invalid views
mysql-test/r/information_schema.result:
Fix for bug#13818 SHOW CREATE VIEW / TABLE and information_schema.views fail
for invalid view
test case
mysql-test/t/information_schema.test:
Fix for bug#13818 SHOW CREATE VIEW / TABLE and information_schema.views fail
for invalid view
test case
checks on trigger activation)
mysql-test/r/information_schema.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/mysqldump.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_ddl.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_sp.result:
Update result file: a new clause DEFINER has been added to
CREATE TRIGGER statement.
mysql-test/r/rpl_trigger.result:
Results for new test cases were added.
mysql-test/r/skip_grants.result:
Error message has been changed.
mysql-test/r/trigger.result:
Added DEFINER column.
mysql-test/r/view.result:
Error messages have been changed.
mysql-test/r/view_grant.result:
Error messages have been changed.
mysql-test/t/mysqldump.test:
Drop created procedure to not affect further tests.
mysql-test/t/rpl_trigger.test:
Add tests for new column in information schema.
mysql-test/t/skip_grants.test:
Error tag has been renamed.
mysql-test/t/view.test:
Error tag has been renamed.
mysql-test/t/view_grant.test:
Error tag has been changed.
sql/item_func.cc:
Fix typo in comments.
sql/mysql_priv.h:
A try to minimize copy&paste:
- introduce operations to be used from sql_yacc.yy;
- introduce an operation to be used from trigger and
view processing code.
sql/share/errmsg.txt:
- Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
be shared for view and trigger implementations;
- Fix a typo;
- Add a new error code for trigger warning.
sql/sp.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.h:
set_info() was split into set_info() and set_definer().
sql/sql_acl.cc:
Add a new check: exit from the cycle if the table is NULL.
sql/sql_lex.h:
- Rename create_view_definer to definer, since it is used for views
and triggers;
- Change st_lex_user to LEX_USER, since st_lex_user is a structure.
So, formally, it should be "struct st_lex_user", which is longer
than just LEX_USER;
- Add trigger_definition_begin.
sql/sql_parse.cc:
- Add a new check: exit from the cycle if the table is NULL;
- Implement definer-related functions.
sql/sql_show.cc:
Add DEFINER column.
sql/sql_trigger.cc:
Add DEFINER support for triggers.
sql/sql_trigger.h:
Add DEFINER support for triggers.
sql/sql_view.cc:
Rename create_view_definer to definer.
sql/sql_yacc.yy:
Add support for DEFINER-clause in CREATE TRIGGER statement.
Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
yacc is unable to distinguish between them. So, had to modify both
statements in order to make it parsable by yacc.
mysql-test/r/trigger-compat.result:
Result file for triggers backward compatibility test.
mysql-test/r/trigger-grant.result:
Result file of the test for WL#2818.
mysql-test/t/trigger-compat.test:
Triggers backward compatibility test: check that the server
still can load triggers w/o definer attribute and modify
tables with such triggers (add a new trigger, etc).
mysql-test/t/trigger-grant.test:
Test for WL#2818 -- check that DEFINER support in triggers
works properly
WL#2763 - MySQL plugin interface: step 1
Manual merge from CNET tree.
include/ft_global.h:
Default parser added.
include/my_global.h:
dlopen related code moved from sql_udf.cc into my_global.h
include/myisam.h:
Added fulltext parser to MI_KEYDEF
libmysqld/Makefile.am:
Added LIBDIR macro.
mysql-test/r/connect.result:
Test result fixed: added plugin table
mysql-test/r/information_schema.result:
Test result fixed: added plugin table.
mysql-test/r/mysqlcheck.result:
Test result fixed: added plugin table.
mysql-test/r/system_mysql_db.result:
Test fixed: added plugin table
mysql-test/t/system_mysql_db_fix.test:
Test fixed: added plugin table
scripts/mysql_create_system_tables.sh:
Added mysql.plugin table.
scripts/mysql_fix_privilege_tables.sql:
Added mysql.plugin table.
sql/Makefile.am:
Added LIBDIR macro.
sql/ha_myisam.cc:
Pass fulltext parser from sql to myisam layer.
sql/lex.h:
Plugin related symbols.
sql/mysqld.cc:
Initialize/deinitialize plugins, pass opt_plugin_dir.
plugin-dir renamed to plugin_dir.
plugin_dir is relative to mysql_home now.
sql/set_var.cc:
plugin_dir added to SHOW VARIABLES.
sql/share/errmsg.txt:
Plugin related error messages.
sql/sql_class.h:
Added parser to Key class.
Hold parser_name instead of plugin in Key class.
sql/sql_lex.h:
INSTALL/UNINSTALL PLUGIN commands.
sql/sql_parse.cc:
INSTALL/UNINSTALL PLUGIN commands.
sql/sql_show.cc:
SHOW CREATE TABLE: output parser name if index was created WITH PARSER.
sql/sql_table.cc:
Pass fulltext parser from yacc to sql layer.
sql/sql_udf.cc:
dlopen related code moved into my_global.h.
Implemented better check for UDF path.
UDF loads libraries that are under plugin_dir now.
sql/sql_yacc.yy:
INSTALL/UNINSTALL PLUGIN syntax.
Added WITH PARSER syntax to CREATE/ALTER TABLE/INDEX.
opt_fulltext_parser must allocate memory, since it will be used afterwards.
sql/table.cc:
Save/restore fulltext parser in extra data segment.
Added DBUG_PRINTs.
storage/myisam/ft_boolean_search.c:
Split functions so they can be used by fulltext parser.
Use fulltext parser if specified.
storage/myisam/ft_nlq_search.c:
Use fulltext parser.
storage/myisam/ft_parser.c:
Split functions so they can be used by fulltext parser.
Use fulltext parser if specified.
storage/myisam/ft_static.c:
Default fulltext parser added.
storage/myisam/ft_update.c:
Use fulltext parser.
storage/myisam/ftdefs.h:
FTB_PARAM moved into plugin.h and renamed to MYSQL_FTPARSER_BOOLEAN_INFO.
storage/myisam/mi_open.c:
Set default parser.
into sanja.is.com.ua:/home/bell/mysql/bk/work-owner7-5.0
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/r/information_schema.result:
error message changed
mysql-test/r/sp.result:
error message changed
mysql-test/r/sql_mode.result:
fixed test suite
mysql-test/r/view.result:
error message changed
mysql-test/r/view_grant.result:
test of underlying view tables check
mysql-test/t/sql_mode.test:
fixed test suite
mysql-test/t/view_grant.test:
test of underlying view tables check
sql/item.cc:
check of underlying tables privilege added
sql/item.h:
Name the resolution context points to the security context of view (if item belong to the view)
sql/item_func.cc:
a view error hiding for execution of prepared function belonged to a view
fixed checking privileges if stored functions belonds to some view
sql/mysql_priv.h:
refult of derived table processing functions changed to bool
Security_context added as an argument to find_field_in_table()
sql/share/errmsg.txt:
error message fixed
sql/sql_acl.cc:
Storing requested privileges of tables added
View underlying tables privilege check added
sql/sql_base.cc:
View underlying tables privilege check added
sql/sql_cache.cc:
Code cleunup: we should not register underlying tables of view second time
sql/sql_delete.cc:
ancestor -> merge_underlying_list renaming
sql/sql_derived.cc:
refult of derived table processing functions changed to bool
do not give SELECT_ACL for TEMPTABLE views
sql/sql_lex.h:
The comment added
sql/sql_parse.cc:
registration of requested privileges added
sql/sql_prepare.cc:
registration of requested privileges added
sql/sql_update.cc:
manipulation of requested privileges for underlying tables made the same as for table which we are updating
sql/sql_view.cc:
underlying tables of view security check support added
sql/table.cc:
renaming and fixing view preparation methods, methods for checking underlyoing tables security context added
sql/table.h:
storege for reuested privileges added
information_schema is current database
skip the check of I_S tables if table is derived table
mysql-test/r/information_schema.result:
fix for bug#14089 FROM list subquery always fails when
information_schema is current database
test case
mysql-test/t/information_schema.test:
fix for bug#14089 FROM list subquery always fails when
information_schema is current database
test case
into mysql.com:/opt/local/work/mysql-5.0-root
BitKeeper/etc/ignore:
auto-union
include/my_sys.h:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
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
Fixed problems in test suite where some test failed
Fixed access to not initialized memory in federated
Fixed access to not initialized memory when using BIT fields in internal temporary tables
BitKeeper/etc/ignore:
added libmysqld/sql_cursor.h
mysql-test/r/information_schema.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middlecd
mysql-test/r/information_schema_inno.result:
Remove used tables at start
mysql-test/r/multi_statement.result:
Remove used tables at start
mysql-test/r/temp_table.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/r/type_bit.result:
More tests
mysql-test/t/information_schema.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/information_schema_inno.test:
Remove used tables at start
mysql-test/t/multi_statement.test:
Remove used tables at start
mysql-test/t/temp_table.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/type_bit.test:
More tests
mysql-test/valgrind.supp:
Removed some valgrind warnings that isn't errors
sql/ha_federated.cc:
Fixed errors discovered by valgrind:
- Socket was not initialized
- share->scheme was deleted while there was still pointer into it from the hash
sql/item_func.h:
Remove access to table object from cleanup() as the table object may have been dropped earlier (In case of temporary tables or of close_thread_tables() is run before cleanup())
This fixed a bug with access to already freed memory
sql/sql_base.cc:
Reset variables used by fulltext
sql/sql_select.cc:
Fixed various problems with bit fields when used in internal temporary tables.
Calculate space needed for bit fields correctly (previously we allocated more space than needed for rows in heap/myisam tables)
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
(already approved)
mysql-test/r/information_schema.result:
update test results
mysql-test/r/sp.result:
update test results
mysql-test/r/sql_mode.result:
update test results
sql/sp.cc:
don qualify the name
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
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/sql_show.cc:
Auto merged
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.
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
into mysql.com:/home/jimw/my/mysql-5.0-clean
sql/sql_show.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/information_schema.result:
Resolve conflicts
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.
"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
into mysql.com:/home/dlenev/src/mysql-5.0-is
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/sp.result:
Manual merge
mysql-test/t/sp.test:
Manual merge
sql/sql_class.h:
Manual merge
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.
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.
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
mysql-test/t/information_schema.test:
Stub out column in results that we don't care about, and may vary
mysql-test/r/information_schema.result:
Update results
into sanja.is.com.ua:/home/bell/mysql/bk/work-trigger-5.0
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/mysqldump.result:
merge
sql/sql_trigger.cc:
merge
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
into mysql.com:/home/dlenev/src/mysql-5.0-tn
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/errmsg.txt:
Manual merge.
"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.
into mysql.com:/home/jimw/my/mysql-5.0-clean
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged