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

  Questo programma e' software libero; puo' essere redistribuito e/o
  modificato sotto i termini della GNU General Public License come
  pubblicato dalla Free Software Foundation; o versione 2 o (a vostra
  scelta) a ogni versione successiva.

  Questo programma e' distribuito nella speranza che vi possa essere
  utile ma SENZA ALCUNA GARANZIA; senza nemmeno garanzia implicita
  di COMMERCIABILITA' o IDONEITA' PER UN PARTICOLARE SCOPO. Vedere
  la  GNU General Public License per maggiori dettagli.

  Una copia della GNU General Public License dovrebbe accompagnare
  questo programma; se cosi' non e', scrivete alla Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


picoSQL e' un database relazionale rilasciato sotto licenza GNU.
E' stato compilato con successo sotto Linux usando il compilatore
GNU C/C++ versione 2.96 e sotto Windows usando il MSVC 5.0.

VERSIONE 1.4
------------
E' stato aggionto il tipo SERIAL. Se desiserate creare colonne di questo
tipo con database creati con una versione di picoSQL precedente
la 1.4beta senza perdita di prestazioni, e' necessario lanciare il
seguente comando SQL:

CREATE UNIQUE INDEX __COLUMNS_02 ON __COLUMNS (DF_NAME, DF_CONAM)


VERSIONE 1.1
------------

Questa versione permette la creazione di viste usando il comando "CREATE VIEW".
Se stavate usando la 1.1beta, le viste create con quella versione non
sono visibili in questa. Se avete creato viste con la versione beta,
la cosa migliore e' di cancellare i file  __VIEWS.dat and __VIEWS.idx
sotto la directory dove risiede il dizionario dati prima di creare
nuove viste.
Se non avete creato viste, non dovreste aver problemi.


COMPILAZIONE
------------

Per ricompilarlo sotto Linux/Unix e' sufficiente lanciare il comando
'make' sotto la directory di installazione.
I 'makefiles' sono semplici e dovrebbe essere semplice modificarli
per adattarli a altri compilatori e/o sistemi operativi Unix-like.
A causa di questa semplicita', se modificate gli header files
dovreste eseguire

   make clean

prima di ricompilare.

Per compilare picoSQL in Windows vanno compilati tutti i moduli,
preferibilmente nell'ordine seguente:
   picocpp
   picoiiop
   picosqlnet
   picoserv
   calls
   picosqld
   picosql
   picoisam/picheck
   picoisam/pirecover


DESCRIZIONE DELLE DIRECTORY
---------------------------

picoSQL e' suddiviso in moduli che spesso possono essere usati per se stessi.
Sotto la directory radice della distribuzione sono presenti un certo numero
di directory, alcune delle quali corrispondono a moduli di picoSQL.
L'elenco completo delle directory e' il seguente:

bin        - Programmi eseguibili e script
calls      - C stored procedures
doc        - Documentazione
iiopsql    - Sorgenti comuni per la comunicazione client/server
inc        - Include files comuni
java       - Moduli in linguaggio Java
lib        - Librerie
picoblob   - Modulo di gestione di oggetti binari a lunghezza variabile,
             collegato a picoisam.
             picoSQL usa questo modulo per la gestione dei CLOB e dei BLOB.
             Questo modulo viene rilasciato con licenza GPL.
picocpp    - Libreria generica di oggetti C++. Nata molto prima delle rtti e
             dell'ereditarieta' multipla, permette di generare una gerarchia
             di classi, a partire da PObject, per le quali e' possibile
             individuare a run time il tipo di un oggetto (metodi IsA, IAm e
             NameOf).
             Questo modulo viene rilasciato con licenza LGPL.
picoiiop   - Libreria che consente la realizzazione di architetture client
             server usando il protocollo standard IIOP (Internet Inter ORB
             Protocol). In pratica offre tutte le funzionalita' di RPC ma
             non necessita ne' di linguaggi di descrizione ne' di alcun
             precompilatore. E' scritto in C anziche' in C++ per poter
             essere usato da un maggior numero di programmi. In picoSQL
             viene usato anche per far comunicare i programmi Java JDBC con
             picoSQL.
             Questo modulo viene rilasciato con licenza GPL.
picoisam   - Libreria per la gestione di file a indice le cui specifiche
             derivano dallo standard XPG di X/Open, che a propria volta
             derivano da quelle del C-ISAM.
             Questo modulo viene rilasciato con licenza GPL.
picoserv   - Programmino che potrebbe essere descritto come una versione
             molto semplificata di inetd. In pratica permette di far
             funzionare su rete un qualsiasi programma che comunichi con
             l'esterno solo per mezzo dello standard input e standard output.
             Questo modulo viene rilasciato con licenza GPL.
picosql    - Programma che permette di fare delle query a picoSQL impostandole
             come argomento. E' stato realizzato in questo modo anziche'
             come un interprete di comandi SQL come accede normalmente
             perche' cosi' diventa possibile filtrare i risultati con
             i normali comandi del sistema operativo (more, grep, awk etc.).
             Questo modulo viene rilasciato con licenza GPL.
picosqld   - Contiene i file necessari per compilare il demone picosqld, che
             in pratica e' l'eseguibile che implementa il gestore del database.
             Questo modulo viene rilasciato con licenza GPL.
picosqlnet - Libreria da usare nella realizzazione di programmi C/C++ che
             accedono a picoSQL. Implementa le API ODBC e ne trasferisce
             le richieste, per mezzo del protocollo IIOP a picoSQL.
             Questo modulo viene rilasciato con licenza LGPL.
sqlengine  - Libreria che implementa l'engine SQL. E' il cuore di picoSQL
             ed e' scritta in C++.
             Questo modulo viene rilasciato con licenza GPL.
test       - Contiene il database di test.

