storage/maria/ma_checkpoint.c:
comments
storage/maria/ma_close.c:
comments
storage/maria/ma_write.c:
merge from myisam
storage/maria/maria_def.h:
typo
storage/myisam/mi_delete.c:
unneeded {}, making it identical to Maria
a function to store information about transactions into buffers,
is added to the transaction manager, and called by the Checkpoint module.
storage/maria/ma_checkpoint.c:
"collecting info about transactions" moves to trnman.c
storage/maria/trnman.c:
a function to store information about the active transactions list
and committed transactions list, into buffers, for use by the
Checkpoint module.
This function needs to know how many trns there are in the committed
list, so we introduce a counter, trnman_committed_transactions.
m_string.h is needed for LEX_STRING.
storage/maria/trnman.h:
A function to store information about the active transactions list
and committed transactions list, into buffers, for use by the
Checkpoint module.
storage/maria/unittest/trnman-t.c:
trnman.h needs LEX_STRING so m_string.h
Only failure is ndb_restore - could have been worse!!
include/pagecache.h:
LSN->lsn
mysys/mf_keycache.c:
page_status is int
mysys/mf_pagecache.c:
merge of recent key cache changes
sql/mysqld.cc:
post-merge fixes
sql/set_var.cc:
post-merge fixes
storage/maria/ha_maria.cc:
merge of recent MyISAM changes into Maria
storage/maria/ha_maria.h:
merge of recent MyISAM changes into Maria
storage/maria/ma_close.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_create.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_delete.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_dynrec.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_ft_boolean_search.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_key.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_keycache.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_open.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_page.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_rsamepos.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_statrec.c:
merge of recent MyISAM changes into Maria
storage/maria/ma_unique.c:
merge of recent MyISAM changes into Maria
storage/maria/maria_chk.c:
merge of recent MyISAM changes into Maria
storage/maria/maria_pack.c:
merge of recent MyISAM changes into Maria
storage/myisam/myisampack.c:
compiler warning
Plus compiler warnings, and a fix to the pagecache unit tests for IA64
include/maria.h:
merging MyISAM into Maria
include/myisam.h:
post-merge fixes
mysql-test/r/maria.result:
merging MyISAM into Maria
mysql-test/t/maria.test:
merging MyISAM into Maria
sql/mysqld.cc:
post-merge fixes
storage/maria/ha_maria.cc:
merging MyISAM into Maria
storage/maria/ha_maria.h:
merging MyISAM into Maria
storage/maria/ma_check.c:
merging MyISAM into Maria
storage/maria/ma_open.c:
merging MyISAM into Maria
storage/maria/ma_packrec.c:
merging MyISAM into Maria
storage/maria/ma_range.c:
merging MyISAM into Maria
storage/maria/ma_sort.c:
merging MyISAM into Maria
storage/maria/maria_def.h:
merging MyISAM into Maria
storage/maria/maria_pack.c:
merging MyISAM into Maria
storage/maria/plug.in:
merging MyISAM into Maria
storage/myisam/myisamdef.h:
merging MyISAM into Maria
storage/myisam/myisampack.c:
fix for compiler warnings
unittest/mysys/mf_pagecache_consist.c:
this sets the stack size lower than the minimum on IA64, we remove it
(it made the test fail)
unittest/mysys/mf_pagecache_single.c:
this sets the stack size lower than the minimum on IA64, we remove it
(it made the test fail)
- cleanups, simplifications
- moving the construction of the "dirty pages table" into the
pagecache where it belongs (because it's the pagecache which knows
dirty pages). TODO: do the same soon for the "transactions table".
- fix for a small bug in the pagecache (decrementation of "changed_blocks")
include/pagecache.h:
prototype
mysys/mf_pagecache.c:
m_string.h moves up for LEX_STRING to be known for pagecache.h.
In pagecache_delete_page(), we must decrement "blocks_changed" even
if we just delete the page without flushing it.
A new function pagecache_collect_changed_blocks_with_LSN()
(used by the Checkpoint module), which stores information about the
changed blocks (a.k.a. "the dirty pages table") into a LEX_STRING.
This function is not tested now, it will be when there is a Checkpoint.
storage/maria/ma_checkpoint.c:
refining the checkpoint code: factoring functions, moving the
construction of the "dirty pages table" into mf_pagecache.c
(I'll do the same with the construction of the "transactions table"
once Serg tells me what's the best way to do it).
storage/maria/ma_least_recently_dirtied.c:
Simplifying the thread which does background flushing of
least-recently-dirtied pages:
- in first version that thread will not flush, just do checkpoints
- in 2nd version, flushing should re-use existing page cache functions
like flush_pagecache_blocks().
unittest/mysys/test_file.h:
m_string.h moves up for LEX_STRING to be known in pagecache.h
Adding rec_lsn to Maria's page cache. Misc fixes to Checkpoint.
mysys/mf_pagecache.c:
adding rec_lsn, the LSN when a page first became dirty.
It is set when unlocking a page (TODO: should also be set when
the unlocking is an implicit part of pagecache_write()).
It is reset in link_to_file_list() and free_block()
(one of which is used every time we flush a block).
It is a ulonglong and not LSN, because its destination is comparisons
for which ulonglong is better than a struct.
storage/maria/ma_checkpoint.c:
misc fixes to Checkpoint (updates now that the transaction manager
and the page cache are more known)
storage/maria/ma_close.c:
an important note for the future.
storage/maria/ma_least_recently_dirtied.c:
comment
don't run tests depending on the generic lock manager which will be
removed; don't run page cache unit tests by default (too intensive).
storage/maria/unittest/Makefile.am:
don't run tests depending on the generic lock manager (it will
be removed in the end), one of them crashes.
unittest/mysys/Makefile.am:
page cache tests put a too high load, causes problems on shared machines;
so we still build them but give them a suffix so that they are
not run by the default "test-unit" Makefile target.
Sync table files after CREATE (of non-temp table), DROP, RENAME,
TRUNCATE, sync directories and symlinks (for the 3 first commands).
Comments for future log records.
In ma_rename(), if rename of index works and then rename of data fails,
try to undo the rename of the index to leave a consistent state.
mysys/my_symlink.c:
sync directory after creation of a symbolic link in it, if asked
mysys/my_sync.c:
comment. Fix for when the file's name has no directory in it.
storage/maria/ma_create.c:
sync files and links and dirs when creating a non-temporary table.
Optimizations of the above to reduce syncs in the common cases:
* if index file and data file have the exact same paths (regular
and link), sync the directories (of regular and link) only once
after creating the last file (the data file).
* don't sync the data file if we didn't write to it (always true
in our builds).
storage/maria/ma_delete_all.c:
sync files after truncating a table
storage/maria/ma_delete_table.c:
sync files and symbolic links and dirs after dropping a table
storage/maria/ma_extra.c:
a function which wraps the sync of the index file and the sync of the
data file.
storage/maria/ma_locking.c:
using a wrapper function
storage/maria/ma_rename.c:
sync files and symbolic links and dirs after renaming a table.
If rename of index works and then rename of data fails, try to undo
the rename of the index to leave a consistent state. That is just a
try, it may fail...
storage/maria/ma_test3.c:
warning to not pay attention to this test.
storage/maria/maria_def.h:
declaration for the function added to ma_extra.c
1) on Mac OS X >=10.3, fcntl() is recommended over fsync (from the
man page: "[With fsync()] the disk drive may also re-order the data
so that later writes may be present while earlier writes are not.
Applications such as databases that require a strict ordering of writes
should use F_FULLFSYNC to ensure their data is written in the order
they expect"). I have seen two other pieces of software changing from
fsync to F_FULLFSYNC on Mac OS X.
2) to make a file creation/deletion/renaming durable on Linux (at least
ext2 as I have tested) (see "man fsync"), a fsync() on the directory
is needed: new functions to do that, and a flag MY_SYNC_DIR to do
it in my_create/my_delete/my_rename.
3) now using this directory syncing when creating he frm if
opt_sync_frm, and for Maria's control file when it is created.
include/my_sys.h:
new flag to my_create/my_delete/my_rename, which asks to sync the
directory after the operation is done (currently does nothing except
on Linux)
libmysql/CMakeLists.txt:
my_create() now depends on my_sync() so my_sync is needed for libmysql
libmysql/Makefile.shared:
my_create() now depends on my_sync() so my_sync is needed for libmysql
mysys/my_create.c:
my_create() can now sync the directory if asked for
mysys/my_delete.c:
my_delete() can now sync the directory if asked for
mysys/my_open.c:
it was a bug that my_close() is done on fd but a positive fd would
still be returned, by my_register_filename().
mysys/my_rename.c:
my_rename() can now sync the two directories (the one of "from" and
the one of "to") if asked for.
mysys/my_sync.c:
On recent Mac OS X, fcntl(F_FULLFSYNC) is recommended over fsync()
(see "man fsync" on Mac OS X 10.3).
my_sync_dir(): to sync a directory after a file creation/deletion/
renaming; can be called directly or via MY_SYNC_DIR in my_create/
my_delete/my_rename(). No-op except on Linux (see "man fsync" on Linux).
my_sync_dir_from_file(): same as above, just more practical when the
caller has a file name but no directory name ready.
Should the #warning even be a #error? I mean do we want to release
binaries which don't guarantee any durability?
sql/log.cc:
a TODO for the future.
sql/unireg.cc:
If we sync the frm it makes sense to also sync its creation in the
directory.
storage/maria/ma_control_file.c:
control file is vital, try to make it to disk
This makes an expected warning message about the index file's size, go away,
as intended.
storage/maria/ma_test_all.sh:
importing change made to MyISAM's mi_test_all, into Maria's ma_test_all
This makes an expected warning message about the index file's size, go away,
as intended.
storage/maria/tablockman.c:
comments. bugfix - a special case in release_locks
storage/maria/unittest/lockman1-t.c:
updated
storage/maria/unittest/lockman2-t.c:
new tests
storage/maria/unittest/lockman1-t.c:
New BitKeeper file ``storage/maria/unittest/lockman1-t.c''
storage/maria/tablockman.c:
New BitKeeper file ``storage/maria/tablockman.c''
storage/maria/tablockman.h:
New BitKeeper file ``storage/maria/tablockman.h''
storage/maria/unittest/lockman2-t.c:
New BitKeeper file ``storage/maria/unittest/lockman2-t.c''
the unit test of the control file module.
storage/maria/trnman.c:
fix for a bug (i has to be in [1..SHORT_TRID_MAX])
storage/maria/unittest/ma_control_file-t.c:
corrupted checksum is in buffer[0], not in buffer[1]
"Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk"
in the Maria tree as it is really needed to get "ma_test_all" to pass
(this bug showed up in Maria first, not in MyISAM).
Now ma_test_all does not have corruption messages about test2 anymore,
and shows the same output as mi_test_all except that
ma_test_all has this at the start:
lt-maria_chk: MARIA file test1
lt-maria_chk: warning: Size of indexfile is: 8192 Should be: 16384
MARIA-table 'test1' is usable but should be fixed
This was already true before importing the bugfix.
Wonder if normal.
NOTE: this bugfix is currently in 5.1-engines, in a few days
will be in the main 5.1, then we'll merge 5.1
into Maria: this will merge the bugfix into storage/myisam, but there
will be no need to apply it to storage/maria again. I just couldn't
wait a few days for the 5.1-engines->5.1 merge to be allowed.
mysql-test/r/maria.result:
result update
mysql-test/t/maria.test:
test for BUG#22119
storage/maria/ma_check.c:
fix for BUG#22119
---
comments
mysys/lf_alloc-pin.c:
comments
mysys/lf_dynarray.c:
comments
mysys/lf_hash.c:
comments, charset-aware comparison
storage/maria/trnman.c:
comments
storage/maria/unittest/lockman-t.c:
test case for a bug
unittest/mysys/my_atomic-t.c:
removed mistakenly copied line
storage/maria/trnman.c:
comments
include/my_dbug.h:
make DBUG_ASSERT always a statement
storage/maria/lockman.h:
comments
include/lf.h:
lf_pinbox - don't use a fixed-size purgatory.
mysys/lf_alloc-pin.c:
lf_pinbox - don't use a fixed-size purgatory.
mysys/lf_hash.c:
lf_pinbox - don't use a fixed-size purgatory.
storage/maria/lockman.c:
removed IGNORE_ME/UPGDARED matching - it was wrong in the first place.
updated for "lf_pinbox - don't use a fixed-size purgatory"
storage/maria/unittest/lockman-t.c:
IGNORE_ME/UPGRADED pair counting bugtest.
more tests
unittest/mysys/my_atomic-t.c:
lf_pinbox - don't use a fixed-size purgatory.
into janus.mylan:/usr/home/serg/Abk/mysql-maria
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
mysys/Makefile.am:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_test.cc:
Auto merged
storage/maria/Makefile.am:
Auto merged
storage/maria/ha_maria.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
unittest/Makefile.am:
Auto merged
unittest/mysys/my_atomic-t.c:
merged
(lockmanager still fails unit tests)
BitKeeper/deleted/.del-Makefile.am~4375ae3d4de2bdf0:
Delete: unittest/maria/Makefile.am
configure.in:
silence up configure warnings, don't generate unittest/maria/Makefile
include/atomic/nolock.h:
s/LOCK/LOCK_prefix/
include/atomic/x86-gcc.h:
s/LOCK/LOCK_prefix/
include/atomic/x86-msvc.h:
s/LOCK/LOCK_prefix/
include/lf.h:
pin asserts, renames
include/my_atomic.h:
move cleanup
include/my_bit.h:
s/uint/uint32/
mysys/lf_dynarray.c:
style fixes, split for() in two, remove if()s
mysys/lf_hash.c:
renames, minor fixes
mysys/my_atomic.c:
run-time assert -> compile-time assert
storage/maria/Makefile.am:
lockman here
storage/maria/unittest/Makefile.am:
new unit tests
storage/maria/unittest/trnman-t.c:
lots of changes
storage/maria/lockman.c:
many changes:
second meaning of "blocker"
portability: s/gettimeofday/my_getsystime/
move mutex/cond out of LOCK_OWNER - it creates a race condition
that will be fixed in a separate changeset
increment lm->count for every element, not only for distinct ones -
because we cannot decrease it for distinct elements only :(
storage/maria/lockman.h:
move mutex/cond out of LOCK_OWNER
storage/maria/trnman.c:
move mutex/cond out of LOCK_OWNER
atomic-ops to access short_trid_to_trn[]
storage/maria/trnman.h:
move mutex/cond out of LOCK_OWNER
storage/maria/unittest/lockman-t.c:
unit stress test
as in the main 5.1 (partition and ndb_alter_table fail).
mysql-test/r/maria.result:
merge from MyISAM
mysql-test/r/ps_maria.result:
merge from MyISAM
mysql-test/t/maria.test:
merge from MyISAM
sql/mysql_priv.h:
fix after wrong merge
sql/mysqld.cc:
fix after wrong merge
sql/set_var.cc:
adding _db like other engines have
storage/maria/Makefile.am:
merge from MyISAM
storage/maria/ha_maria.cc:
merge from MyISAM
storage/maria/ha_maria.h:
merge from MyISAM
storage/maria/ma_check.c:
merge from MyISAM
storage/maria/ma_delete.c:
merge from MyISAM
storage/maria/ma_init.c:
maria_inited should rather be my_bool
storage/maria/ma_locking.c:
merge from MyISAM
storage/maria/ma_packrec.c:
merge from MyISAM
storage/maria/ma_panic.c:
maria_panic() should not take mutex if engine has not been inited.
storage/maria/ma_rkey.c:
merge from MyISAM
storage/maria/ma_write.c:
merge from MyISAM
storage/maria/maria_def.h:
merge from MyISAM. maria_inited is needed for maria_panic().
storage/maria/maria_ftdump.c:
merge from MyISAM
into janus.mylan:/usr/home/serg/Abk/mysql-maria
configure.in:
Auto merged
include/Makefile.am:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/my_bitmap.c:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/maria/ha_maria.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/maria/Makefile.am:
merged
unittest/Makefile.am:
merged
last round of fixes to the storage engines' and plugins' unit tests
structure. Will extract a total patch and push it in 5.1 as has been
approved.
Makefile.am:
unittest must be before storage and plugin, because engine and plugin
may have unit tests which link with libtap which is found in
unitttest.
config/ac-macros/plugins.m4:
When enabling an engine/plugin, add its directory to the list
of directories where unit tests should be searched. That is,
its directory will be recursively searched by our unit test framework
which will execute any executable *-t file.
storage/maria/ma_control_file.c:
those my_message pollute the output of unit tests.
storage/maria/plug.in:
When Maria is enabled, add its unittest Makefile.
unittest/Makefile.am:
plugins too
changing pseudocode to use the structures of the Maria pagecache
("pagecache->changed_blocks" etc) and other Maria structures
inherited from MyISAM (THR_LOCK_maria etc).
mysys/mf_pagecache.c:
comment
storage/maria/ma_checkpoint.c:
changing pseudocode to use the structures of the Maria pagecache
("pagecache->changed_blocks" etc) and other Maria structures
inherited from MyISAM (THR_LOCK_maria etc).
storage/maria/ma_checkpoint.h:
copyright
storage/maria/ma_control_file.c:
copyright
storage/maria/ma_control_file.h:
copyright
storage/maria/ma_least_recently_dirtied.c:
copyright
storage/maria/ma_least_recently_dirtied.h:
copyright
storage/maria/ma_recovery.c:
copyright
storage/maria/ma_recovery.h:
copyright
storage/maria/unittest/Makefile.am:
copyright
Fixes after Brian's and Serg's comments: storage engine's unit tests
are now in storage/<engine>/unittest instead of unittest/storage/<engine>
BitKeeper/deleted/.del-Makefile.am~78ea2e42d44d121f:
Delete: unittest/storage/maria/Makefile.am
BitKeeper/deleted/.del-Makefile.am~80497dbf1a80bdf3:
Delete: unittest/storage/Makefile.am
storage/maria/unittest/ma_control_file-t.c:
Rename: unittest/storage/maria/ma_control_file-t.c -> storage/maria/unittest/ma_control_file-t.c
config/ac-macros/plugins.m4:
we change from unittest/storage/<engine>/ to storage/<engine>/unittest:
if the engine is enabled has such a directory, build this directory,
and add it to the list of unit tests to run.
configure.in:
this dir does not exist anymore
storage/maria/Makefile.am:
to build Maria unittests, libmaria must be built.
unittest/Makefile.am:
unittest/storage is removed. target "unitests" is defined at
"configure" time based on enabled engines.
storage/maria/unittest/Makefile.am:
simple Makefile.am to build ma_control_file-t
Fitting ma_control_file_test into the mytap unittest framework:
new directories:
- unittest/storage/ for unit tests of any storage engine
- unittest/storage/maria for ... Maria, containing ma_control_file-t.
Later, older tests like ma_test*, ma_test_all (but which is Unix
dependent in its current form) could move here too.
The plugins macro enable building of unittest/storage/X for any
enabled engine X which has such a directory.
If Falcon wants to have unit tests there too, I may have to merge
this patch into 5.x one day.
config/ac-macros/plugins.m4:
If a storage engine has a directory in unittest/storage, build this
directory.
configure.in:
build storage engines' unit tests.
storage/maria/Makefile.am:
ma_control_file_test moves to unittest/storage/maria
storage/maria/ma_control_file.c:
more error codes when opening the control file fails.
ma_control_file_end() may now return an error if my_close() failed.
storage/maria/ma_control_file.h:
more error codes when opening the control file fails.
unittest/Makefile.am:
adding unit tests for storage engines.
Note that unit.pl simply recurses into "storage", so if a unit test for
storage engine X has been built previously, and now you re-configure
(without making clean) to disable this engine, then the unit test of
X will not be rebuilt but will still be present in storage/X, so will
be run.
unittest/storage/maria/ma_control_file-t.c:
Making the test fit the mytap framework (return all the way up
the stack instead of assert(); use the mytap functions plan(), ok() etc).
Adding test of file too short/long.
unittest/storage/maria/Makefile.am:
a_control_file-t is added to the Maria unit tests.
Later, older tests (ma_test1 etc) could also move here.
unittest/storage/Makefile.am:
New BitKeeper file ``unittest/storage/Makefile.am''
storage/maria/ft_maria.c:
Rename: BitKeeper/deleted/.del-ft_maria.c -> storage/maria/ft_maria.c
configure.in:
maria moves to its plug.in
storage/maria/Makefile.am:
merging changes made to MyISAM into Maria.
ft_maria.c is still needed.
storage/maria/ha_maria.cc:
merging changes made to MyISAM into Maria
storage/maria/ma_dynrec.c:
merging changes made to MyISAM into Maria
storage/maria/ma_extra.c:
merging changes made to MyISAM into Maria
storage/maria/ma_ft_parser.c:
merging changes made to MyISAM into Maria
storage/maria/ma_open.c:
merging changes made to MyISAM into Maria
storage/maria/ma_sort.c:
merging changes made to MyISAM into Maria
storage/maria/ma_update.c:
merging changes made to MyISAM into Maria
storage/maria/ma_write.c:
merging changes made to MyISAM into Maria
storage/maria/maria_def.h:
merging changes made to MyISAM into Maria
storage/myisam/Makefile.am:
merging changes made to MyISAM into Maria
storage/maria/plug.in:
merging changes made to MyISAM into Maria
First step: ha_maria moves to storage/maria.
BitKeeper/deleted/.del-ft_maria.c:
Delete: storage/maria/ft_maria.c
storage/maria/ha_maria.h:
Rename: sql/ha_maria.h -> storage/maria/ha_maria.h
storage/maria/ha_maria.cc:
Rename: sql/ha_maria.cc -> storage/maria/ha_maria.cc
libmysqld/Makefile.am:
ha_maria moves to other dir (like myisam has)
sql/Makefile.am:
ha_maria moves to other dir (like myisam has)
sql/mysqld.cc:
ha_maria moves to other dir (like myisam has)
storage/maria/Makefile.am:
I delete ft_maria.c like ft_myisam.c has
storage/maria/ma_test_all.sh:
-l option is removed (no MyISAM log in Maria), maria_log is removed too.
added checksum of the file. Now we have size + magic string + checksum
to detect that all is ok.
Plus misc fixes for "make dist" to work and the resulting tarball to build
include/Makefile.am:
adding pagecache.h to help the tarball build.
The model of pagecache.h, keycache.h, is in pkginclude_HEADERS,
wonder why. Adding pagecache.h to noinst_HEADERS for now.
storage/maria/Makefile.am:
adding ma_control_file.h to help the tarball build
storage/maria/ma_control_file.c:
adding a simple checksum to the control file.
We protect against corruption of this file like this:
- test size
- test magic string at start
- test checksum
I also add some simple my_message() errors (to be changed to a better
reporting later).
storage/maria/ma_control_file.h:
comments
storage/maria/ma_control_file_test.c:
test of wrong checksum in control file
storage/maria/CMakeLists.txt:
just to make "make dist" happy for now.
- fixes to the control file module
- unit test for it
- renames of all Maria files I created to start with ma_
storage/maria/ma_checkpoint.c:
Rename: storage/maria/checkpoint.c -> storage/maria/ma_checkpoint.c
storage/maria/ma_checkpoint.h:
Rename: storage/maria/checkpoint.h -> storage/maria/ma_checkpoint.h
storage/maria/ma_least_recently_dirtied.c:
Rename: storage/maria/least_recently_dirtied.c -> storage/maria/ma_least_recently_dirtied.c
storage/maria/ma_least_recently_dirtied.h:
Rename: storage/maria/least_recently_dirtied.h -> storage/maria/ma_least_recently_dirtied.h
storage/maria/ma_recovery.c:
Rename: storage/maria/recovery.c -> storage/maria/ma_recovery.c
storage/maria/ma_recovery.h:
Rename: storage/maria/recovery.h -> storage/maria/ma_recovery.h
storage/maria/Makefile.am:
control file module and its unit test program
storage/maria/ma_control_file.c:
DBUG_ tags. Fix for gcc warnings.
log_no -> logno (I felt "_no" sounded like a standalone "No" word).
ma_ prefix for some functions.
last_checkpoint_lsn_at_startup -> last_checkpoint_lsn (no need
to make special vars for the values at startup). Same for last_logno.
ma_control_file_write_and_force() now updates last_checkpoint_lsn
and last_logno, the idea being that they belong to the module,
others should not update them.
And thus when the module shuts down, it zeroes those vars.
storage/maria/ma_control_file.h:
importing structs from Sanja to get the control file module to compile;
we'll remove that when Sanja pushes the log handler.
CONTROL_FILE_IMPOSSIBLE_LOGNO is 0, not FFFFFFFF.
storage/maria/ma_control_file_test.c:
Unit test program for the Maria control file module.
Modelled after other ma_test* files in this directory (so, does
not follow the unit test framework recently introduced with libtap;
TODO as a task on all ma_test* programs).
We test that writing to the control file works, and re-reading from it
too, we check (by reading the file by ourselves) that its content
on disk is correct, and check that a corrupted control file is detected.