2011-08-18 14:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* contrib/rddsql/sqlbase.c
    ! fixed transfering records between two "array" SQLBASE workareas, when there 
      is a text/long/clob/memo field
      Patch by Ilina Stoilkovska.

  * contrib/hbpgsql/postgres.c
    ! added #include pg_config.h, '#if PG_VERSION_NUM' clauses were not working
    + plain wrappers for bulk data insert functions PQputCopyData, PQputCopyEnd
    + new function PQCOPYFROMWA which copies current workarea with CSV-like 
	  bulk data transfer functions to PostgreSQL database, without the need
	  of creating temporary files - similar to __dbTrans() and __dbSql()
	  <lResult> := PQCOPYFROMWA( <pConn>, <cTable>, [<bWhileBlock>],
	                             [<bForBlock>], [<aFieldNames>], [<nCount>],
	                             [<lTrimStrings>], [<nPreBuffer>] )
	  <nPreBuffer> - default is 1, which turns into 1 * 1400 bytes 
	                 (to keep it below typical network MTU of 1500 bytes),
	                 needs testing how libPQ is doing buffering by itself,
	                 and if this is needed?
	  Patch by Ilina Stoilkovska. Many thanks.
	
  * contrib/hbpgsql/hbpgsql.hbx
  + contrib/hbpgsql/rddcopy.c
  + contrib/hbpgsql/hbpgsql.h
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/hbpgsql.hbp
    + moved PQ related declarations to separate header. low-level functions made public.
	% moved new PQCOPYFROMWA() to separate source to untie the main wrappers from RDD components
	* HB_ prefix to PQCOPYFROMWA() name
	* minor mods to above

  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
    - deleted x64 flavor of some exes which don't give any benefit of the 64-bitness
This commit is contained in:
Viktor Szakats
2011-08-19 12:14:25 +00:00
parent cea70820ee
commit 29a6a02138
9 changed files with 682 additions and 100 deletions

View File

@@ -16,6 +16,41 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-08-18 14:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/rddsql/sqlbase.c
! fixed transfering records between two "array" SQLBASE workareas, when there
is a text/long/clob/memo field
Patch by Ilina Stoilkovska.
* contrib/hbpgsql/postgres.c
! added #include pg_config.h, '#if PG_VERSION_NUM' clauses were not working
+ plain wrappers for bulk data insert functions PQputCopyData, PQputCopyEnd
+ new function PQCOPYFROMWA which copies current workarea with CSV-like
bulk data transfer functions to PostgreSQL database, without the need
of creating temporary files - similar to __dbTrans() and __dbSql()
<lResult> := PQCOPYFROMWA( <pConn>, <cTable>, [<bWhileBlock>],
[<bForBlock>], [<aFieldNames>], [<nCount>],
[<lTrimStrings>], [<nPreBuffer>] )
<nPreBuffer> - default is 1, which turns into 1 * 1400 bytes
(to keep it below typical network MTU of 1500 bytes),
needs testing how libPQ is doing buffering by itself,
and if this is needed?
Patch by Ilina Stoilkovska. Many thanks.
* contrib/hbpgsql/hbpgsql.hbx
+ contrib/hbpgsql/rddcopy.c
+ contrib/hbpgsql/hbpgsql.h
* contrib/hbpgsql/postgres.c
* contrib/hbpgsql/hbpgsql.hbp
+ moved PQ related declarations to separate header. low-level functions made public.
% moved new PQCOPYFROMWA() to separate source to untie the main wrappers from RDD components
* HB_ prefix to PQCOPYFROMWA() name
* minor mods to above
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
- deleted x64 flavor of some exes which don't give any benefit of the 64-bitness
2011-08-19 02:58 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbcuied/cu_object.prg
+ Implemented: two-way saving/loading of screens from PRG sources.
@@ -157585,11 +157620,11 @@
% minor optimization in hb_itemParam()
! fixed enumerator variable clearing in hb_itemCopy()
2006-09-21 09:52 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-21 09:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/common/expropt2.c
! Fixed leak introduced in previous commit.
2006-09-20 23:17 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-20 23:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbexprb.c
* harbour/include/hbexprop.h
* harbour/source/common/expropt2.c
@@ -157768,7 +157803,7 @@
* harbour/utils/hbtest/rt_class.prg
+ added tests for class and shared class variables/allocating
2006-09-17 18:52 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-17 18:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/tests/testrpt.prg
! Fixed fatal typo.
@@ -157886,7 +157921,7 @@
It's also possible that this code will exploit some bugs
in other code which uses GC allocated memory blocks.
2006-09-14 15:23 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-14 15:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/tests/testlbl.prg
! use lower name in report name to work properly on case sensitive
file systems
@@ -158206,7 +158241,7 @@
! Bug fixed in hb_cdpcmp(), which caused strange comparison results as
( s1 > s2 ) != ( s2 > s1 ).
2006-09-05 15:51 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-05 15:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbset.h
* harbour/include/set.ch
* harbour/source/pp/pptable.c
@@ -158256,7 +158291,7 @@
* harbour/source/vm/runner.c
+ Honoring _SET_DEFEXTENSIONS setting all over the code.
2006-09-05 12:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-05 12:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/debug/debugger.prg
! Fixed and made multiplatform the filename extension handling parts.
@@ -158285,7 +158320,7 @@
* harbour/source/vm/hvm.c
* minor modification
2006-09-04 18:10 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-09-04 18:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/tlabel.prg
* harbour/source/rtl/treport.prg
! Made the logic multiplatform where it's decided whether to
@@ -158875,7 +158910,7 @@
* harbour/source/vm/hvm.c
! fixed bug#1533096 reported by Chen
2006-08-07 02:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-08-07 02:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/make_b32.bat
* harbour/make_vc.bat
! install call redirected to nul instead of make_b32.log to avoid
@@ -158916,11 +158951,11 @@
! fixed typo in my last commit - additional dummy evaluations of
EVAL block
2006-08-04 16:00 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-08-04 16:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/fstemp.c
+ Implemented prefix parameter in temp file generation for Win32.
2006-08-04 15:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-08-04 15:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbundoc.api
+ Added _tctemp() undocumented call.
@@ -158975,7 +159010,7 @@
* fixed for current state of preprocessor
2006-07-27 01:18 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-27 01:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/dbedit.prg
! Previous non-strict compatible part made fully compatible by
dropping an Eval() on the field value block. Strict branch
@@ -159112,7 +159147,7 @@
! Fixed header description of makefile
* Added INSTALL rule.
2006-07-20 12:36 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-20 12:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ harbour/utils/hbpptest/compare.bat
+ harbour/utils/hbpptest/.cvsignore
* harbour/utils/hbpptest/pp_test.prg
@@ -159149,11 +159184,11 @@
* harbour/source/rdd/workarea.c
* code cleanup
2006-07-18 13:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-18 13:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbextern.ch
! Removed __dbfList() reference.
2006-07-18 12:51 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-18 12:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- harbour/source/rtl/dummy.prg
* harbour/source/rtl/Makefile
* harbour/common.mak
@@ -159177,7 +159212,7 @@
! fixed problems reported by Marek with EXIT procedures after my
last commit
2006-07-18 10:21 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-18 10:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/lang/msgcs852.c
* harbour/source/lang/msgcsiso.c
* harbour/source/lang/msgcskam.c
@@ -159248,7 +159283,7 @@
* harbour/source/rdd/dbcmd.c
! fixed possible access to uninitialized variable in __dbApp()/__dbCopy()
2006-07-17 03:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-17 03:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/dbedit.prg
% Optimized codeblock creation.
+ Restored 100% compatible codeblock creation for STRICT mode.
@@ -159257,7 +159292,7 @@
* Comments reviewed/changed/added.
; Review done, now 100% compatible.
2006-07-17 00:41 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-17 00:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/common.mak
* harbour/makefile.bc
* harbour/makefile.vc
@@ -159475,7 +159510,7 @@
* doc/en/clipper.txt
* added documentation for WITH OBJECT usage
2006-07-13 16:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-13 16:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rdd/dbtotal.prg
% Unused variable removed, one other optimized out, other minor optimizations.
! Fixed not resetting the error block when used on a table containing
@@ -159513,7 +159548,7 @@
* harbour/source/rtl/dbdelim.prg
* updated for strict Clipper DBCREATE() parameters
2006-07-13 12:27 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-13 12:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/hvm.c
! errorlevel changed to int from byte.
@@ -159572,7 +159607,7 @@
* harbour/source/vm/itemapi.c
* make hb_itemClear() safe for not allocated stack items
2006-07-10 20:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-10 20:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
By Marek Paliwoda:
@@ -159580,7 +159615,7 @@
+ Generalized linker flags (LDFLAGS) and small exe generation
improvements.
2006-07-10 13:29 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-10 13:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rdd/dbcmd.c
! AFIELDS() made fully CA-Cl*pper compatible.
@@ -159650,7 +159685,7 @@
* harbour/source/vm/runner.c
! fixed possible memory leaks when corrupted .hrb file is loaded
2006-07-05 20:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-07-05 20:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- harbour/Common.mak
+ harbour/common.mak
* harbour/make_b32.bat
@@ -159772,7 +159807,7 @@
* xharbour/bin/pack_src.sh
+ added USRRDD
2006-06-28 15:46 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-28 15:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/config/w32/mingw32.cf
! One minor fix and another minor correction made after testing
the Win9x branch.
@@ -159781,7 +159816,7 @@
* harbour/makefile.bc
+ Added gtdef.c file
2006-06-28 07:59 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-28 07:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/config/w32/mingw32.cf
% Removed Windows system libs we don't need to link in Harbour.
@@ -159821,7 +159856,7 @@
* updated for current xHarbour state - not tested but I guess it
works for Lorenzo
2006-06-27 19:45 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-27 19:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/config/w32/mingw32.cf
! Fix to make it work in environments where "gcc @__lib__.tmp"
construct is not possible. The "@" expansion is done by gcc
@@ -159950,11 +159985,11 @@
* harbour/source/rtl/hbgtcore.c
* changed 'char *' to 'const char *' in hb_gtSetDefault(), hb_gtLoad()
2006-06-22 21:41 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-22 21:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/makefile.bc
* Fix to prev.
2006-06-22 19:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-22 19:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/errorsys.prg
! Fixed to use OutErr() instead of QOut() for CA-Cl*pper
compatibility. (Thanks Chen)
@@ -159966,7 +160001,7 @@
* harbour/utils/hbtest/rt_array.prg
* Removed one codeblock unused var warning.
2006-06-22 17:28 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-22 17:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/makefile.bc
* Updated for latest changes.
@@ -160033,7 +160068,7 @@
* fixed 'unreachable code' warning in IF/ELSEIF
* fixed 'variable unused' warnings when -w3 switvh was used
2006-06-22 00:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-22 00:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/common.ch
* harbour/source/debug/dbghelp.prg
* harbour/source/debug/dbgmenu.prg
@@ -160122,24 +160157,24 @@
by 3-rd party code then create problems with binary compatibility
after updating local HVM functions.
2006-06-20 11:33 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-20 11:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
! Stupid bug fixed in prev commit.
2006-06-20 09:45 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-20 09:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
* harbour/source/rtl/gtwxt/gtwxt.c
! Possible (double) fix to properly handle embedded zero bytes
when getting clipboard content.
2006-06-20 08:55 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-20 08:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
+ Copied Windows Clipboard support from the GTWVT driver. So now
it is available in Win32 console apps too. (Thanks Przemek for
the functions and instructions).
Set/Get the Clipboard using: hb_GTInfo( GTI_CLIPBOARDDATA[, <newvalue>] )
2006-06-20 02:37 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-06-20 02:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/tbrowse.prg
! Fixed TBrowseNew() not initializing :skipBlock()
! Fixed TBrowse:skipBlock() (throwing proper error, NIL parameter
@@ -161070,7 +161105,7 @@
! fixed ordKeyGoto() - only the index file was repositioned
but I forgot to also change the record in DBF
2006-04-07 15:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-04-07 15:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/vm/classes.c
% Optimized __CLSADDMSG() to call hb_parc() only once instead
of 25 times for most cases.
@@ -161962,7 +161997,7 @@
* all compiler structures are deallocated on exit now
2006-02-15 20:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-02-15 20:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/hrbdll.bc
* harbour/hrbdll.vc
* harbour/makefile.bc
@@ -162346,11 +162381,11 @@
* source/vm/mainwin.c
* minor fix
2006-02-07 18:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-02-07 18:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/mainwin.c
! Fixed previous commit.
2006-02-07 12:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2006-02-07 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* makefile.bc
+ Updated for latest changes.
@@ -163113,7 +163148,7 @@
* makefile.bc
! Updated with BarCode stuff
2005-12-02 17:12 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-12-02 17:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbmath.h
! Fixed a few declarations to be in sync with the
implementation. (Thanks Chen)
@@ -163125,7 +163160,7 @@
math.ch --> hbmath.ch
* Some formating to 76 characters per line
2005-11-24 23:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-24 23:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbpcode.h
+ Comment added about adding new pcodes at the end of
the list for compatibility.
@@ -163162,7 +163197,7 @@
+ tests/symbolt.prg
; Missed from prev commit.
2005-11-22 10:31 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-22 10:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/symbol.prg
* source/vm/dynsym.c
* include/hbextern.ch
@@ -163174,7 +163209,7 @@
+ TOFIX added to symbol.prg to remove the remaining one C
function inside BEGINDUMP. (Antonio, can you take a look?)
2005-11-22 10:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-22 10:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* doc/en/hb_apifs.txt
! Fixed doc for hb_fsSetDevMode()
@@ -163251,14 +163286,14 @@
+ added hb_itemUnShare() - /* un-share given string item */
and hb_itemClone() - /* clone the given item */
2005-11-21 18:03 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-21 18:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- include/math.ch
+ include/hbmath.ch
* include/hbmath.h
* tests/mathtest.prg
! math.ch -> hbmath.ch (rename)
2005-11-21 17:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-21 17:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ tests/simplet.prg
* src/rtl/symbol.prg
* Embedded example code moved to the test dir.
@@ -163291,7 +163326,7 @@
* harbour/contrib/rdd_ads/makefile.vc
- removed module ads0
2005-11-19 00:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-19 00:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapifs.c
* src/rtl/filesys.c
! hb_fsSetDevMode() fixed back to return a BOOL value
@@ -163346,7 +163381,7 @@
* harbour/source/vm/runner.c
* updated for modified HB_SYMB structure.
2005-11-15 05:10 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-15 05:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* hrbdll.bc
* hrbdll.vc
* makefile.bc
@@ -163402,7 +163437,7 @@
* harbour/source/rdd/dbffpt/dbffpt1.c
* synced with xHarbour
2005-11-14 20:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-11-14 20:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* hrbdll.vc
* makefile.nt
* makefile.vc
@@ -163885,7 +163920,7 @@ NOTE:
with
hb_retptr( im )
2005-10-28 10:23 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-10-28 10:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* hrbdll.bc
* hrbdll.vc
* makefile.bc
@@ -164089,7 +164124,7 @@ NOTE:
* harbour/source/vm/maindllp.c
! fixed some declaration I missed in previous commit
2005-10-24 12:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-10-24 12:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* hrbdll.bc
* hrbdll.vc
* makefile.bc
@@ -164444,7 +164479,7 @@ NOTE:
Many, many thanks to Przemek Czerpak for his work.
2005-09-20 10:16 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-09-20 10:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/tget.prg
! One previous fix reverted because it broke numeric data entry.
@@ -164470,7 +164505,7 @@ NOTE:
+ tests\sbartest.prg
Added sample of scrollbar class
2005-06-14 21:11 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-06-14 21:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/disksphb.c
* hb_DiskSpace() changed to not give a runtime error in case
@@ -164490,12 +164525,12 @@ NOTE:
* config/w32/global.cf
! Changed all line beginning spaces to Tabs.
2005-06-11 13:01 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-06-11 13:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/idle.c
! Fix to prev. commit.
2005-06-09 18:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2005-06-09 18:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/tget.prg
! :display fixed (again) to always call VarGet block
@@ -166075,7 +166110,7 @@ NOTE:
* source/rtl/tget.prg
* GetNew() no longer evaluates passed set/get codeblock
2004-08-01 14:38 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2004-08-01 14:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/filesys.c
! Out of bound buffer access fixed. (I couldn't test this)
@@ -166131,7 +166166,7 @@ NOTE:
* hrbdll.bc
+ Added module scalar.prg
2004-07-26 10:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2004-07-26 10:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/cmdcheck.c
! Writing out of bound when using -x compiler switch fixed.
@@ -167065,7 +167100,7 @@ NOTE:
* fixed typo for -ks switch
2004-04-01 09:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2004-04-01 09:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbffind.c
! Fix for NT4
@@ -167073,7 +167108,7 @@ NOTE:
* source/rdd/dbsort.prg
* Fix by Mitja Podgornik
2004-04-01 08:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
2004-04-01 08:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/bld.bat
* Updated

View File

@@ -0,0 +1,92 @@
/*
* $Id: postgres.c 16949 2011-07-17 14:23:26Z vszakats $
*/
/*
* Harbour Project source code:
* PostgreSQL RDBMS wrapper header.
*
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) (GC support)
* Copyright 2003 Rodrigo Moreno rodrigo_moreno@yahoo.com
* www - http://harbour-project.org
*
* 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 software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
* See COPYING for licensing terms.
*
*/
#include "hbapi.h"
#include "libpq-fe.h"
#include "pg_config.h"
#define VARHDRSZ 4
#define BOOLOID 16
#define INT8OID 20
#define INT2OID 21
#define INT4OID 23
#define TEXTOID 25
#define OIDOID 26
#define FLOAT4OID 700
#define FLOAT8OID 701
#define CASHOID 790
#define BPCHAROID 1042
#define VARCHAROID 1043
#define DATEOID 1082
#define TIMEOID 1083
#define TIMESTAMPOID 1114
#define TIMESTAMPTZOID 1184
#define TIMETZOID 1266
#define BITOID 1560
#define VARBITOID 1562
#define NUMERICOID 1700
#define INV_WRITE 0x00020000
#define INV_READ 0x00040000
#ifndef PG_VERSION_NUM
#define PG_VERSION_NUM 0
#endif
extern void hb_PGconn_ret( PGconn * p );
extern PGconn * hb_PGconn_par( int iParam );
extern void hb_PGresult_ret( PGresult * p );
extern PGresult * hb_PGresult_par( int iParam );

View File

@@ -30,6 +30,7 @@
hbpgsql.hbx
postgres.c
rddcopy.c
tpostgre.prg
hdbcpg.prg

View File

@@ -25,6 +25,7 @@
#command DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
DYNAMIC HB_PQCOPYFROMWA
DYNAMIC HDBCPGCONNECTION
DYNAMIC HDBCPGDATABASEMETADATA
DYNAMIC HDBCPGPREPAREDSTATEMENT
@@ -77,6 +78,8 @@ DYNAMIC PQPASS
DYNAMIC PQPORT
DYNAMIC PQPREPARE
DYNAMIC PQPROTOCOLVERSION
DYNAMIC PQPUTCOPYDATA
DYNAMIC PQPUTCOPYEND
DYNAMIC PQREQUESTCANCEL
DYNAMIC PQRESET
DYNAMIC PQRESULT2ARRAY

View File

@@ -53,40 +53,11 @@
*
*/
#include "hbapi.h"
#include "hbpgsql.h"
#include "hbapierr.h"
#include "hbapiitm.h"
#include "libpq-fe.h"
#define VARHDRSZ 4
#define BOOLOID 16
#define INT8OID 20
#define INT2OID 21
#define INT4OID 23
#define TEXTOID 25
#define OIDOID 26
#define FLOAT4OID 700
#define FLOAT8OID 701
#define CASHOID 790
#define BPCHAROID 1042
#define VARCHAROID 1043
#define DATEOID 1082
#define TIMEOID 1083
#define TIMESTAMPOID 1114
#define TIMESTAMPTZOID 1184
#define TIMETZOID 1266
#define BITOID 1560
#define VARBITOID 1562
#define NUMERICOID 1700
#define INV_WRITE 0x00020000
#define INV_READ 0x00040000
#ifndef PG_VERSION_NUM
#define PG_VERSION_NUM 0
#endif
static HB_GARBAGE_FUNC( PGconn_release )
{
void ** ph = ( void ** ) Cargo;
@@ -108,7 +79,7 @@ static const HB_GC_FUNCS s_gcPGconnFuncs =
hb_gcDummyMark
};
static void hb_PGconn_ret( PGconn * p )
void hb_PGconn_ret( PGconn * p )
{
if( p )
{
@@ -122,7 +93,7 @@ static void hb_PGconn_ret( PGconn * p )
hb_retptr( NULL );
}
static PGconn * hb_PGconn_par( int iParam )
PGconn * hb_PGconn_par( int iParam )
{
void ** ph = ( void ** ) hb_parptrGC( &s_gcPGconnFuncs, iParam );
@@ -150,7 +121,7 @@ static const HB_GC_FUNCS s_gcPGresultFuncs =
hb_gcDummyMark
};
static void hb_PGresult_ret( PGresult * p )
void hb_PGresult_ret( PGresult * p )
{
if( p )
{
@@ -164,7 +135,7 @@ static void hb_PGresult_ret( PGresult * p )
hb_retptr( NULL );
}
static PGresult * hb_PGresult_par( int iParam )
PGresult * hb_PGresult_par( int iParam )
{
void ** ph = ( void ** ) hb_parptrGC( &s_gcPGresultFuncs, iParam );
@@ -1177,6 +1148,34 @@ HB_FUNC( PQEXECPREPARED )
hb_errRT_BASE( EG_ARG, 2020, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
HB_FUNC( PQPUTCOPYDATA )
{
#if PG_VERSION_NUM >= 80000
PGconn * conn = hb_PGconn_par( 1 );
if( conn )
hb_retni( PQputCopyData( conn, hb_parcx( 2 ), hb_parclen( 2 ) ) );
else
hb_errRT_BASE( EG_ARG, 2020, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
#else
hb_retc_null();
#endif
}
HB_FUNC( PQPUTCOPYEND )
{
#if PG_VERSION_NUM >= 80000
PGconn * conn = hb_PGconn_par( 1 );
if( conn )
hb_retni( PQputCopyEnd( conn, NULL ) );
else
hb_errRT_BASE( EG_ARG, 2020, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
#else
hb_retc_null();
#endif
}
/*
TODO: Implement Full Large Objects Support

View File

@@ -0,0 +1,460 @@
/*
* $Id: postgres.c 16949 2011-07-17 14:23:26Z vszakats $
*/
/*
* Harbour Project source code:
* PostgreSQL RDBMS low level (client api) interface code.
*
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) (GC support)
* Copyright 2003 Rodrigo Moreno rodrigo_moreno@yahoo.com
* www - http://harbour-project.org
*
* 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 software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
* See COPYING for licensing terms.
*
*/
#include "hbpgsql.h"
#include "hbapierr.h"
#include "hbapiitm.h"
#include "hbapirdd.h"
#include "hbvm.h"
#include "hbdate.h"
typedef struct
{
char * buffer;
int position;
int length;
HB_BOOL str_trim;
PGconn * connection;
} pgCopyContext;
#if PG_VERSION_NUM >= 80000
static HB_BOOL addToContext( pgCopyContext * context, const char c )
{
if( context->position == context->length )
{
if( PQputCopyData(context->connection, context->buffer, context->position) == -1 )
return HB_FALSE;
context->position = 0;
}
context->buffer[context->position++] = ( HB_BYTE ) c;
return HB_TRUE;
}
static HB_BOOL addStrToContext( pgCopyContext * context, const char * str )
{
while( * str )
{
if( context->position == context->length )
{
if( PQputCopyData( context->connection, context->buffer, context->position ) == -1 )
return HB_FALSE;
context->position = 0;
}
context->buffer[ context->position++ ] = ( HB_BYTE ) * str++;
}
return HB_TRUE;
}
static HB_BOOL addStrnToContext( pgCopyContext * context, const char * str, HB_SIZE size )
{
HB_SIZE nSize = 0;
while( nSize < size )
{
if( context->connection == NULL || context->position == context->length )
{
if( PQputCopyData(context->connection, context->buffer, context->position) == -1 )
return HB_FALSE;
context->position = 0;
}
context->buffer[ context->position++ ] = ( HB_BYTE ) str[ nSize++ ];
}
return HB_TRUE;
}
/* Export field value into the buffer in PG accepted CSV format */
static HB_BOOL exportBufSqlVar( pgCopyContext * context, PHB_ITEM pValue, const char * szQuote, const char * szEsc )
{
switch( hb_itemType( pValue ) )
{
case HB_IT_STRING:
case HB_IT_MEMO:
{
HB_SIZE nLen = hb_itemGetCLen( pValue );
HB_SIZE nCnt = 0;
const char * szVal = hb_itemGetCPtr( pValue );
if( ! addStrToContext( context, szQuote ) )
return HB_FALSE;
if( context->str_trim )
{
while( nLen && HB_ISSPACE( szVal[ nLen - 1 ] ) )
nLen--;
}
while( *szVal && nCnt++ < nLen )
{
/* if( *szVal == *szDelim || *szVal == *szEsc || *szVal == *szQuote )
we don't need to escape delim in CSV mode,
only the quote and the escape itself */
if( *szVal == *szQuote || *szVal == *szEsc )
if( ! addToContext( context, *szEsc ) )
return HB_FALSE;
if( ( HB_UCHAR ) *szVal >= 32 )
if( ! addToContext( context, *szVal ) )
return HB_FALSE;
szVal++;
}
if( ! addStrToContext( context, szQuote ) )
return HB_FALSE;
break;
}
case HB_IT_DATE:
{
char szDate[ 9 ];
if( ! addStrToContext( context, szQuote ) )
return HB_FALSE;
hb_itemGetDS( pValue, szDate );
if( szDate[ 0 ] == ' ' )
{
if( ! addStrToContext( context, "0100-01-01" ) )
return HB_FALSE;
}
else
{
if( ! addStrnToContext( context, &szDate[ 0 ], 4 ) ||
! addToContext( context, '-' ) ||
! addStrnToContext( context, &szDate[ 4 ], 2 ) ||
! addToContext( context, '-' ) ||
! addStrnToContext( context, &szDate[ 6 ], 2 ) )
return HB_FALSE;
}
if( ! addStrToContext( context, szQuote ) )
return HB_FALSE;
break;
}
case HB_IT_TIMESTAMP:
{
long lDate, lTime;
char szDateTime[ 24 ];
hb_itemGetTDT( pValue, &lDate, &lTime );
hb_timeStampStr( szDateTime, lDate, lTime );
if( ! addStrToContext( context, szQuote ) ||
! addStrToContext( context, szDateTime ) ||
! addStrToContext( context, szQuote ) )
return HB_FALSE;
break;
}
case HB_IT_LOGICAL:
/* if(! addStrToContext( context, szQuote ) || ! addToContext( context, hb_itemGetL( pValue ) ? 'Y' : 'N' ) || ! addStrToContext( context, szQuote ) ) */
if( ! addToContext( context, hb_itemGetL( pValue ) ? 'Y' : 'N' ) )
return HB_FALSE;
break;
case HB_IT_INTEGER:
case HB_IT_LONG:
case HB_IT_DOUBLE:
{
char szResult[ HB_MAX_DOUBLE_LENGTH ];
int iSize, iWidth, iDec;
hb_itemGetNLen( pValue, &iWidth, &iDec );
iSize = ( iDec > 0 ? iWidth + 1 + iDec : iWidth );
if( hb_itemStrBuf( szResult, pValue, iSize, iDec ) )
{
int iPos = 0;
while( iSize && HB_ISSPACE( szResult[ iPos ] ) )
{
iPos++;
iSize--;
}
if( ! addStrnToContext( context, &szResult[ iPos ], iSize ) )
return HB_FALSE;
}
else
if( ! addToContext( context, '0' ) )
return HB_FALSE;
break;
}
/* an "M" field or the other, might be a "V" in SixDriver */
default:
return HB_FALSE;
}
return HB_TRUE;
}
#endif
HB_FUNC( HB_PQCOPYFROMWA )
{
#if PG_VERSION_NUM >= 80000
PGconn * pConn = hb_PGconn_par( 1 );
const char * szTable = hb_parcx( 2 );
PHB_ITEM pWhile = hb_param( 3, HB_IT_BLOCK );
PHB_ITEM pFor = hb_param( 4, HB_IT_BLOCK );
PHB_ITEM pFields = hb_param( 5, HB_IT_ARRAY );
HB_ULONG nCount = hb_parnldef( 6, 0 );
HB_BOOL str_rtrim = hb_parldef( 7, HB_TRUE );
HB_ULONG nBufLen = hb_parnldef( 8, 1 );
HB_USHORT uiFields;
HB_ULONG uiRecCount = 0;
/* HB_ULONG uiRecNo = 0;
DBORDERINFO pInfo;
int iOrd; */
HB_BOOL bNoFieldPassed = ( pFields == NULL || hb_arrayLen( pFields ) == 0 );
HB_BOOL bEof = HB_FALSE;
AREAP pArea = ( AREAP ) hb_rddGetCurrentWorkAreaPointer();
PHB_ITEM pItem;
HB_USHORT uiFieldCopy = 0;
HB_USHORT uiIter;
pgCopyContext * context;
char * szInit;
static const char * s_szQuote = "\"";
static const char * s_szEsc = "\"";
static const char * s_szDelim = ",";
char * szFields = NULL;
char * szTmp = NULL;
PGresult * pgResult = NULL;
HB_BOOL bFail = HB_FALSE;
if( pArea )
{
pItem = hb_itemNew( NULL );
context = ( pgCopyContext * ) hb_xgrab( sizeof( pgCopyContext ) );
memset( context, 0, sizeof( pgCopyContext ) );
context->buffer = ( char * ) hb_xgrab( sizeof( char ) * nBufLen * 1400 );
context->position = 0;
context->length = sizeof( char ) * nBufLen * 1400;
context->str_trim = str_rtrim;
context->connection = pConn;
SELF_FIELDCOUNT( pArea, &uiFields );
if( ! bNoFieldPassed )
{
szFields = ( char * ) hb_xgrab( sizeof( char ) * 2 );
szFields[ 0 ] = '(';
szFields[ 1 ] = '\0';
uiFieldCopy = ( HB_USHORT ) hb_arrayLen( pFields );
for( uiIter = 1; uiIter <= uiFieldCopy; uiIter++ )
{
const char * szFieldName = hb_arrayGetCPtr( pFields, uiIter );
if( szFieldName )
{
int iPos = hb_rddFieldIndex( pArea, szFieldName );
szTmp = hb_xstrcpy( NULL, szFields, szFieldName, NULL );
hb_xfree( szFields );
szFields = szTmp;
if( uiIter != uiFieldCopy )
{
szTmp = hb_xstrcpy( NULL, szFields, s_szDelim, NULL );
hb_xfree( szFields );
szFields = szTmp;
}
if( iPos )
{
PHB_ITEM pFieldNum = hb_itemPutNI( NULL, iPos );
hb_itemArrayPut( pFields, uiIter, pFieldNum );
hb_itemRelease( pFieldNum );
continue;
}
}
if( hb_arrayDel( pFields, uiIter ) )
{
hb_arraySize( pFields, hb_arrayLen( pFields ) - 1 );
uiIter--;
uiFieldCopy--;
}
}
szTmp = hb_xstrcpy( NULL, szFields, ")", NULL );
hb_xfree( szFields );
szFields = szTmp;
}
if( szFields )
{
szInit = hb_xstrcpy( NULL, "COPY ", szTable, " ", szFields, " FROM STDIN WITH DELIMITER '", s_szDelim, "' CSV QUOTE AS '", s_szQuote, "' ESCAPE AS '", s_szEsc, "'", NULL );
hb_xfree( szFields );
}
else
szInit = hb_xstrcpy( NULL, "COPY ", szTable, " FROM STDIN WITH DELIMITER '", s_szDelim, "' CSV QUOTE AS '", s_szQuote, "' ESCAPE AS '", s_szEsc, "'", NULL );
pgResult = PQexec( context->connection, szInit );
if( PQresultStatus( pgResult ) != PGRES_COPY_IN )
{
PQclear( pgResult );
hb_xfree( szInit );
hb_xfree( context );
hb_retl( HB_FALSE );
return;
}
PQclear( pgResult );
hb_xfree( szInit );
/* uiRecCount = 0; */
while( ( nCount == 0 || uiRecCount < nCount ) &&
( ! pWhile || hb_itemGetL( hb_vmEvalBlock( pWhile ) ) ) )
{
if( SELF_EOF( pArea, &bEof ) != HB_SUCCESS )
break;
if( bEof )
break;
if( ! pFor || hb_itemGetL( hb_vmEvalBlock( pFor ) ) )
{
if( bNoFieldPassed )
{
for( uiIter = 1; uiIter <= uiFields; uiIter++ )
{
SELF_GETVALUE( pArea, uiIter, pItem );
if( ! exportBufSqlVar( context, pItem, s_szQuote, s_szEsc ) || ! addStrToContext( context, s_szDelim ) )
{
bFail = HB_TRUE;
break;
}
}
}
else
{
for( uiIter = 1; uiIter <= uiFieldCopy; uiIter++ )
{
SELF_GETVALUE( pArea, ( HB_USHORT ) hb_arrayGetNI( pFields, uiIter ), pItem );
if( ! exportBufSqlVar( context, pItem, s_szQuote, s_szEsc ) || ! addStrToContext( context, s_szDelim ) )
{
bFail = HB_TRUE;
break;
}
}
}
if( bFail )
break;
context->position--; /* overwrite last comma with newline */
if( ! addStrnToContext( context, "\n", 1 ) ) /* PostgreSQL handles both \r\n & \n, use shorter */
{
bFail = HB_TRUE;
break;
}
uiRecCount++;
}
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
break;
}
while( HB_TRUE )
{
if( bFail )
{
PQputCopyEnd( context->connection, "export buffer problems" );
hb_retl( HB_FALSE );
break;
}
if( ! addStrnToContext( context, "\\.\n", 3 ) ) /* end CSV transfer */
{
hb_retl( HB_FALSE );
break;
}
if( PQputCopyData( context->connection, context->buffer, context->position ) == -1 )
{
hb_retl( HB_FALSE );
break;
}
if( PQputCopyEnd( context->connection, NULL ) == -1 )
{
hb_retl( HB_FALSE );
break;
}
pgResult = PQgetResult( context->connection );
while ( pgResult )
{
if( PQresultStatus( pgResult ) != PGRES_COMMAND_OK )
bFail = HB_TRUE;
PQclear( pgResult );
pgResult = PQgetResult( context->connection );
}
if( bFail )
{
hb_retl( HB_FALSE );
break;
}
hb_retl( HB_TRUE );
break;
}
hb_itemRelease( pItem );
hb_xfree( context->buffer );
hb_xfree( context );
}
else
hb_errRT_DBCMD( EG_NOTABLE, EDBCMD_NOTABLE, NULL, HB_ERR_FUNCNAME );
#else
hb_retc_null();
#endif
}

View File

@@ -542,7 +542,7 @@ static HB_ERRCODE sqlbasePutValue( SQLBASEAREAP pArea, HB_USHORT uiIndex, PHB_IT
errCode = HB_SUCCESS;
pField = pArea->area.lpFields + ( uiIndex - 1 );
if ( ( ( HB_IS_MEMO( pItem ) || HB_IS_STRING( pItem ) ) && pField->uiType == HB_FT_STRING ) ||
if ( ( ( HB_IS_MEMO( pItem ) || HB_IS_STRING( pItem ) ) && ( pField->uiType == HB_FT_STRING || pField->uiType == HB_FT_MEMO ) ) ||
( HB_IS_DATE( pItem ) && pField->uiType == HB_FT_DATE ) ||
( HB_IS_TIMESTAMP( pItem ) && pField->uiType == HB_FT_TIMESTAMP ) ||
( HB_IS_NUMBER( pItem ) && ( pField->uiType == HB_FT_INTEGER || pField->uiType == HB_FT_LONG ||

View File

@@ -72,12 +72,8 @@ for %%a in ( %HB_ABSROOT%bin\*-%HB_VS%.dll ) do (
)
del _hbtemp.sed
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\harbour.exe %HB_ABSROOT%bin\harbour-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbformat.exe %HB_ABSROOT%bin\hbformat-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbi18n.exe %HB_ABSROOT%bin\hbi18n-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbmk2.exe %HB_ABSROOT%bin\hbmk2-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbnetio.exe %HB_ABSROOT%bin\hbnetio-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbpp.exe %HB_ABSROOT%bin\hbpp-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbrun.exe %HB_ABSROOT%bin\hbrun-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbtest.exe %HB_ABSROOT%bin\hbtest-x64.exe

View File

@@ -142,12 +142,8 @@ SectionEnd
!ifndef PKG_NO_COMP_MINGW64
Section /o "x64 tools" hb_main_x64
SetOutPath $INSTDIR\bin
File "$%HB_ABSROOT%bin\harbour-x64.exe"
File "$%HB_ABSROOT%bin\hbformat-x64.exe"
File "$%HB_ABSROOT%bin\hbi18n-x64.exe"
File "$%HB_ABSROOT%bin\hbmk2-x64.exe"
File "$%HB_ABSROOT%bin\hbnetio-x64.exe"
File "$%HB_ABSROOT%bin\hbpp-x64.exe"
File "$%HB_ABSROOT%bin\hbrun-x64.exe"
File "$%HB_ABSROOT%bin\hbtest-x64.exe"
SectionEnd