Files
harbour-core/harbour/contrib/hbfbird
Przemyslaw Czerpak b1d68f0a5e 2010-01-14 01:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyh
  * harbour/src/compiler/harbour.yyc
    ! pacified compile time error when ... is used as parameter in _HB_MEMBRER
      declaration. TODO: Remove or fix this strong typing grammar rules.

  * harbour/src/debug/dbgtwin.prg
  * harbour/src/debug/dbgtmenu.prg
  * harbour/src/debug/tbrwtext.prg
  * harbour/src/debug/debugger.prg
  * harbour/src/debug/dbgtinp.prg
  * harbour/src/rtl/tbcolumn.prg
  * harbour/src/rtl/listbox.prg
  * harbour/src/rtl/pushbtn.prg
  * harbour/src/rtl/treport.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/tthreadx.prg
  * harbour/src/rtl/checkbox.prg
  * harbour/src/rtl/tsymbol.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tmenuitm.prg
  * harbour/src/rtl/tbrowse.prg
  * harbour/contrib/hbmysql/tmysql.prg
  * harbour/contrib/xhb/stream.prg
  * harbour/contrib/xhb/trpccli.prg
  * harbour/contrib/xhb/hblognet.prg
  * harbour/contrib/xhb/tfile.prg
  * harbour/contrib/xhb/tframe.prg
  * harbour/contrib/xhb/htjlist.prg
  * harbour/contrib/xhb/hblog.prg
  * harbour/contrib/xhb/trpc.prg
  * harbour/contrib/xhb/thtm.prg
  * harbour/contrib/xhb/tcgi.prg
  * harbour/contrib/xhb/ttable.prg
  * harbour/contrib/xhb/txml.prg
  * harbour/contrib/xhb/hjwindow.prg
  * harbour/contrib/xhb/htmutil.prg
  * harbour/contrib/hbodbc/todbc.prg
  * harbour/contrib/hbfbird/tfirebrd.prg
  * harbour/contrib/xpp/tthreadx.prg
  * harbour/contrib/hbpgsql/tpostgre.prg
  * harbour/contrib/hbgd/gdchart.prg
  * harbour/contrib/hbgd/gdimage.prg
  * harbour/contrib/hbgd/gdbar.prg
  * harbour/contrib/hbgd/gdbarcod.prg
  * harbour/contrib/hbmisc/twirler.prg
  * harbour/contrib/hbtip/thtml.prg
  * harbour/contrib/hbtip/cgi.prg
  * harbour/contrib/hbtip/httpcli.prg
  * harbour/contrib/hbtip/smtpcli.prg
  * harbour/contrib/hbtip/client.prg
  * harbour/contrib/hbtip/ftpcli.prg
  * harbour/contrib/hbtip/mail.prg
  * harbour/contrib/hbtip/popcli.prg
  * harbour/contrib/hbwin/win_tprn.prg
  * harbour/contrib/hbbtree/tbtree.prg
  * harbour/utils/hbformat/hbformat.prg
    ! fixed class method declarations to be synced with method implementations
      All of the above missdeclarations were detected by compilation with:
         HB_USER_PRGFLAGS=-DHB_CLS_PARAMS_ERR
      Few years ago in hbclass.ch I defined PP rules to force strict method
      declarations but I had to disable them due to problems with old PP.
      I defined HB_CLS_NO_PARAMS_ERR and left this note in hbclass.ch:
         > I have to enable this definition by default until we will not fix
         > preprocessor. [druzus]
      Current PP code works correctly so we can remove it and activate this
      code. Anyhow as above commit shows a lot of code has been created with
      wrong declarations. I fixed Harbour core code (except HBQT, HBXBP and
      GTWVG - I hope Pritpal or Viktor will fix it) but setting
      HB_CLS_PARAMS_ERR as default will exploit a lot of similar problems in
      user code so I would like the hear other developers' opinions about it.
2010-01-14 00:45:19 +00:00
..

/*
 * $Id$
 */

README 23/12/2003 - Harbour Low Level api for Firebird and Interbase RDBMS

This work is not finished yet. It's to be seem like Harbour TMysql routines.

To use with bcc, you need import library, ex: implib fbclient.lib fbclient.dll or implib gds32.lib gds32.dll.
On Linux you will need link fbclient.so, this can be found usually at /usr/lib.

For full firebird documentation look at:

Firebird home: http://firebird.sourceforge.net/index.php
Api: http://www.ibphoenix.com/downloads/60ApiGuide.zip
Data Definition: http://www.ibphoenix.com/downloads/60DataDef.zip
Language Reference: http://www.ibphoenix.com/downloads/60LangRef.zip
Developers guide: http://www.ibphoenix.com/downloads/60DevGuide.zip

The Class implementation has no all implementation like TMysql has, because Firebird it's diferent.
For example, you can't navigate in records like Mysql do, ex: Getrow( number of row ), in firebird you can
just go forward.

You will need ibase.h, it can be found at firebird/include

FILES:

firebird.c - Low level api
TFirebird.prg - Class implementation, it's to be seems like TMysql.

tests\simple.prg - Simple test class
tests\stress.prg - Stress test class
tests\test.prg   - Testing using only low level api
tests\test.c     - Pure C code to test firebird access.

TODO:

Full implementation of blob control. For now, we have only partial control, only for text blobs (sybtype 1).
Improve Insert and Update commands using DSQL.

Implements to do:
FBOpenBlob( blob_id )
FBReadBlob(blob_id, string, segment_size)

FBCreateBlob()
FBPutBlob(blob_id, string, segment_size)

FBCloseBlob( blob_id )


BUGS:

Fix a few windows gpf and linux segment fault. I Need some help to find what's going on here.


That's all folks and sorry my poor english

Rodrigo Moreno - rodrigo_moreno@yahoo.com