MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown a41ac15b96 Maria - various fixes around durability of files:
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
2006-11-21 22:22:59 +01:00
BitKeeper Merge gbichot3.local:/home/mysql_src/mysql-5.1-clean 2006-10-10 16:59:50 +02:00
BUILD Merge gbichot3.local:/home/mysql_src/mysql-5.1-clean 2006-10-10 16:59:50 +02:00
client Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1 2006-10-10 11:25:24 +02:00
cmd-line-utils Merge neptunus.(none):/home/msvensson/mysql/bug16557/my50-bug16557 2006-02-21 08:57:18 +01:00
config/ac-macros WL#3504 "plugin actions for engines' and plugins' unit tests" 2006-09-15 15:15:24 +02:00
dbug Merge maint2.mysql.com:/data/localhome/tsmith/bk/mrg50/50 2006-09-13 09:03:52 +02:00
Docs Merge trift2.:/MySQL/M50/mysql-5.0 2006-09-22 17:24:06 +02:00
extra Merge neptunus.(none):/home/msvensson/mysql/work/my51-work 2006-09-28 09:38:26 +02:00
include Maria - various fixes around durability of files: 2006-11-21 22:22:59 +01:00
libmysql Maria - various fixes around durability of files: 2006-11-21 22:22:59 +01:00
libmysql_r Re-apply missing changeset, orignally pushed by elliot 2006-06-06 14:21:07 +03:00
libmysqld Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2006-09-14 23:53:35 +04:00
man Makefile.am, configure.in: 2006-07-28 23:12:40 +02:00
mysql-test Manually importing Ingo's fix for BUG#22119 2006-10-30 12:44:33 +01:00
mysys Maria - various fixes around durability of files: 2006-11-21 22:22:59 +01:00
netware Merge neptunus.(none):/home/msvensson/mysql/netware/my50-netware_libmysql_imp 2006-09-28 10:39:55 +02:00
plugin Added license information display to output of plugins schema, and tagged all plugins with GPL flag. 2006-10-05 00:41:29 -07:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex make dist changes for Cmake build 2006-09-01 10:32:12 +02:00
scripts Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0 2006-09-25 01:36:14 +02:00
server-tools Merge alik.:/mnt/raid/alik/MySQL/devel/5.0-rt 2006-09-28 15:10:18 +04:00
sql Maria - various fixes around durability of files: 2006-11-21 22:22:59 +01:00
sql-common Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2006-09-28 14:09:31 +05:00
storage Maria - various fixes around durability of files: 2006-11-21 22:22:59 +01:00
strings Merge bk-internal:/home/bk/mysql-5.1-new-rpl 2006-10-03 15:56:56 +02:00
support-files Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2006-09-28 10:15:32 -04:00
tests Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-real-bug21726 2006-10-02 15:01:19 +04:00
unittest Maria - WL#3134 Key cache to Page cache conversion 2006-11-16 22:53:53 +01:00
vio Merge neptunus.(none):/home/msvensson/mysql/work/my50-work 2006-09-28 16:22:54 +02:00
win Deleted old storage directories (introduced by a buggy 5.0 -> 5.1 merge). 2006-09-21 08:57:47 +02:00
zlib Merge mysql.com:/usr/home/ram/work/mysql-5.0-maint 2006-09-18 10:43:06 +05:00
.bzrignore Merge gbichot3.local:/home/mysql_src/mysql-5.1-clean 2006-10-10 16:59:50 +02:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt In current 5.1 build we don't build embedded server for windows (this will be 2006-09-18 17:28:17 +02:00
configure.in Merge bk-internal.mysql.com:/home/bk/mysql-maria 2006-10-13 11:43:33 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
Makefile.am WL#3504 "plugin actions for engines' and plugins' unit tests" 2006-09-15 15:15:24 +02:00
README README: 2006-04-01 04:13:33 +02:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.