libmysql/libmysql.c:
stmt->mysql could be 0x0 if the connection has failed between prepare and execute
or any other operation. thus if the user decides to use mysql_stmt_reset()
we should not segfault.
tests/mysql_client_test.c:
test for bug #12744 (MYSQL_STMT operations cause seg fault after connection reset)
When we add new privilege we should update mysql-test/lib/init_db.sql
accordingly.
mysql-test/lib/init_db.sql:
Added TRIGGER privilege.
sql/sql_acl.h:
Updated comment describing process of addition of new privileges - added yet
another script place which should be modified when new privilege is added.
storage/ndb/src/ndbapi/NdbBlob.cpp:
fix some mem leaks (event ops however are never dtor-ed yet)
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
fix some mem leaks (event ops however are never dtor-ed yet)
storage/ndb/test/ndbapi/test_event_merge.cpp:
fix some mem leaks (event ops however are never dtor-ed yet)
MATCH and FULLTEXT
Fixed that fulltext query using PS results in unexpected behaviour
when executed 2 or more times.
mysql-test/r/fulltext.result:
Testcase for BUG#14496.
mysql-test/t/fulltext.test:
Testcase for BUG#14496.
sql/item_func.h:
In Item_func_match::cleanup() always reset ft_handler to 0.
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
client/mysqltest.c:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysqltest_float_result/my51-mysqltest_float_result
client/mysqltest.c:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new-wl1892
sql/ha_ndbcluster_binlog.cc:
Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
into mysql.com:/home/stewart/Documents/MySQL/5.1/tmp_merge
mysql-test/r/information_schema.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Auto merged
sql/sql_show.cc:
Auto merged
fix up test cases.
mysql-test/r/information_schema.result:
update result for INFORMATION_SCHEMA.FILES
mysql-test/r/information_schema_db.result:
update result for INFORMATION_SCHEMA.FILES
sql/ha_ndbcluster.cc:
in fill_files_table, use my_snprintf instead of snprintf
sql/sql_show.cc:
correct DBUG_ENTER for fill_schema_files
sql/table.h:
add SCH_FILES to information schema enum
which is no longer repeatable. (Unclear when this was fixed.)
mysql-test/r/sp-security.result:
Updated results for new test case (BUG#14533)
mysql-test/t/sp-security.test:
New test case for BUG#14533.
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new-wl1892
sql/ha_ndbcluster_binlog.cc:
Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
Fix for extra zero in exponent of double values on windows.
client/mysqltest.c:
Write new function 'append_field' which takes care of appending one field to the dynamic string.
Use function 'append_field' from both ps and normal execution
Add hack to 'append_field' that removes the extra '0' in exponent for double values on Windows.
mysql-test/r/type_float.result:
One zero too much was removed( I think )
mysql-test/t/insert.test:
Remove the "replace_result" for extra zero in exponent
mysql-test/t/type_float.test:
Remove the "replace_result" for extra zero in exponent
mysql-test/t/variables.test:
Remove the "replace_result" for extra zero in exponent
Implement table-level TRIGGER privilege to control access to triggers.
Before this path global SUPER privilege was used for this purpose, that
was the big security problem.
In details, before this patch SUPER privilege was required:
- for the user at CREATE TRIGGER time to create a new trigger;
- for the user at DROP TRIGGER time to drop the existing trigger;
- for the definer at trigger activation time to execute the trigger (if the
definer loses SUPER privilege, all its triggers become unavailable);
This patch changes the behaviour in the following way:
- TRIGGER privilege on the subject table for trigger is required:
- for the user at CREATE TRIGGER time to create a new trigger;
- for the user at DROP TRIGGER time to drop the existing trigger;
- for the definer at trigger activation time to execute the trigger
(if the definer loses TRIGGER privilege on the subject table, all its
triggers on this table become unavailable).
- SUPER privilege is still required:
- for the user at CREATE TRIGGER time to explicitly set the trigger
definer to the user other than CURRENT_USER().
When the server works with database of the previous version (w/o TRIGGER
privilege), or if the database is being upgraded from the previous versions,
TRIGGER privilege is granted to whose users, who have CREATE privilege.
mysql-test/r/grant.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/information_schema.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/lowercase_table_grant.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/ps.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/sp.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/trigger-compat.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/r/trigger-grant.result:
Updated the result file after adding TRIGGER privilege.
mysql-test/t/trigger-compat.test:
Grant table-level TRIGGER privilege instead of global SUPER one.
mysql-test/t/trigger-grant.test:
1. Grant table-level TRIGGER privilege instead of global SUPER one.
2. Updated the test case to check that SUPER is required to specify
the user other than the current as a definer.
scripts/mysql_create_system_tables.sh:
Added TRIGGER privilege.
scripts/mysql_fix_privilege_tables.sql:
Added TRIGGER privilege.
sql/sql_acl.cc:
Added TRIGGER privilege.
sql/sql_acl.h:
Added TRIGGER privilege.
sql/sql_show.cc:
Added TRIGGER privilege.
sql/sql_trigger.cc:
Check TRIGGER privilege instead of SUPER.
sql/sql_yacc.yy:
Added TRIGGER privilege.
into mysql.com:/home/stewart/Documents/MySQL/5.1/wl1359
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/sql_show.cc:
SCCS merged
A query with a group by and having clauses could return a wrong
result set if the having condition contained a constant conjunct
evaluated to FALSE.
It happened because the pushdown condition for table with
grouping columns lost its constant conjuncts.
Pushdown conditions are always built by the function make_cond_for_table
that ignores constant conjuncts. This is apparently not correct when
constant false conjuncts are present.
mysql-test/r/having.result:
Added A test case for bug #14927.
mysql-test/t/having.test:
Added A test case for bug #14927.
sql/sql_lex.cc:
Fixed bug #14927.
Initialized fields for having conditions in st_select_lex::init_query().
sql/sql_lex.h:
Fixed bug #14927.
Added a field to restore having condititions for execution in SP and PS.
sql/sql_prepare.cc:
Fixed bug #14927.
Added code to restore havinf conditions for execution in SP and PS.
sql/sql_select.cc:
Fixed bug #14927.
Performed evaluation of constant expressions in having clauses.
If the having condition contains a constant conjunct that is always false
an empty result set is returned after the optimization phase.
In this case the corresponding EXPLAIN command now returns
"Impossible HAVING" in the last column.