Allow MSI and NSIS side-by-side installation if installed NSIS package
differs in "major.minor" version numbers. Still disallow MSI and NSIS
if major.minor versions of both packages match.
Problem: user without privileges can have an half-complete
installation, if he manages to click on "Ignore" for all errors
in the installer.
As a result, he will miss ARP registry keys, and uninstall
will not be possible using "Add/Remove Programs" applet.
* Spell username correctly as "NT AUTHORITY\NetworkService"
* Also, use well-known SIDs for predefined user when assigning directory
ACLs (the names differ in localized Windows)
The general technique to generate MSI using CMake is taken from MySQL 5.5
Additional features not present in 5.5 installer :
-optionally creating a new database
(as Windows service), using new mysql_install_db.exe to do the job
- optional upgrade of existing services from old MySQL or Maria installation.
This work is actually done by the upgrade wizard that is launched at the
end of installation.
New utility to upgrade Windows service to higher MariaDB version.
Its functionality includes changing service definition as well as
running mysql_upgrade.
on Windows.
Some parameters not present in traditional mysql_install_db are present
e.g --port, --default-user (whether to create a new users) or
--service (windows service name)
Fixes part of LP:705213 (Other part is to be pushed into 5.1)
storage/ndb/include/kernel/signaldata/FsOpenReq.hpp:
Fixes compiler warnings
storage/ndb/include/ndbapi/NdbDictionary.hpp:
Update to right typedef
storage/ndb/include/util/NdbSqlUtil.hpp:
Remove not needed, conflicting code.
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Added cast to get rid of not critical const.
mysql-test/suite/handler/innodb.result:
Added test case
mysql-test/suite/handler/innodb.test:
Added test case
sql/handler.h:
Move setting/resetting of active_index to ha_index_init()/ha_index_end() to simplify handler functions index_init()/index_end()
Fixed that get_index() returns MAX_KEY if index is not inited (this fixed LP#697610)
storage/federated/ha_federated.cc:
Settting of active_index is not needed anymore
storage/maria/ma_pagecache.c:
Added error message if we have too little memory for Maria page cache
storage/maria/ma_pagecache.c:
- Ensure that we write also the last buffer in flush if buffer overflows.
- Don't set PCBLOCK_IN_FLUSH if we don't flush the page
- Added some new safety asserts.
Don't allow too low value of pagecache_buffer_size for mysqld
storage/maria/ha_maria.cc:
Don't allow too low value of pagecache_buffer_size (as it will stop mysqld from starting)
storage/maria/maria_read_log.c:
Allow one to decrease page-buffer-size down to 1M (from 128M)
storage/maria/ma_rsame.c:
Fixed wrong test of index usage
storage/maria/ma_search.c:
Fixed test to avoid compiler warnings.
Safety fix to ensure that my_error is properly set in case of errors.
- Fix for MySQL BUG#52357 added NESTED_JOIN::is_fully_covered() which would
not take into account that MariaDB's table elimination could eliminate tables
from join plan (and so, from join nest).
Fixed the check in the function to compare post-table-elimination numbers.
- Set lastinx= ~0 when last_key.keyinfo is set.
storage/maria/ma_check.c:
Set lastinx= ~0 when last_key.keyinfo is set
storage/maria/ma_ft_boolean_search.c:
Set lastinx= ~0 when last_key.keyinfo is set
storage/maria/ma_rt_index.c:
Remove setting of info->lastkey.keyinfo, as this should already be set by caller
storage/maria/ma_search.c:
Added ASSERT to ensure that info->last_key.keyinfo is properly set
storage/maria/ma_unique.c:
Set lastinx= ~0 when last_key.keyinfo is set
- Added test case for Aria
- Tested HANDLER with HEAP (changes to HEAP code will be pushed in 5.3)
- Moved all HANDLER test to suite/handler.
mysql-test/Makefile.am:
Added suite/handler
mysql-test/mysql-test-run.pl:
Added suite/handler
mysql-test/r/lock_multi.result:
Remove test that is already in handler test suite
mysql-test/suite/handler/aria.result:
Test for HANDLER with Aria storage engine
mysql-test/suite/handler/aria.test:
Test for HANDLER with Aria storage engine
mysql-test/suite/handler/handler.inc:
Extended the general handler test
Moved interface testing to 'interface.test'
mysql-test/suite/handler/init.inc:
Common init for handler tests.
mysql-test/suite/handler/innodb.result:
New results
mysql-test/suite/handler/innodb.test:
Update to use new include files
mysql-test/suite/handler/interface.result:
Test of HANDLER interface (not storage engine dependent parts)
mysql-test/suite/handler/interface.test:
Test of HANDLER interface (not storage engine dependent parts)
mysql-test/suite/handler/myisam.result:
New results
mysql-test/suite/handler/myisam.test:
Update to use new include files
mysql-test/t/lock_multi.test:
Remove test that is already in handler test suite
mysys/tree.c:
Added missing handling of read previous (showed up in HEAP testing)
sql/handler.cc:
Don't marka 'HA_ERR_RECORD_CHANGED' as fatal (can be used with HANDLER READ, especially with MEMORY ENGINE)
sql/handler.h:
Added prototype for can_continue_handler_scan()
sql/sql_handler.cc:
Re-initialize search if we switch from key to table search.
Check if handler can continue searching between calls (via can_continue_handler_scan())
Don't write common not fatal errors to log
storage/maria/ma_extra.c:
Don't set index 0 as default. This forces call to ma_check_index() to set up index variables.
storage/maria/ma_ft_boolean_search.c:
Ensure that info->last_key.keyinfo is set
storage/maria/ma_open.c:
Don't set index 0 as default. This forces call to ma_check_index() to set up index variables.
storage/maria/ma_rkey.c:
Trivial optimization
storage/maria/ma_rnext.c:
Added missing code from mi_rnext.c to ensure that handler next/prev works.
storage/maria/ma_rsame.c:
Simple optimizations
storage/maria/ma_search.c:
Initialize info->last_key once and for all when we change keys.
storage/maria/ma_unique.c:
Ensure that info->last_key.keyinfo is up to date.
mysql_convert_table_format ignored --engine option.
Fix that zerofill() doesn't write out wrong data to client if run with auto repair.
Ensure that pagecache is properly flushed, even in case of errors.
Handle checksum errors in BLOCK_RECORD format.
scripts/mysql_convert_table_format.sh:
Fixed that --engine option works
storage/maria/ha_maria.cc:
Fix that zerofill() doesn't write out wrong data to client if run with auto repair.
storage/maria/ma_check.c:
Set in_check_table when scanning table to not get DBUG_ASSERT for checksum error.
Ensure that pagecache is properly flushed, even in case of errors.
Handle checksum errors in BLOCK_RECORD format.
storage/maria/ma_sort.c:
Set in_check_table when scanning table to not get DBUG_ASSERT for checksum error.
- Don't delete pages without flushing that has had a tail or head information in pagecache_delete()
This fixes a case where REPAIR could find old deleted rows.
storage/maria/ha_maria.cc:
Remove calls to depricated function ha_statistic_increment
storage/maria/ma_blockrec.c:
Don't delete pages without flushing that has had a tail or head information in pagecache_delete()
storage/maria/ma_pagecache.c:
Added possibility to mark pages to not be deleted by pagecache_delete() without beeing flushed.
storage/maria/ma_pagecache.h:
Added new prototype
- Fixed some bugs in recovery of blobs
- Don't ASSERT() on checksum errors when running check table
- Added to maria_read_log option --tables-to-redo=list-of-tables to only recover some tables (good for debugging)
storage/maria/ma_blockrec.c:
Don't ASSERT() on checksum errors when running check table
Fixed bug in recovery of blog page that was not in dirty pages list
storage/maria/ma_check.c:
Don't ASSERT() on checksum errors when running check table
storage/maria/ma_recovery.c:
Handling of --tables-to-redo
storage/maria/ma_recovery.h:
Handling of --tables-to-redo
storage/maria/ma_recovery_util.c:
Give better warning if table was not in dirty pages list
storage/maria/maria_def.h:
Added in_check_table
storage/maria/maria_read_log.c:
Added --tables-to-redo=list-of-tables to only recover some tables (good for debugging)
Cleaned up message when wrong arguments