Commit graph

1688 commits

Author SHA1 Message Date
unknown
e39aae7ca7 Maria: fix for a bug in the transaction's manager and a bug in
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]
2006-11-08 23:22:38 +01:00
unknown
887383d4e4 Manually importing Ingo's fix for BUG#22119
"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
2006-10-30 12:44:33 +01:00
unknown
8e971a057a Merge bk-internal.mysql.com:/home/bk/mysql-maria
into  janus.mylan:/usr/home/serg/Abk/mysql-maria


storage/maria/trnman.c:
  Auto merged
2006-10-27 17:10:06 +02:00
unknown
7ca33ae5b5 comments, minor changes
---
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
2006-10-27 17:09:31 +02:00
unknown
bef65f33c2 trnman_destroy returns void, remove unused variables
storage/maria/trnman.h:
  trnman_destroy returns void
2006-10-23 12:44:08 +02:00
unknown
32739cbbca make sure all test threads really exit before main() - workaround for
NPTL bug in some linux kernels (Bug#22320)
2006-10-22 16:05:18 +02:00
unknown
79ff2b036c malloc() failure is unlikely().
storage/maria/trnman.c:
  malloc() failure is unlikely
2006-10-21 15:53:42 +02:00
unknown
fb818dd7b0 more post-review fixes - comments, renames, error checks in unit tests
concurrency bug in lock manager


include/my_global.h:
  compile-time assert macro
mysys/my_atomic.c:
  use compile_time_assert() macro
storage/maria/lockman.c:
  bug in concurrent lockdelete (with retries)
storage/maria/trnman.c:
  more post-review fixes - comments, renames
storage/maria/trnman.h:
  more post-review fixes - comments
storage/maria/unittest/lockman-t.c:
  friendlier error checks
storage/maria/unittest/trnman-t.c:
  friendlier error checks
2006-10-20 14:02:18 +02:00
unknown
aea73116c1 post-review fixes (style)
include/lf.h:
  comments
2006-10-19 12:21:30 +02:00
unknown
12a55aeabc lock manager passed unit tests
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.
2006-10-18 17:24:07 +02:00
unknown
0cb4644010 This is not supposed to be pushed, it is just to check of source of mac os problems
storage/maria/_MakeLists.txt:
  Rename: storage/maria/CMakeLists.txt -> storage/maria/_MakeLists.txt
2006-10-15 22:26:42 +03:00
unknown
67a2b7cf29 Merge bk-internal.mysql.com:/home/bk/mysql-maria
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
2006-10-13 11:43:33 +02:00
unknown
c2872bafde push for trnman review
(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
2006-10-13 11:37:27 +02:00
unknown
0a1dc8af5b Merge of recent MyISAM changes into Maria. Testsuite passes as much
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
2006-10-11 19:30:16 +03:00
unknown
d551a55a1b Merge bk-internal.mysql.com:/home/bk/mysql-maria
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
2006-09-20 16:39:14 +02:00
unknown
09a7f30973 WL#3234 Maria Control file manager
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
2006-09-15 11:05:35 +02:00
unknown
cdf831cf94 WL#3071 Maria checkpoint:
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
2006-09-14 19:06:51 +02:00
unknown
15b9ce2201 WL#3234 Maria control file
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
2006-09-12 15:52:01 +02:00
unknown
26fb36067a WL#3234 Maria control file manager.
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''
2006-09-11 16:12:31 +02:00
unknown
4c6971b402 Manually merging changes made to MyISAM into Maria. End of merge.
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
2006-09-07 17:07:17 +02:00
unknown
4535e559db Merge of Myisam changes 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.
2006-09-07 11:12:37 +02:00
unknown
fa793bca31 WL#3234 "Maria - control file manager":
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.
2006-09-04 16:53:09 +02:00
unknown
a1f25544d5 WL#3234 "Maria - control file manager"
- 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.
2006-09-01 17:53:10 +02:00
unknown
8a2901a758 write a magic string "MACF" (MAria Control File) at the start of the control file.
lsn8store, lsn8korr.


storage/maria/control_file.h:
  parameter changes name
2006-08-30 10:55:27 +02:00
unknown
52191ea4d8 importing Sanja's changes to the control file, with my changes on them.
mysys/my_pread.c:
  print errno in case of error
storage/maria/control_file.c:
  importing Sanja's changes, with my minor changes on them :)
storage/maria/control_file.h:
  importing Sanja's changes, with my minor changes on them :)
2006-08-29 22:10:06 +02:00
unknown
87aa4ae2d3 just comment changes and line formatting changes.
storage/maria/checkpoint.c:
  comments
storage/maria/least_recently_dirtied.c:
  comments
storage/maria/ma_check.c:
  line formatting changes neglected from my last merge
storage/maria/ma_ft_parser.c:
  it reduces the diff of MyISAM vs Maria :)
storage/maria/recovery.c:
  comments
2006-08-29 11:30:35 +02:00
unknown
d83bc171b6 renamed global variables 2006-08-23 17:27:21 +02:00
unknown
74d050d000 maria transaction manager with unit tests
include/lf.h:
  few lf API changes
mysys/lf_alloc-pin.c:
  few lf API changes
mysys/lf_dynarray.c:
  few lf API changes
mysys/lf_hash.c:
  few lf API changes
storage/maria/Makefile.am:
  transaction manager
unittest/Makefile.am:
  maria transaction manager
unittest/mysys/my_atomic-t.c:
  ensure that values are positive
storage/maria/trxman.h:
  New BitKeeper file ``storage/maria/trxman.h''
unittest/maria/Makefile.am:
  New BitKeeper file ``unittest/maria/Makefile.am''
unittest/maria/trxman-t.c:
  New BitKeeper file ``unittest/maria/trxman-t.c''
storage/maria/trxman.c:
  comment clarified
2006-08-17 15:20:58 +02:00
unknown
d1a8a2c734 fixes for inline bit functions 2006-08-11 01:16:51 +02:00
unknown
99c431db92 Completion of merge of mysql-5.1 into mysql-maria.
Manually imported changes done to MyISAM (include/myisam.h,
storage/myisam/*, sql/ha_myisam.*, mysql-test/t/myisam.test,
mysql-test/t/ps_2myisam.test) the last
months into Maria (tedious, should do it more frequently in the
future), including those not done at the previous 5.1->Maria merge
(please in the future don't forget to apply MyISAM changes to Maria
when you merge 5.1 into Maria).
Note: I didn't try to import anything which could be MyISAM-related
in other tests of mysql-test (I didn't want to dig in all csets),
but as QA is working to make most tests re-usable for other engines
(Falcon), it is likely that we'll benefit from this and just have
to set engine=Maria somewhere to run those tests on Maria.
func_group and partition tests fail but they already do in main 5.1
on my machine. No Valgrind error in t/*maria*.test.
Monty: please see the commit comment of maria.result and check.


BitKeeper/deleted/.del-ha_maria.m4:
  Delete: config/ac-macros/ha_maria.m4
configure.in:
  fix for the new way of enabling engines
include/maria.h:
  importing changes done to MyISAM the last months into Maria
include/my_handler.h:
  importing changes done to MyISAM the last months into Maria
include/myisam.h:
  importing changes done to MyISAM the last months into Maria
mysql-test/r/maria.result:
  identical to myisam.result, except the engine name in some places
  AND in the line testing key_block_size=1000000000000000000:
  Maria gives a key block size of 8192 while MyISAM gives 4096;
  is it explainable by the difference between MARIA_KEY_BLOCK_LENGTH
  and the same constant in MyISAM? Monty?
mysql-test/r/ps_maria.result:
  identical to ps_2myisam.result (except the engine name in some places)
mysql-test/t/maria.test:
  instead of engine=maria everywhere, I use @@storage_engine (reduces
  the diff with myisam.test).
  importing changes done to MyISAM the last months into Maria
mysys/my_handler.c:
  importing changes done to MyISAM the last months into Maria
sql/ha_maria.cc:
  importing changes done to MyISAM the last months into Maria
sql/ha_maria.h:
  importing changes done to MyISAM the last months into Maria
sql/mysqld.cc:
  unneeded
storage/maria/Makefile.am:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_check.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_create.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_delete_table.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_dynrec.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_extra.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_boolean_search.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_eval.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_nlq_search.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_parser.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_test1.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ft_update.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_ftdefs.h:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_key.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_open.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_page.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_rkey.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_rsamepos.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_rt_index.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_rt_mbr.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_search.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_sort.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_test1.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_test2.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_test3.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_update.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/ma_write.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/maria_chk.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/maria_def.h:
  importing changes done to MyISAM the last months into Maria
storage/maria/maria_ftdump.c:
  importing changes done to MyISAM the last months into Maria
storage/maria/maria_pack.c:
  importing changes done to MyISAM the last months into Maria
2006-08-10 16:36:54 +02:00
unknown
e6efa27c0b Writing down MikaelR's comments made in May in Helsinki so that they are not forgotten. Minor fixes.
storage/maria/checkpoint.c:
  minor fixes
storage/maria/least_recently_dirtied.c:
  writing down MikaelR's comments.
storage/maria/recovery.c:
  writing down MikaelR's comments.
  Some small fixes.
2006-07-26 10:36:34 +02:00
unknown
30e5a9bd1b Post-vacation-musing fixes to WL#3071 "Maria checkpoint":
changes to how synchronous checkpoint requests are executed.
changes to how the background LRD flushing thread refrains from using
all resources. See more comments for each file.


storage/maria/checkpoint.c:
  I was not happy that checkpoint requests which want to know the success/error
  of their executed request, get inaccurate information in case of error
  (no error string etc). Instead of implementing a more complete communication
  protocol between requestor and executor, I make the requestor do the
  execution itself. I call this a synchronous checkpoint.
  For asynchronous checkpoints (requestor does not want to know success/error,
  does not want to wait for completion), no change, checkpoint is executed
  by the background thread.
  Comments, constants, mutex usage fixes.
storage/maria/checkpoint.h:
  new prototype of "API" (the calls exposed by the checkpoint module)
storage/maria/least_recently_dirtied.c:
  A better solution than sleeping one second after flushing a piece of the
  LRD: instead we pthread_yield(). Hopefully this will slow down the background
  thread (avoiding it using all the disk's bandwidth) if there are other threads 
  competing, and will not slow it down if this thread is alone (where we do
  want it to run fast and not do useless sleeps).
  This thread will probe for asynchronous checkpoint requests every few seconds.
2006-07-24 21:50:18 +02:00
unknown
157002b12f WL#3270 "Maria - cleanups of inherited MyISAM functionality"
Removing the "external lock" functionality from Maria (as two separate processes wanting to share a table
should not only my_lock() the data and index files but also the log files, and share memory
(as the latest data is in the page cache), it sounds useless to feature this).
Removing the MyISAM logging from Maria (as REDO logging will be done differently).


BitKeeper/deleted/.del-maria_log.c~1fb295a18c3f5d4c:
  Delete: storage/maria/maria_log.c
BitKeeper/deleted/.del-ma_log.c~4a44ec11d547772f:
  Delete: storage/maria/ma_log.c
include/maria.h:
  unneeded
storage/maria/Makefile.am:
  log removed
storage/maria/ma_check.c:
  external locking removed
storage/maria/ma_close.c:
  log removed
storage/maria/ma_delete.c:
  log removed
storage/maria/ma_delete_all.c:
  log removed. Unused var.
storage/maria/ma_dynrec.c:
  external locking removed
storage/maria/ma_extra.c:
  log removed
storage/maria/ma_init.c:
  log removed
storage/maria/ma_locking.c:
  external locking removed, log removed
storage/maria/ma_open.c:
  external locking removed, log removed
storage/maria/ma_static.c:
  log removed
storage/maria/ma_statrec.c:
  external locking removed
storage/maria/ma_test2.c:
  log removed
storage/maria/ma_test3.c:
  log removed
storage/maria/ma_update.c:
  log removed
storage/maria/ma_write.c:
  external locking removed, log removed
storage/maria/maria_chk.c:
  external locking removed
storage/maria/maria_def.h:
  log removed, maria_pid unused.
storage/maria/maria_pack.c:
  fixes for warnings (where pointers are like ulong and so %u is not enough).
2006-05-05 20:32:02 +02:00
unknown
34dba48054 WL#3072 Maria recovery, small fixes to pseudocode, discussion why no checkpoint at end of UNDO phase.
storage/maria/control_file.h:
  small fix
storage/maria/recovery.c:
  small fixes to the pseudocode and discussion of why no checkpoint at end of UNDO phase.
2006-05-04 10:59:19 +02:00
unknown
06f7675b95 Maria: first version of checkpoint (WL#3071), least-recently-dirtied page flushing (WL#3261), recovery (WL#3072),
control file (WL#3234), to serve as a detailed LLD. It looks like C code, but does not compile (no point in making it compile,
as other modules on which I depend are not yet fully speficied or written); some pieces are not coded and just marked in comments.
Files' organization (names, directories of C files) does not matter at this point.
I don't think I had to commit so early, but it feels good to publish something, gives me the impression of moving forward :)


storage/maria/checkpoint.c:
  WL#3071 Maria checkpoint, implementation
storage/maria/checkpoint.h:
  WL#3071 Maria checkpoint, interface
storage/maria/control_file.c:
  WL#3234 Maria control file, implementation
storage/maria/control_file.h:
  WL#3234 Maria control file, interface
storage/maria/least_recently_dirtied.c:
  WL#3261 Maria background flushing of least-recently-dirtied pages, implementation
storage/maria/least_recently_dirtied.h:
  WL#3261 Maria background flushing of least-recently-dirtied pages, interface
storage/maria/recovery.c:
  WL#3072 Maria recovery, implementation
storage/maria/recovery.h:
  WL#3072 Maria recovery, interface
2006-04-27 16:06:46 +02:00
unknown
379b957808 easy fixes to ma_test_all (to make shell happy)
storage/maria/ma_test_all.sh:
  ; is needed before "else". Some ./ for executables to be found.
2006-04-12 15:36:53 +02:00
unknown
a63446fe79 Add ma_test_all.res
storage/maria/ma_test_all.res:
  New BitKeeper file ``storage/maria/ma_test_all.res''
2006-04-11 20:00:57 +03:00
unknown
d2b8d744d9 Added storage/maria (based on MyISAM). WL#3245
Moved things into ft_global.h, my_handler.h and myisamchk.h to allow MyISAM and Maria to share code and defines
Rename of not properly renamed functions in MyISAM and my_handler.c
Renamed some MI_ defines to HA_ to allow MyISAM and Maria to share
Added maria variables to mysqld.cc and set_var.cc
Fixed compiler warnings



BitKeeper/etc/ignore:
  added storage/maria/*.MAI
BUILD/SETUP.sh:
  Compile maria by default
BitKeeper/triggers/post-commit:
  No public maria emails.
  Mark changesets emails with 'maria'
configure.in:
  Add maria
include/ft_global.h:
  Move defines needed by maria and MyISAM here
include/keycache.h:
  Add support for default key_cache if cache not found
include/my_base.h:
  Add invalidator_by_filename
include/my_handler.h:
  Remove duplicate header files
  Add defines that are typical for handlers (MyISAM and Maria)
include/myisam.h:
  Move things to my_handler.h to allow Maria and MyISAM to share things
  (Some things needed to be shared to allow sharing of HA_CHECK structure)
libmysqld/Makefile.am:
  Added ha_maria.cc
mysys/mf_keycaches.c:
  Added default value for multi_key_cache_search
mysys/my_handler.c:
  mi_compare_text -> ha_compare_text
  Removed compiler warnings
sql/ha_myisam.cc:
  MI_CHECK -> HA_CHECK
  MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
sql/ha_myisam.h:
  MI_CHECK -> HA_CHECK
  MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
sql/ha_myisammrg.h:
  MI_CHECK -> HA_CHECK
  MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
sql/handler.h:
  Added MARIA
  Added inclusion of my_handler.h
sql/item_func.h:
  Remove duplicate include
sql/mysql_priv.h:
  Added maria variables
sql/mysqld.cc:
  Added maria
sql/set_var.cc:
  Added maria status variables
sql/set_var.h:
  Added maria
sql/sql_class.h:
  Added maria status variables
sql/sql_sort.h:
  Remove duplicate BUFFPEK struct
storage/Makefile.am:
  Added maria
storage/csv/ha_tina.cc:
  Removed compiler warning
storage/myisam/Makefile.am:
  Added ft_myisam.c
storage/myisam/ft_boolean_search.c:
  mi_compare_text -> ha_compare_text
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
  Remove compiler warnings
storage/myisam/ft_nlq_search.c:
  mi_compare_text -> ha_compare_text
storage/myisam/ft_parser.c:
  mi_compare_text -> ha_compare_text
storage/myisam/ft_static.c:
  Move ft_init_search() to ft_myisam.c to make ft_static.c independent of MyISAM
storage/myisam/ft_stopwords.c:
  mi_compare_text -> ha_compare_text
storage/myisam/ft_update.c:
  mi_compare_text -> ha_compare_text
storage/myisam/fulltext.h:
  Move things to ft_global.h to allow to share more things between MyISAM and Maria
storage/myisam/mi_check.c:
  MI_CHECK -> HA_CHECK
storage/myisam/mi_create.c:
  MI_MAX_POSSIBLE_KEY ->   HA_MAX_POSSIBLE_KEY
  MI_MAX_KEY_BLOCK_SIZE -> HA_MAX_KEY_BLOCK_SIZE
  MI_MAX_KEY_SEG ->  HA_MAX_KEY_SEG
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
storage/myisam/mi_delete.c:
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
storage/myisam/mi_delete_all.c:
  Remove not used variable
storage/myisam/mi_dynrec.c:
  _my_calc_total_blob_length -> _mi_calc_total_blob_length
storage/myisam/mi_key.c:
  _my_store_blob_length -> _mi_store_blob_length
storage/myisam/mi_log.c:
  _my_calc_total_blob_length -> _mi_calc_total_blob_length
storage/myisam/mi_open.c:
  MI_MAX_POSSIBLE_KEY -> HA_MAX_POSSIBLE_KEY
  MI_MAX_KEY_SEG ->      HA_MAX_KEY_SEG
  MI_MAX_KEY_BUFF ->     HA_MAX_KEY_BUFF
  my_n_base_info_read -> mi_n_base_info_read
storage/myisam/mi_packrec.c:
  Made read_pack_length static
  _my_store_blob_length -> _mi_store_blob_length
  Remove not used variable
storage/myisam/mi_range.c:
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
storage/myisam/mi_search.c:
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
storage/myisam/mi_test1.c:
  MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
storage/myisam/mi_test2.c:
  Fixed compiler warning
storage/myisam/mi_unique.c:
  Fixed compiler warning
  mi_compare_text -> ha_compare_text
storage/myisam/mi_update.c:
  MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
storage/myisam/mi_write.c:
  Rename of defines and functions
storage/myisam/myisamchk.c:
  Rename of defines and functions
storage/myisam/myisamdef.h:
  Remove tabs
  Indentation fixes (Large changes as I did run indent-ex on the file)
  Move some things to myisamchk.h
  Added missing functions that gave compiler warnings
storage/myisam/myisamlog.c:
  Rename of defines and functions
storage/myisam/myisampack.c:
  Remove compiler warning
storage/myisam/rt_index.c:
  Rename of defines and functions
storage/myisam/sort.c:
  Rename of defines, functions and structures
config/ac-macros/ha_maria.m4:
  New BitKeeper file ``config/ac-macros/ha_maria.m4''
include/maria.h:
  New BitKeeper file ``include/maria.h''
include/myisamchk.h:
  New BitKeeper file ``include/myisamchk.h''
libmysqld/ha_maria.cc:
  New BitKeeper file ``libmysqld/ha_maria.cc''
mysql-test/include/have_maria.inc:
  New BitKeeper file ``mysql-test/include/have_maria.inc''
mysql-test/r/have_maria.require:
  New BitKeeper file ``mysql-test/r/have_maria.require''
mysql-test/r/maria.result:
  New BitKeeper file ``mysql-test/r/maria.result''
mysql-test/r/ps_maria.result:
  New BitKeeper file ``mysql-test/r/ps_maria.result''
mysql-test/t/maria.test:
  New BitKeeper file ``mysql-test/t/maria.test''
mysql-test/t/ps_maria.test:
  New BitKeeper file ``mysql-test/t/ps_maria.test''
sql/ha_maria.cc:
  New BitKeeper file ``sql/ha_maria.cc''
sql/ha_maria.h:
  New BitKeeper file ``sql/ha_maria.h''
storage/maria/Makefile.am:
  New BitKeeper file ``storage/maria/Makefile.am''
storage/maria/cmakelists.txt:
  New BitKeeper file ``storage/maria/cmakelists.txt''
storage/maria/ft_maria.c:
  New BitKeeper file ``storage/maria/ft_maria.c''
storage/maria/ma_cache.c:
  New BitKeeper file ``storage/maria/ma_cache.c''
storage/maria/ma_changed.c:
  New BitKeeper file ``storage/maria/ma_changed.c''
storage/maria/ma_check.c:
  New BitKeeper file ``storage/maria/ma_check.c''
storage/maria/ma_checksum.c:
  New BitKeeper file ``storage/maria/ma_checksum.c''
storage/maria/ma_close.c:
  New BitKeeper file ``storage/maria/ma_close.c''
storage/maria/ma_create.c:
  New BitKeeper file ``storage/maria/ma_create.c''
storage/maria/ma_dbug.c:
  New BitKeeper file ``storage/maria/ma_dbug.c''
storage/maria/ma_delete.c:
  New BitKeeper file ``storage/maria/ma_delete.c''
storage/maria/ma_delete_all.c:
  New BitKeeper file ``storage/maria/ma_delete_all.c''
storage/maria/ma_delete_table.c:
  New BitKeeper file ``storage/maria/ma_delete_table.c''
storage/maria/ma_dynrec.c:
  New BitKeeper file ``storage/maria/ma_dynrec.c''
storage/maria/ma_extra.c:
  New BitKeeper file ``storage/maria/ma_extra.c''
storage/maria/ma_ft_boolean_search.c:
  New BitKeeper file ``storage/maria/ma_ft_boolean_search.c''
storage/maria/ma_ft_eval.c:
  New BitKeeper file ``storage/maria/ma_ft_eval.c''
storage/maria/ma_ft_eval.h:
  New BitKeeper file ``storage/maria/ma_ft_eval.h''
storage/maria/ma_ft_nlq_search.c:
  New BitKeeper file ``storage/maria/ma_ft_nlq_search.c''
storage/maria/ma_ft_parser.c:
  New BitKeeper file ``storage/maria/ma_ft_parser.c''
storage/maria/ma_ft_stem.c:
  New BitKeeper file ``storage/maria/ma_ft_stem.c''
storage/maria/ma_ft_test1.c:
  New BitKeeper file ``storage/maria/ma_ft_test1.c''
storage/maria/ma_ft_test1.h:
  New BitKeeper file ``storage/maria/ma_ft_test1.h''
storage/maria/ma_ft_update.c:
  New BitKeeper file ``storage/maria/ma_ft_update.c''
storage/maria/ma_ftdefs.h:
  New BitKeeper file ``storage/maria/ma_ftdefs.h''
storage/maria/ma_fulltext.h:
  New BitKeeper file ``storage/maria/ma_fulltext.h''
storage/maria/ma_info.c:
  New BitKeeper file ``storage/maria/ma_info.c''
storage/maria/ma_init.c:
  New BitKeeper file ``storage/maria/ma_init.c''
storage/maria/ma_key.c:
  New BitKeeper file ``storage/maria/ma_key.c''
storage/maria/ma_keycache.c:
  New BitKeeper file ``storage/maria/ma_keycache.c''
storage/maria/ma_locking.c:
  New BitKeeper file ``storage/maria/ma_locking.c''
storage/maria/ma_log.c:
  New BitKeeper file ``storage/maria/ma_log.c''
storage/maria/ma_open.c:
  New BitKeeper file ``storage/maria/ma_open.c''
storage/maria/ma_packrec.c:
  New BitKeeper file ``storage/maria/ma_packrec.c''
storage/maria/ma_page.c:
  New BitKeeper file ``storage/maria/ma_page.c''
storage/maria/ma_panic.c:
  New BitKeeper file ``storage/maria/ma_panic.c''
storage/maria/ma_preload.c:
  New BitKeeper file ``storage/maria/ma_preload.c''
storage/maria/ma_range.c:
  New BitKeeper file ``storage/maria/ma_range.c''
storage/maria/ma_rename.c:
  New BitKeeper file ``storage/maria/ma_rename.c''
storage/maria/ma_rfirst.c:
  New BitKeeper file ``storage/maria/ma_rfirst.c''
storage/maria/ma_rkey.c:
  New BitKeeper file ``storage/maria/ma_rkey.c''
storage/maria/ma_rlast.c:
  New BitKeeper file ``storage/maria/ma_rlast.c''
storage/maria/ma_rnext.c:
  New BitKeeper file ``storage/maria/ma_rnext.c''
storage/maria/ma_rnext_same.c:
  New BitKeeper file ``storage/maria/ma_rnext_same.c''
storage/maria/ma_rprev.c:
  New BitKeeper file ``storage/maria/ma_rprev.c''
storage/maria/ma_rrnd.c:
  New BitKeeper file ``storage/maria/ma_rrnd.c''
storage/maria/ma_rsame.c:
  New BitKeeper file ``storage/maria/ma_rsame.c''
storage/maria/ma_rsamepos.c:
  New BitKeeper file ``storage/maria/ma_rsamepos.c''
storage/maria/ma_rt_index.c:
  New BitKeeper file ``storage/maria/ma_rt_index.c''
storage/maria/ma_rt_index.h:
  New BitKeeper file ``storage/maria/ma_rt_index.h''
storage/maria/ma_rt_key.c:
  New BitKeeper file ``storage/maria/ma_rt_key.c''
storage/maria/ma_rt_key.h:
  New BitKeeper file ``storage/maria/ma_rt_key.h''
storage/maria/ma_rt_mbr.c:
  New BitKeeper file ``storage/maria/ma_rt_mbr.c''
storage/maria/ma_rt_mbr.h:
  New BitKeeper file ``storage/maria/ma_rt_mbr.h''
storage/maria/ma_rt_split.c:
  New BitKeeper file ``storage/maria/ma_rt_split.c''
storage/maria/ma_rt_test.c:
  New BitKeeper file ``storage/maria/ma_rt_test.c''
storage/maria/ma_scan.c:
  New BitKeeper file ``storage/maria/ma_scan.c''
storage/maria/ma_search.c:
  New BitKeeper file ``storage/maria/ma_search.c''
storage/maria/ma_sort.c:
  New BitKeeper file ``storage/maria/ma_sort.c''
storage/maria/ma_sp_defs.h:
  New BitKeeper file ``storage/maria/ma_sp_defs.h''
storage/maria/ma_sp_key.c:
  New BitKeeper file ``storage/maria/ma_sp_key.c''
storage/maria/ma_sp_test.c:
  New BitKeeper file ``storage/maria/ma_sp_test.c''
storage/maria/ma_static.c:
  New BitKeeper file ``storage/maria/ma_static.c''
storage/maria/ma_statrec.c:
  New BitKeeper file ``storage/maria/ma_statrec.c''
storage/maria/ma_test1.c:
  New BitKeeper file ``storage/maria/ma_test1.c''
storage/maria/ma_test2.c:
  New BitKeeper file ``storage/maria/ma_test2.c''
storage/maria/ma_test3.c:
  New BitKeeper file ``storage/maria/ma_test3.c''
storage/maria/ma_test_all.sh:
  New BitKeeper file ``storage/maria/ma_test_all.sh''
storage/maria/ma_unique.c:
  New BitKeeper file ``storage/maria/ma_unique.c''
storage/maria/ma_update.c:
  New BitKeeper file ``storage/maria/ma_update.c''
storage/maria/ma_write.c:
  New BitKeeper file ``storage/maria/ma_write.c''
storage/maria/maria_chk.c:
  New BitKeeper file ``storage/maria/maria_chk.c''
storage/maria/maria_def.h:
  New BitKeeper file ``storage/maria/maria_def.h''
storage/maria/maria_ftdump.c:
  New BitKeeper file ``storage/maria/maria_ftdump.c''
storage/maria/maria_log.c:
  New BitKeeper file ``storage/maria/maria_log.c''
storage/maria/maria_pack.c:
  New BitKeeper file ``storage/maria/maria_pack.c''
storage/maria/maria_rename.sh:
  New BitKeeper file ``storage/maria/maria_rename.sh''
storage/maria/test_pack:
  New BitKeeper file ``storage/maria/test_pack''
storage/myisam/ft_myisam.c:
  New BitKeeper file ``storage/myisam/ft_myisam.c''
2006-04-11 16:45:10 +03:00