Files
harbour-core/harbour/contrib/pgsql
Viktor Szakats 6b9e24dd93 2007-11-17 03:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_vcce.bat
   * make_vcce.mak
     ! Minor corrections (syncing with existing files).

   * doc/genhtm.bat
     ! Minor fix to make it work out of the box.
     - Some obsolete stuff removed from it.

   * include/hbapiitm.h
   * include/hbapi.h
   * source/vm/itemapi.c
     + Added hb_itemPutCLConst() which is the same as 
       hb_itemPutCConst() but the buffer length can be passed.
       Same as xhb hb_itemPutCRawStatic().

   + contrib/xhb/hbcompat.h
     + Added C level compatibility header file.

   * contrib/win32/w32_ole.c
     ! hb_itemPutCRawStatic() -> hb_itemPutCLConst()
     ! Some more xhb API calls changed to Harbour ones.
     ! TraceLog() -> HB_TRACE()
     ! HB_ITEM s_OleAuto -> PHB_ITEM s_pOleAuto
       TOFIX (new): s_pOleAuto is not freed on app exit.
     ! Fixed a few more internal accesses by using API 
       calls.
     ; NOTE: There are four more complicated problems here 
             to be solved:
             1) hb_stackSetActionRequest() call
             2) Passing direct references to HB_ITEM .value 
                members to external functions.
             3) Storing "hidden" information in string ITEMs 
                prepended after the strings' actual content.
             4) Not freeing s_pOleAuto (this var BTW is used in 
                one static function only)

   * source/rtl/hbinet.c
   * source/rdd/dbcmd.c
     ! Changed some xhb C level API calls to Harbour ones.

   * contrib/xhb/Makefile
   * contrib/freeimage/Makefile
   * contrib/apollo/Makefile
   * contrib/firebird/Makefile
   * contrib/libct/Makefile
   * contrib/telepath/Makefile
   * contrib/pgsql/Makefile
   * contrib/gd/Makefile
   * contrib/libnf/Makefile
   * contrib/tip/Makefile
   * contrib/adordd/Makefile
   * contrib/rdd_ads/Makefile
   * contrib/btree/Makefile
   * contrib/samples/Makefile
   * contrib/mysql/Makefile
   * contrib/odbc/Makefile
   * contrib/pdflib/Makefile
     ! Added C and Harbour public headers to GNU makefiles.
     ! Added one missing SVN header.

   * contrib/pdflib/pdfhbdoc.ch
   * contrib/pdflib/pdf.ch
     ! Added missing SVN headers.

   - contrib/pdflib/pdflib.h
     - Removed this file which belongs to the pdflib 
       package. This package is needed anyway to use 
       this contrib. (but the contrib is badly broken)

   * contrib/pdflib/make_b32.bat
   * contrib/pdflib/make_vc.bat
     ! Minor typo.

   * source/rtl/persist.prg
     ! Prefixed static var name with "s_"
2007-11-17 02:26:51 +00:00
..

$Id$

README 23/12/2003 - Harbour Low Level api for Postgres RDBMS

It's to be seem like Harbour TMysql routines.


IMPORTANT
---------
The class TPostgres, only works with versions 7.4.x or greater, because some methods use information_schema and
New PQexecParams, which use protocol 3.0 and this protocol is only compatible with 7.4 versions.

BORLAND BCC
-----------
Using this library with bcc, you will need import library, ex: implib libpq.lib libpq.dll or (advice this) build your own
Postgres Library.

Go to postgres directory \postgresql-7.4.5\src\interfaces\libpq

Edit bcc32.mak and change the default borland directory for your needs. Example: BCB=c:\Borland\Bcc55

change postgresql-7.4.5\src\include\pg_config.h.win32 to pg_config.h

after this

make -f bcc32.mak

Now look at \postgresql-7.4.5\src\interfaces\libpq\Release, you will find the all .libs and .dlls

If want use the dll, link in your aplication blibpqdll.lib and send blibpq.dll together with your aplication

If you don't wanna use .dll link blibpq.lib, that's it.

LINUX GCC
----------
On Linux you will need link libpq or references by pq.
For full api documentation look at:
http://www.postgresql.org/docs/current/static/libpq.html

FILES:
postgres.c - Low level api
tpostgre.prg - Class implementation, it's to be seems like TMysql.
tests\simple.prg - Simple test class
tests\stress.prg - Stress test 
tests\cache.prg  - Show hot to use .dbf as pg cache, like TDataset for Delphi.

TODO:

That's all folks and sorry my poor english

Rodrigo Moreno - rodrigo_moreno@yahoo.com