Commit Graph

14 Commits

Author SHA1 Message Date
Przemysław Czerpak
309dc0a307 2014-10-24 04:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/rddads.h
    + added support for RDDI_INDEXPAGESIZE in ADI indexes

  * src/rdd/dbf1.c
    * minor cleanup

  * include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    + added support for long index keys when bigger pages are used.
      Now maximum index key size is 4082 for 8192 bytes length index pages.
      Indexes are critical for database applications so please make
      tests with current code and report problems if you find any.
2014-10-24 04:13:06 +02:00
Przemysław Czerpak
321df92cbe 2014-10-23 17:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * renamed CDX_TYPE_TEMPORARY to CDX_TYPE_PARTIAL
    * eliminated Temporary member from CDXTAG structure
    * cleaned tag signature flag setting to strictly follow
      CL5.2 (SIx3) and CL5.3 (COMIX)
2014-10-23 17:58:21 +02:00
Przemysław Czerpak
25b36d0e77 2014-10-23 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
    ! check if AE_VALUE_OVERFLOW macro exists before use
    ! fixed memory leak
    % use char* instead of UNSIGNED8* to eliminate unnecessary casting
    * use HB_IT_EVALITEM instead of HB_IT_BLOCK
    * formatting and minor cleanups

  * include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * modifications for longer index keys when bigger pages are used
      (work in progress)
2014-10-23 13:20:27 +02:00
Przemysław Czerpak
9492a2e54e 2014-10-22 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * modifications for longer index keys when bigger pages are used
      (work in progress)
2014-10-22 10:25:27 +02:00
Przemysław Czerpak
a6b992a722 2014-10-22 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * force default index page size when CDX header does not contain
      Harbour signature
    * added RTE when index expression returns item with unsupported
      type during indexing
    * modifications for longer index keys when bigger pages are used
      (work in progress)
    * formatting
2014-10-22 02:24:03 +02:00
Przemysław Czerpak
777e24ee87 2014-10-21 16:40 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * added support for user defined index page size in DBFCDX.
      To change page size for newly created index it's enough to call:
         hb_rddInfo( RDDI_INDEXPAGESIZE, <nNewSize>,, "DBFCDX" )
      DBFCDX accepts page sizes which are power of 2 in from 512 to 8192.
      The upper range is my personal decision and can be easy changed
      in Harbour source code. 512 is default CDX index page size and
      only such indexes can be read by other RDDs.
      In some cases bigger pages can increase performance and reduce
      index size. In local networks probably 1024 should give optimal
      performance because can be transferred in single ethernet frame.
      Just make a tests.
    ; In next step I plan to add support for longer index keys when
      bigger pages are used.

  * utils/hbmk2/hbmk2.prg
    ! added -stop fix borrowed from Viktor's branch
2014-10-21 16:40:26 +02:00
Przemysław Czerpak
8d8558fbab 2014-10-20 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* config/lang2po.hb
    ! fixed negative UTC offsets to string conversion

  * include/dbinfo.ch
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    + added DBOI_INDEXPAGESIZE - get index page size

  * include/dbinfo.ch
  * include/hbrdddbf.h
  * src/rdd/dbf1.c
    + added RDDI_INDEXPAGESIZE - get/set default index page size

  * include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * modification for user defined index page size (work in progress)
2014-10-20 17:33:49 +02:00
Przemysław Czerpak
dfc2f42e79 2014-10-17 14:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    + added support for large index files over 4GB length.
      These are slightly modified CDX indexes which stores index page numbers
      instead of index page offsets inside index file. This trick increase
      maximum index files size from 2^32 (4GB) to 2^41 (2TB). This index
      format is enabled automatically when DB_DBFLOCK_HB64 is used. This is
      the same behavior as in DBFNTX and DBFNSX for which I added support
      for large indexes (up to 4TB) few years ago.
      Warning: new CDX indexes are not backward compatible and cannot be
               read by other systems or older [x]Harbour versions.
               If you try to open new indexes using older [x]Harbour RDDs
               then RTE "DBFCDX/1012 Corruption detected" is generated.
               When current Harbour *DBFCDX/SIXCDX RDD open index file
               then it automatically recognize type of index file so it
               will work correctly with both versions without any problem.
               In short words: People using DB_DBFLOCK_HB64 should remember
               that after reindexing with new Harbour applications old ones
               cannot read new CDX indexes.
    ; In next step I plan to add support for user defined page size in CDX
      index files.

  * doc/xhb-diff.txt
    * added information about extended CDX format to section "NATIVE RDDs"

  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    * disable record readahead buffer used during indexing when only
      one record can be stored inside
    ! generate RTE when data cannot be read into record readahead buffer
      during indexing
2014-10-17 14:55:16 +02:00
Przemysław Czerpak
107b36e847 2014-08-17 23:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
    * minor clarification in commnet

  * src/rtl/hbgtcore.c
    * do not save and restore SetColor() when debugger is activated and
      closed
2014-08-17 23:06:19 +02:00
Przemysław Czerpak
e227af16d0 2014-03-11 09:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdbsort.h
  * include/hbrddcdx.h
  * include/hbrddnsx.h
  * include/hbrddntx.h
  * include/hbsxfunc.h
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxsem.c
    * changed hb_fs*() API to hb_file*() API
2014-03-11 09:38:36 +01:00
Przemysław Czerpak
e4fff1fb61 2014-02-25 19:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbhpdf/3rd/libhpdf/hpdffdfj.c
    ! removed executable attribute

  * src/vm/thread.c
    ! fixed typo reported by Viktor - thanks.

  * include/hbapifs.h
  * src/rtl/hbproces.c
  * src/rtl/spfiles.c
  * src/rtl/filesys.c
  * src/rtl/file.c
    * synced parameter file and dir names used in declarations and
      implementations

  * include/hbrddcdx.h
    + added few fields used in ADI files

  * src/codepage/cp_utf8.c
  * src/rtl/cdpapi.c
    ! always return -1, 0 and 1 from hb_cdpcmp() function.
      Workaround for problem exploited by optimized memcmp() function.

  * src/rdd/dbfntx/dbfntx1.c
    ! fixed possible sort problem when optimized memcmp() is used
    * added feew missing const declarations

  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    ! fixed OrdWildSeek() to work with optimized memcmp()

  * include/hbapifs.h
  * src/rtl/disksphb.c
    + added new C function:
         double hb_fsDiskSpace( const char * pszPath, HB_USHORT uiType );

  * include/hbapifs.h
  * src/rtl/direct.c
    + added new C function:
         PHB_ITEM hb_fsDirectory( const char * pszDirSpec,
                                  const char * pszAttributes );

  * src/rtl/filesys.c
    ! report EOF in hb_fsEof() also when file position is out of file size
    * updated comment

  * include/hbapifs.h
  * src/rtl/filebuf.c
    + extended Harbour FILE IO API and added support for read/write filepos,
      directory and link operations.
      Read/write filepos support in some systems (i.e. *nixes) needs additional
      emulation code. If it's not necessary then this functionality can be
      disabled by FXO_NOSEEKPOS attribute. Now this attribute is used by our
      RDD code.

  * src/rtl/Makefile
  + src/rtl/xfile.c
    + added PRG interface to Harbour FILE IO API
      The following PRG functions are available for Harbour programmers:
         HB_XEXISTS( <cFileName>, [ @<cDestFileName> ] ) -> <lOK>
         HB_XERASE( <cFileName> ) -> <nResult>
         HB_XRENAME( <cFileSrc>, <cFileDst> ) -> <nResult>
         HB_XCOPYFILE( <cFileSrc>, <cFileDst> ) -> <nResult>
         HB_XDIREXISTS( <cDirName> ) -> <lExists>
         HB_XDIRMAKE( <cDirName> ) -> <nSuccess>
         HB_XDIRREMOVE( <cDirName> ) -> <nSuccess>
         HB_XDIRECTORY( [ <cDirSpec> ], [ <cAttr> ] ) -> <aDirectory>
         HB_XDIRSPACE( <cDirName>, [ <nInfoType> ] ) -> <nFreeSpace>
         HB_XGETATTR( <cFileName>, @<nAttr> ) -> <lOK>
         HB_XSETATTR( <cFileName>,  <nAttr> ) -> <lOK>
         HB_XGETDATETIME( <cFileName>, @<tsDateTime> ) -> <lOK>
         HB_XSETDATETIME( <cFileName>,  <tsDateTime> ) -> <lOK>
         HB_XLINK( <cExistingFileName>, <cNewFileName> ) -> <nSuccess>
         HB_XLINKSYM( <cTargetFileName>, <cNewFileName> ) -> <nSuccess>
         HB_XLINKREAD( <cFileName> ) -> <cDestFileName> | ""
         HB_XOPEN( <cFileName>, [ <nMode> ], [ <nAttr> ] ) -> <pHandle> | NIL
         HB_XCLOSE( <pHandle> ) -> <lOK>
         HB_XLOCK( <pHandle>, <nStart>, <nLen>, [ <nType> ] ) -> <lOK>
         HB_XUNLOCK( <pHandle>, <nStart>, <nLen> ) -> <lOK>
         HB_XLOCKTEST( <pHandle>, <nStart>, <nLen>, [ <nType> ] ) ;
               -> <nPID> | 0 (nolock) | -1 (err)
         HB_XREAD( <pHandle>, @<cBuff>, [ <nToRead> ], [ <nTimeOut> ] ) ;
               -> <nRead>
         HB_XWRITE( <pHandle>, <cBuff>, [ <nToWrite> ], [ <nTimeOut> ] ) ;
               -> <nWritten>
         HB_XREADAT( <pHandle>, @<cBuff>, [ <nToRead> ], [ <nAtOffset> ] ) ;
               -> <nRead>
         HB_XWRITEAT( <pHandle>, <cBuff>, [ <nToWrite> ], [ <nAtOffset> ] ) ;
               -> <nWritten>
         HB_XSEEK( <pHandle>, <nOffset>, [ <nWhence> ] ) -> <nOffset>
         HB_XTRUNC( <pHandle>, [ <nAtOffset> ] ) -> <lOK>
         HB_XSIZE( <pHandle> ) -> <nSize>
         HB_XEOF( <pHandle> ) -> <lEOF>
         HB_XFLUSH( <pHandle>, [ <lDirtyOnly> ] ) -> NIL
         HB_XCOMMIT( <pHandle> ) -> NIL
         HB_XCONFIG( <pHandle>, <nSet>, [ <nParam> ] ) -> <nResult>
         HB_XHANDLE( <pHandle> ) -> <nOsHandle>
         HB_XTEMPFILE( @<cFileName>, [ <cDir> ], [ <cPrefix> ], [ <cExt> ], ;
                       [ <nAttr> ] ) -> <pHandle> | NIL
      Please remember that not all redirectors have to support all of them.
      I.e. MEMIO allows to use directory names in files but does not allow to
      create or remove directories. It also does not support file attributes
      and times in current implementation though it can be easy added.
      HB_XCONFIG() is general function which can be used by redirector
      authors to make some special operations which are specific to given
      device.
      HB_XTEMPFILE() always creates temporary files on local system without
      switching to FILE IO redirector. It's intentional behavior.

  * src/rtl/fscopy.c
    * used Harbour FILE IO API in hb_fsCopy()/HB_FCOPY()
      Please remember that HB_FCOPY() always makes operation using current
      system when HB_XCOPY() may optimize it moving the operation to low
      level subsystem or even other computer i.e.  NETIO can do that  when
      both files are located on the same server.

  * src/rdd/delim1.c
  * src/rdd/sdf1.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hsx/hsx.c
    * open files with FXO_NOSEEKPOS attribute to inform low level API that
      read/write filepos is not used (disables unnecessary filepos emulation).

  * contrib/hbnetio/netio.h
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
    + added support for extended Harbour FILE IO API.

  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
    ! renamed "quit" command to "shutdown" as suggested by Rolf.

  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
    * allow to interrupt server process using ESC when run in console window.

  * contrib/hbmemio/memio.c
    + added support for extended Harbour FILE IO API.
      I left two minor TODO notes - maybe someone will try to implement it.
2014-02-25 19:34:33 +01:00
Viktor Szakats
b414d00664 2013-04-05 16:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/check.hb
  * tests/fixcase.hb
    + some exceptions for casing
    * deleted one file exception (a readme)

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbamf/amfenc.c
  * contrib/hbbz2/core.c
  * contrib/hbct/ctcom1.c
  * contrib/hbct/ctcom2.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/disk.c
  * contrib/hbct/finan.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token1.c
  * contrib/hbct/token2.c
  * contrib/hbct/trig.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbhpdf/image.c
  * contrib/hbmisc/irm.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbnetio/readme.txt
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnf/origin.c
  * contrib/hbssl/ssl.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_shell.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/xhb/fparse.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/txtline.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhbarrex.c
  * extras/gfspell/spellc.c
  * extras/gtwvw/gtwvwd.c
  * extras/gtwvw/hbgtwvw.h
  * extras/gtwvw/wvwcheck.c
  * extras/gtwvw/wvwdraw.c
  * extras/gtwvw/wvwedit.c
  * extras/gtwvw/wvwfuncs.c
  * extras/gtwvw/wvwmenu.c
  * extras/gtwvw/wvwpush.c
  * extras/gtwvw/wvwstbar.c
  * extras/gtwvw/wvwtbar.c
  * include/hbapi.h
  * include/hbapirdd.h
  * include/hbdefs.h
  * include/hbexpra.c
  * include/hbexprb.c
  * include/hbpcode.h
  * include/hbpp.h
  * include/hbrddcdx.h
  * include/hbrddnsx.h
  * src/codepage/cp_utf8.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/cmdcheck.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/hbfunchk.c
  * src/compiler/hbopt.c
  * src/pp/pplib.c
  * src/rdd/dbcmd.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hsx/hsx.c
  * src/rtl/chruni.c
  * src/rtl/cputime.c
  * src/rtl/dateshb.c
  * src/rtl/filehb.c
  * src/rtl/filesys.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbinet.c
  * src/rtl/hblpphb.c
  * src/rtl/hbmd5.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/rtl/hbsockhb.c
  * src/rtl/hbtoken.c
  * src/rtl/hbzlib.c
  * src/rtl/hbzlibgz.c
  * src/rtl/langapi.c
  * src/rtl/mlcfunc.c
  * src/rtl/philes.c
  * src/rtl/soundex.c
  * src/rtl/strzero.c
  * src/rtl/transfrm.c
  * src/vm/arrayshb.c
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/eval.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/macro.c
  * src/vm/memvars.c
  * src/vm/runner.c
  * src/vm/set.c
  * src/vm/thread.c
    * run tests/fixcase.hb now that it's able to fixup casing
      inside all comments
2013-04-05 16:27:40 +02:00
vszakats
9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00
vszakats
a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00