# -*- mode:text; fill-column:75; coding:no-conversion; -*-
# README : DBPAQ Project
#  Copyright (c)2006 Top Pane Networks, Inc., Yokohama
#  Copyright (c)2006 Kuragano Tetsuhiro, Yokohama
#  This program is free software;  you can redistribute it and/or modify
#  it under the terms of the GNU General Public License version 2 (GPL2).
#  This program is distributed under GPL2 WITHOUT ANY WARRANTY.
#  See GPL2 for more details.
# history:
# 2006-12-12 first public version
# 2006-12-27 add depends(ncurses-devel, zlib-devel, readline-devel)

1) you need:

1.1- depend:
do not forget installing which are needed to run testscripts.
following versions are what we use.
earler versions may be OK, but we are not sure.

- perl IO::Tty 1.07
- perl 1.20

followings should be in the latest linux distribution.
- linux kernel 2.6.9
- syslogd 1.4.1
- GNU tar 1.14
- GNU Make 3.80
- GCC(gcc/g++) 3.4.4
- GNU C Library 2.3.5
- GNU ar 2.15
- GNU ld 2.15
- GNU Awk 3.1.3
- egrep(GNU grep) 2.5.1
- readline 4.3
- perl 5.8.5
- curses.h, term.h (ncurses-devel in some distro)
- zlib.h (zlib-devel in some distro)
- readline/readline.h, readline/histroy.h (readline-devel in some distro) 

1.2- optional but recommended:
- GNU gdb 6.3.0
- vargrind 3.2.1
- emacs, etags 21.3.1
- GNU gprof 2.15
- you may use unixODBC 2.2.9, but you are encouraged to static-link libsqlod.a

1.3- copyright
  read the file GPL2. if you could not accept it, stop here.

2) installation:

2.1- create a DBA user

  # adduser dbpaq

2.2- login as a DBA user and untar files

  $ tar xzvf dbpaq200612.tar.gz

2.3- compile and make modules
 if you could not make it, you cannot use it.
 you may want to select NORMAL or DEBUG in the ./src/Makefile.
 NORMAL is a production mode : good for contributers/sql programmers.
 DEBUG is a warn-like-LINT mode : good for contributers/c programmers.

  $ cd src
  $ make
  $ cd ..

2.4- copy files
 read before you run it.
 it is very simple and it does not have any tricks.
 if you could not understand what it does, stop here.

  $ su
  # ./
  # exit

2.5- set up syslog
 if you make it with DEBUG, dbpaq will write to syslog very much.
 so do not forget the minus '-'sign before dbpaq.log in syslog.conf
 to omit syncing the file after every logging
 or create a fifo and use it as a syslog destination.

2.6- create a database named 'TST'
 directory ./t is for testing.
 all scripts will write it's own log files and you should read them before
 stepping next.  011 and 012 take long but these tests should not fail.
 please let us know if you fail.

  $ cd t
  $ ./011create_TST.t
  $ ./012load_system_tables.t
  $ ./013add_dba_user.t
  $ ./014set_backup.t
  $ ./015start_stop.t
  $ cd ..

 you may want to watch a log file from another terminal :
  $ cd t
  $ tail -f ./011/create_TST.t.log

3) testing:

3.1- start the TST
 this starting script is just a example.
 you may write yourself better one and submit it to the mailling list.

  $ ./

3.2- do simple test runs all '02' scripts in ./t directory.
 this test should pass all.
 please report the mailing list if you fail.

  $ ./

3.3- load demo data
 create a demo tables which contains nutrient data.
 034insert_ndb.t scripts will take very long but should not fail
 (it may take more than 12 hours on a normal desktop machine).
 please report the mailing list if you fail.

  $ cd t
  $ ./031create_ndb.t
  $ ./032alter_before_insert.t
  $ ./033run_txt2sql.t
  $ ./034insert_ndb.t
  $ ./035alter_after_insert.t
  $ ./036statistic_ndb.t
  $ cd ..

3.4- do something yourself
 see ./t/ndb/SR19_doc.pdf and 031create_ndb.t

  $ testplus TST test test
  (to exit from testplus, type 'quit;' at the prompt)

3.5- stop the database
 this stopping script is just a example.
 you could write better one or init script and submit it to the mailling list.

  $ ./

4) support

4.1- this program is distributed under GPL2 WITHOUT ANY WARRANTY.
 you could expect public support at

4.2- you can buy private services from Top Pane Networks, Inc., Yokohama.
 please email to



All projects that use the project web services are required to display the logo on all web pages : Logo Support This Project