picoSQL-2.0.2 (C) 2002,2003 picoSoft s.r.l.

 _____       _    _    Corso   Italia,  178
 (_|__   .  (_   |_|_  56125           Pisa
 (_|_) |)|(()_)()| |   tel.  +39  050 46380
   |   |               picosoft@picosoft.it

  Copyright (C) Picosoft s.r.l. 1994-2002

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


picoSQL is a relational database system released under the GPL license.
It has been compiled successfully under Linux using the GNU C/C++
compiler v.2.96 and under MSVC 5.0 under Windows.

VERSION 1.4
-----------
The SERIAL type has been added. To use columns of this type with databases
created with picoSQL of a version prior the 1.4beta without loss of
performances, you need to execute the following SQL statement:

CREATE UNIQUE INDEX __COLUMNS_02 ON __COLUMNS (DF_NAME, DF_CONAM)


VERSION 1.1
-----------

This release allows the creation of views using the "CREATE VIEW" statement.
If you had a 1.1beta version, the views created using with that version
are not visible in this version. So, if you created some view using the
beta version, you should delete the files __VIEWS.dat and __VIEWS.idx
under the data dictionary directory before to create new views.
If you never created views, you should not have any problem.


COMPILATION
-----------

To compile it in Unix/linux you need to run the 'make' program under
the installation directory.
The 'makefiles' are simple and should be simple to modify them to adapt them
to other compilers and/or other Unix-like operating system.
Because of this simplicity, if you make some modification in the header files,
you should run

   make clean

before rebuild the binaries.

To compile picoSQL in Windows you must compile all the modules in the
order:
   picocpp
   picoiiop
   picosqlnet
   picoserv
   calls
   picosqld
   picosql
   picoisam/picheck
   picoisam/pirecover


DIRECTORIES DESCRIPTION
-----------------------

picoSQL is formed by subdivided in modules, each one often useful for itself.
Under the distribution root directory you can find some directories, some of
which are picoSQL modules. The full list is the following:

bin        - Executables programs and script
calls      - C stored procedures
doc        - Documentation
iiopsql    - Common sources for client/server communication
inc        - Common include files
java       - Java language modules
lib        - Libraries
picoblob   - Variable length binary object manager, linked to picoisam. 
             picoSQL use this module to manage BLOB an CLOB objects.
             This moudule is released under license GPL.
picocpp    - Library of generic C++ objects. This library was born a lot before
             multiple inheritance and rtti and allows to generate a hierarchy,
             starting from PObject,  for whose objects it is possible to know
             the type (methods IsA, IAm and NameOf).
             This moudule is released under license LGPL.
picoiiop   - Library useful to develop client/server architectures
             using the standard protocol IIOP (Internet Inter ORB Protocol).
             In practical it offers all the RPC functionalities but it does
             not need description languages ne' nor any precompiler. It is
             written in C languages for greater usability.
             In picoSQL it is used also in order to make to communicate 
             Java JDBC programs with picoSQL.
             This moudule is released under license GPL.
picoisam   - Library to manage indexes files. The API of this library
             derive from the XPG X/Open standard.
             This moudule is released under license GPL.
picoserv   - Simple program that performs a subset of function of inetd.
             It allows to any program, that use only the standard input and
             output, to work on a net.
             This moudule is released under license GPL.
picosql    - This program is useful to do query on picoSQL setting them
             as arguments. This approach allows the use of standard operating
             system filters (more, grep, awk etc.).
             This moudule is released under license GPL.
picosqld   - This directory contains the necessary files to compile the
             executable program that implements the database manager.
             This moudule is released under license GPL.
picosqlnet - Library to develop C/C++ programs that use picoSQL. It implements
             the ODBC API and it transfer the requests to picoSQL using the
             IIOP protocol.
             This moudule is released under license LGPL.
sqlengine  - This library implements the SQL engine. It is the heart of picoSQL
             and it is written using C++ language.
             This moudule is released under license GPL.
test       - Directory containing the test database.

