Skip to content

sylr/mike

Repository files navigation

mike(3)
=======

NAME
----
mike - an experimental virtual file system

SYNOPSIS
--------
[verse]
'autoconf'
'./configure' [--help[=short]]
    [--enable-create-database] [--disable-create-database]
    [--enable-create-schema] [--disable-create-schema]
    [--enable-no-atime] [--disable-no-atime]
    [--enable-no-volume-lock] [--disable-no-volume-lock]
    [--enable-tree-max-depth[=<depth>]] [--disable-tree-max-depth]
    [--enable-default-users] [--disable-default-users]
    [--enable-lvm-support]
    [DATABASE_USER=<database_user>]
    [DATABASE_NAME=<database_name>]
    [DATABASE_HOST=<database_host>]
    [DATABASE_PORT=<database_port>]
    [LVM_DEFAULT_LV_NUMBER=<default_lv_number>]
'make'
'make' [install|test|clean]
'make' [def-functions|dev-volumes]
'make' [drop-database|drop-schema]
'make' [graph|gource|stats]
'make' [doc|html|man|install-doc|install-html|install-man]

DESCRIPTION
-----------
Mike is a 'Virtual File System'. In a few words mike is a 'PostgreSQL database' which comes
with a 'SQL API' in order to manage directories and files (inodes). The API provides
a set of functions needed to manipulate the inodes into the database.

The main idea in Mike's design is that a file system is accessed and browsed
most of the time, but rarely modified. Knowing that, Mike stores for each inodes
metadata which are calculated only when the file system is modified in order to
make browsing the fastest possible because all the data fetched are stored, not calculated.

See linkmike:mike-design[3].

Versions
--------
Mike's releases' names follow the following pattern :

  Mike v<MAJOR>.<MINOR>.<MAINT>[-rc<RC>]

 - 'Major' releases contain new major feature(s) and 'are not' constrained to respect 'backward compatibility'.
 - 'Minor' releases contain new feature(s) and 'are' constrained to respect 'backward compatibility'.
 - 'Maintenance' releases contain fixes for Major and Minor releases.
 - 'Release Candidate' releases are milestones before upcoming Major, Minor or Maint releases.

[NOTE]
Mike 'will not be supported' until 'v1.0.0' release. Until then, Minor and Maint
releases are only development milestones meant to mark important changes made to
the source code.

ifdef::backend-xhtml11[]
Releases Notes
~~~~~~~~~~~~~~
 * link:relnotes/mike-v0.5.0.html[Mike-v0.5.0]
endif::backend-xhtml11[]

Install
-------
See linkmike:mike-install[1].

Development Guidelines
----------------------
See linkmike:mike-dev-guidelines[7].

Structure
---------

Tables
~~~~~~
See linkmike:mike-tables[3].

Functions
~~~~~~~~~
See linkmike:mike-functions[3].

Contrib
-------
See linkmike:mike-contrib[7].

Contributors
------------
Mike designer, maintainer and main developer is Sylvain Rabot <sylvain@abstraction.fr>.

Other contribtors :

 - Jean-Yves Eckert <jean-yves.eckert@f-secure.com> (C, ASM)

License
-------
See linkmike:mike-license[3].

Tools of the trade
------------------
See linkmike:mike-tools-of-the-trade[3].

Authors
-------
Written by Sylvain Rabot <sylvain@abstraction.fr>

MIKE
----
Part of the linkmike:mike[3] suite.