From: <hv...@us...> - 2014-12-01 09:04:48
|
Revision: 60317 http://sourceforge.net/p/firebird/code/60317 Author: hvlad Date: 2014-12-01 09:04:39 +0000 (Mon, 01 Dec 2014) Log Message: ----------- Support for zlib on Windows Modified Paths: -------------- firebird/trunk/builds/win32/make_boot.bat firebird/trunk/builds/win32/msvc10/firebird2.props firebird/trunk/builds/win32/msvc12/firebird2.props firebird/trunk/src/include/gen/autoconfig_msvc.h firebird/trunk/src/remote/remote.cpp Modified: firebird/trunk/builds/win32/make_boot.bat =================================================================== --- firebird/trunk/builds/win32/make_boot.bat 2014-12-01 09:03:36 UTC (rev 60316) +++ firebird/trunk/builds/win32/make_boot.bat 2014-12-01 09:04:39 UTC (rev 60317) @@ -42,6 +42,9 @@ call :LibTomMath if "%ERRLEV%"=="1" goto :END +call :zlib +if "%ERRLEV%"=="1" goto :END + @echo Generating DSQL parser... @call parse.bat %* if "%ERRLEV%"=="1" goto :END @@ -69,17 +72,19 @@ @findstr /V "@UDF_COMMENT@" %FB_ROOT_PATH%\builds\install\misc\firebird.conf.in > %FB_BIN_DIR%\firebird.conf -:: Copy ICU both to Debug and Release configurations +:: Copy ICU and zlib both to Debug and Release configurations @call set_build_target.bat %* RELEASE @mkdir %FB_BIN_DIR% @copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1 @copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1 +@copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1 @call set_build_target.bat %* DEBUG @mkdir %FB_BIN_DIR% @copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1 @copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1 +@copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1 @call set_build_target.bat %* @@ -133,6 +138,18 @@ goto :EOF ::=================== +:: Extract zlib +:zlib +@echo Extracting pre-built zlib +if exist %FB_ROOT_PATH%\extern\zlib\zlib.h ( + @echo %FB_ROOT_PATH%\extern\zlib\zlib.h already extracted +) else ( + %FB_ROOT_PATH%\extern\zlib\zlib.exe -y > zlib_%FB_TARGET_PLATFORM%.log + if errorlevel 1 call :boot2 zlib +) +goto :EOF + +::=================== :: BUILD gpre_boot :gpre_boot @echo. Modified: firebird/trunk/builds/win32/msvc10/firebird2.props =================================================================== --- firebird/trunk/builds/win32/msvc10/firebird2.props 2014-12-01 09:03:36 UTC (rev 60316) +++ firebird/trunk/builds/win32/msvc10/firebird2.props 2014-12-01 09:04:39 UTC (rev 60317) @@ -10,7 +10,7 @@ <ClCompile> <AdditionalOptions>/EHsc- %(AdditionalOptions)</AdditionalOptions> <OmitFramePointers>true</OmitFramePointers> - <AdditionalIncludeDirectories>../../../src/include;../../../src/include/gen;../../../extern/libtommath;../../../extern/icu/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../../../src/include;../../../src/include/gen;../../../extern/libtommath;../../../extern/icu/include;../../../extern/zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <ExceptionHandling> </ExceptionHandling> <RuntimeTypeInfo>false</RuntimeTypeInfo> Modified: firebird/trunk/builds/win32/msvc12/firebird2.props =================================================================== --- firebird/trunk/builds/win32/msvc12/firebird2.props 2014-12-01 09:03:36 UTC (rev 60316) +++ firebird/trunk/builds/win32/msvc12/firebird2.props 2014-12-01 09:04:39 UTC (rev 60317) @@ -10,7 +10,7 @@ <ClCompile> <AdditionalOptions>/EHsc- %(AdditionalOptions)</AdditionalOptions> <OmitFramePointers>true</OmitFramePointers> - <AdditionalIncludeDirectories>../../../src/include;../../../src/include/gen;../../../extern/libtommath;../../../extern/icu/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../../../src/include;../../../src/include/gen;../../../extern/libtommath;../../../extern/icu/include;../../../extern/zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <ExceptionHandling> </ExceptionHandling> <RuntimeTypeInfo>false</RuntimeTypeInfo> Modified: firebird/trunk/src/include/gen/autoconfig_msvc.h =================================================================== --- firebird/trunk/src/include/gen/autoconfig_msvc.h 2014-12-01 09:03:36 UTC (rev 60316) +++ firebird/trunk/src/include/gen/autoconfig_msvc.h 2014-12-01 09:04:39 UTC (rev 60317) @@ -156,8 +156,8 @@ #undef HAVE_SYS_SOCKIO_H #undef HAVE_WINSOCK2_H #define HAVE_FLOAT_H +#define HAVE_ZLIB_H - /* Functions */ #undef HAVE_GETTIMEOFDAY #undef HAVE_TIME Modified: firebird/trunk/src/remote/remote.cpp =================================================================== --- firebird/trunk/src/remote/remote.cpp 2014-12-01 09:03:36 UTC (rev 60316) +++ firebird/trunk/src/remote/remote.cpp 2014-12-01 09:04:39 UTC (rev 60317) @@ -1385,7 +1385,11 @@ public: ZLib(Firebird::MemoryPool&) { +#ifdef WIN_NT + const char* name = "zlib1.dll"; +#else const char* name = "libz." SHRLIB_EXT ".1"; +#endif z.reset(ModuleLoader::fixAndLoadModule(name)); if (z) symbols(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-02 10:09:24
|
Revision: 60321 http://sourceforge.net/p/firebird/code/60321 Author: firebirds Date: 2014-12-02 10:09:15 +0000 (Tue, 02 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-01 21:53:29 UTC (rev 60320) +++ firebird/trunk/ChangeLog 2014-12-02 10:09:15 UTC (rev 60321) @@ -1,3 +1,37 @@ + 2014-12-01 21:53 dimitr + M src/dsql/StmtNodes.cpp + M src/jrd/JrdStatement.cpp + M src/jrd/exe.h + M src/jrd/recsrc/BufferedStream.cpp + M src/jrd/recsrc/RecordSource.cpp + M src/jrd/recsrc/SortedStream.cpp + M src/jrd/req.h + M src/jrd/rpb_chain.cpp + M src/jrd/vio.cpp +Refactored the RPB flags. The new logic also provides a second-level protection against CORE-4618. + + 2014-12-01 13:38 dimitr + M src/misc/writeBuildNum.sh +Updated the version info. + + 2014-12-01 09:45 alexpeshkoff + M src/isql/show.epp +Fixed CORE-4503: ISQL command SHOW USERS display only me + + 2014-12-01 09:04 hvlad + M builds/win32/make_boot.bat + M builds/win32/msvc10/firebird2.props + M builds/win32/msvc12/firebird2.props + M src/include/gen/autoconfig_msvc.h + M src/remote/remote.cpp +Support for zlib on Windows + + 2014-12-01 09:03 hvlad + A extern/zlib + A extern/zlib/Readme.txt + A extern/zlib/zlib.exe +Add pre-built zlib library + 2014-11-30 21:09 asfernandes M src/common/os/win32/os_utils.cpp M src/dsql/parse.y Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-01 21:53:29 UTC (rev 60320) +++ firebird/trunk/src/jrd/build_no.h 2014-12-02 10:09:15 UTC (rev 60321) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31458 + FORMAL BUILD NUMBER:31463 */ -#define PRODUCT_VER_STRING "3.0.0.31458" -#define FILE_VER_STRING "WI-T3.0.0.31458" -#define LICENSE_VER_STRING "WI-T3.0.0.31458" -#define FILE_VER_NUMBER 3, 0, 0, 31458 +#define PRODUCT_VER_STRING "3.0.0.31463" +#define FILE_VER_STRING "WI-T3.0.0.31463" +#define LICENSE_VER_STRING "WI-T3.0.0.31463" +#define FILE_VER_NUMBER 3, 0, 0, 31463 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31458" +#define FB_BUILD_NO "31463" #define FB_BUILD_TYPE "T" -#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" +#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-01 21:53:29 UTC (rev 60320) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-02 10:09:15 UTC (rev 60321) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31458 +BuildNum=31463 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-03 09:20:59
|
Revision: 60332 http://sourceforge.net/p/firebird/code/60332 Author: firebirds Date: 2014-12-03 09:20:56 +0000 (Wed, 03 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-03 07:23:15 UTC (rev 60331) +++ firebird/trunk/ChangeLog 2014-12-03 09:20:56 UTC (rev 60332) @@ -1,3 +1,12 @@ + 2014-12-02 20:37 dimitr + M src/common/StatusArg.cpp + M src/common/StatusArg.h +Forgotten commit. + + 2014-12-02 20:14 dimitr + M src/lock/lock.cpp +Fixed CORE-4631: Lock manager "out of room" error hides the real cause of this problem. + 2014-12-01 21:53 dimitr M src/dsql/StmtNodes.cpp M src/jrd/JrdStatement.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-03 07:23:15 UTC (rev 60331) +++ firebird/trunk/src/jrd/build_no.h 2014-12-03 09:20:56 UTC (rev 60332) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31463 + FORMAL BUILD NUMBER:31465 */ -#define PRODUCT_VER_STRING "3.0.0.31463" -#define FILE_VER_STRING "WI-T3.0.0.31463" -#define LICENSE_VER_STRING "WI-T3.0.0.31463" -#define FILE_VER_NUMBER 3, 0, 0, 31463 +#define PRODUCT_VER_STRING "3.0.0.31465" +#define FILE_VER_STRING "WI-T3.0.0.31465" +#define LICENSE_VER_STRING "WI-T3.0.0.31465" +#define FILE_VER_NUMBER 3, 0, 0, 31465 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31463" +#define FB_BUILD_NO "31465" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-03 07:23:15 UTC (rev 60331) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-03 09:20:56 UTC (rev 60332) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31463 +BuildNum=31465 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-04 09:31:34
|
Revision: 60340 http://sourceforge.net/p/firebird/code/60340 Author: firebirds Date: 2014-12-04 09:31:31 +0000 (Thu, 04 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-04 09:27:36 UTC (rev 60339) +++ firebird/trunk/ChangeLog 2014-12-04 09:31:31 UTC (rev 60340) @@ -1,3 +1,13 @@ + 2014-12-03 14:27 alexpeshkoff + M src/remote/client/interface.cpp + M src/remote/remot_proto.h + M src/remote/remote.cpp +Fixed CORE-4471: Legacy_Auth plugin does not connect from FB3 to FB2.5 server when tried after Win_Sspi + + 2014-12-03 14:19 alexpeshkoff + M src/include/firebird/Interface.h +Misc + 2014-12-02 20:37 dimitr M src/common/StatusArg.cpp M src/common/StatusArg.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-04 09:27:36 UTC (rev 60339) +++ firebird/trunk/src/jrd/build_no.h 2014-12-04 09:31:31 UTC (rev 60340) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31465 + FORMAL BUILD NUMBER:31467 */ -#define PRODUCT_VER_STRING "3.0.0.31465" -#define FILE_VER_STRING "WI-T3.0.0.31465" -#define LICENSE_VER_STRING "WI-T3.0.0.31465" -#define FILE_VER_NUMBER 3, 0, 0, 31465 +#define PRODUCT_VER_STRING "3.0.0.31467" +#define FILE_VER_STRING "WI-T3.0.0.31467" +#define LICENSE_VER_STRING "WI-T3.0.0.31467" +#define FILE_VER_NUMBER 3, 0, 0, 31467 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31465" +#define FB_BUILD_NO "31467" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-04 09:27:36 UTC (rev 60339) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-04 09:31:31 UTC (rev 60340) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31465 +BuildNum=31467 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-06 17:17:29
|
Revision: 60344 http://sourceforge.net/p/firebird/code/60344 Author: firebirds Date: 2014-12-06 17:17:23 +0000 (Sat, 06 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-04 18:24:13 UTC (rev 60343) +++ firebird/trunk/ChangeLog 2014-12-06 17:17:23 UTC (rev 60344) @@ -1,3 +1,7 @@ + 2014-12-04 18:24 dimitr + M src/remote/client/interface.cpp +Fixed missing initialization of the output variable in the case of FB_EOF. + 2014-12-03 14:27 alexpeshkoff M src/remote/client/interface.cpp M src/remote/remot_proto.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-04 18:24:13 UTC (rev 60343) +++ firebird/trunk/src/jrd/build_no.h 2014-12-06 17:17:23 UTC (rev 60344) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31467 + FORMAL BUILD NUMBER:31468 */ -#define PRODUCT_VER_STRING "3.0.0.31467" -#define FILE_VER_STRING "WI-T3.0.0.31467" -#define LICENSE_VER_STRING "WI-T3.0.0.31467" -#define FILE_VER_NUMBER 3, 0, 0, 31467 +#define PRODUCT_VER_STRING "3.0.0.31468" +#define FILE_VER_STRING "WI-T3.0.0.31468" +#define LICENSE_VER_STRING "WI-T3.0.0.31468" +#define FILE_VER_NUMBER 3, 0, 0, 31468 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31467" +#define FB_BUILD_NO "31468" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-04 18:24:13 UTC (rev 60343) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-06 17:17:23 UTC (rev 60344) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31467 +BuildNum=31468 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-08 00:03:48
|
Revision: 60345 http://sourceforge.net/p/firebird/code/60345 Author: firebirds Date: 2014-12-08 00:03:33 +0000 (Mon, 08 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-06 17:17:23 UTC (rev 60344) +++ firebird/trunk/ChangeLog 2014-12-08 00:03:33 UTC (rev 60345) @@ -75944,55086 +75944,6 @@ Fix compile error on Solaris 2006-04-17 15:52 alexpeshkoff - M src/remote/inet.cpp -Don't raise SIGPIPE when other side terminated connection - - 2006-04-17 10:40 alexpeshkoff - M src/remote/server.cpp -removed unneeded h-file - - 2006-04-16 22:11 asfernandes - M builds/install/arch-specific/linux/classic/postinstall.sh.in - M builds/posix/Makefile.in.client.util - M src/utilities/guard/guard.cpp - M src/utilities/ibmgr/ibmgrswi.h -Misc - - 2006-04-16 22:01 asfernandes - M src/common/classes/semaphore.h -Correction for posix build - - 2006-04-16 19:54 kkuznetsov - M src/common/classes/semaphore.h -Solaris error correction - - 2006-04-16 18:49 asfernandes - M src/jrd/evl.cpp -Misc - - 2006-04-16 18:45 asfernandes - M src/dsql/make.cpp - M src/jrd/evl.cpp - M src/jrd/exe.h -Let LOWER/UPPER (blob) work - returning a blob - - 2006-04-16 17:09 asfernandes - M src/remote/server.cpp -Use THREAD_SLEEP as sleep don't exist in WIN32 - - 2006-04-16 17:03 alexpeshkoff - M src/jrd/execute_statement.cpp -Fixed bug in VC7.1 builds, reported by Ivan Prenosil - - 2006-04-16 16:13 alexpeshkoff - M src/common/classes/ClumpletReader.cpp -ported fixes from release - - 2006-04-16 15:27 asfernandes - M src/utilities/guard/guard.cpp -Correction - - 2006-04-16 12:58 alexpeshkoff - M builds/install/arch-specific/linux/classic/postinstall.sh.in - M builds/install/arch-specific/linux/misc/firebird.init.d.debian.in - M builds/install/arch-specific/linux/misc/firebird.init.d.generic.in - M builds/install/arch-specific/linux/misc/firebird.init.d.gentoo.in - M builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in - M builds/install/arch-specific/linux/misc/firebird.init.d.suse.in - M builds/install/arch-specific/linux/misc/linuxLibrary.sh.in - M builds/install/arch-specific/linux/misc/superLinux.sh.in - M builds/install/arch-specific/linux/super/postuninstall.sh.in - M builds/install/misc/classicLibrary.sh.in - M builds/install/misc/posixLibrary.sh.in - M builds/install/misc/superLibrary.sh.in - M builds/posix/Makefile.in.client.util - M src/burp/restore.epp - M src/utilities/guard/guard.cpp - M src/utilities/ibmgr/ibmgr.cpp - M src/utilities/ibmgr/ibmgr.h - M src/utilities/ibmgr/ibmgrswi.h - M src/utilities/ibmgr/srvrmgr.cpp -ported fixes from 2.0 release - - 2006-04-16 12:52 alexpeshkoff - M src/jrd/jrd.cpp -fixed debug build - - 2006-04-14 18:16 asfernandes - A builds/win32/create_msgs.bat - M builds/win32/make_boot2.bat -Add create_msgs.bat to be able to rebuild messages files without running make_boot2.bat - - 2006-04-14 16:46 alexpeshkoff - M src/remote/inet_server.cpp - M src/remote/serve_proto.h - M src/remote/server.cpp -shutdown working threads before server shutdown - - 2006-04-13 03:59 robocop - M src/common/classes/semaphore.h -Misc. - - 2006-04-13 03:04 asfernandes - M builds/install/misc/fbintl.conf - M builds/win32/msvc6/intl.dsp - M builds/win32/msvc7/intl.vcproj - A src/intl/collations/xx88592plk.h - M src/intl/lc_iso8859_2.cpp - M src/intl/ld.cpp - M src/jrd/intlnames.h -Polish collation ISO_PLK for ISO8859_2 charset - contributed by Jaroslaw Glowacki - - 2006-04-12 11:54 kkuznetsov - M src/common/classes/semaphore.h -Correct messages from Semaphore exceptions - - 2006-04-12 09:25 kkuznetsov - M src/common/classes/semaphore.h -Rewiev semaphore on Solaris platform: -add some fixes and loop on EINTR - - 2006-04-12 01:57 asfernandes - M src/common/classes/fb_string.cpp -Misc - - 2006-04-11 08:21 robocop - M src/isql/show.epp -Correction. - - 2006-04-11 07:30 robocop - M src/isql/show.epp -Adriano reported a problem with SHOW GENERATORS skipping the required object because an old db had NULL in the sysflag column. Using his proposed fix, committed only to the HEAD. - - 2006-04-11 07:18 robocop - M src/remote/inet.cpp - M src/remote/os/win32/wnet.cpp - M src/remote/xnet.cpp -Delete dead code after checking with Dmitry. -The B.O. are still there when copying the result of GetCommandLine(). - - 2006-04-11 07:16 robocop - M src/include/old_fb_blk.h - M src/remote/allr.cpp -Solve a possible truncation problem due to USHORT<->ULONG issues. -Tweak for embedded so it doesn't crash when handling an error. - - 2006-04-11 07:14 robocop - M src/dsql/hsh.cpp -Misc. - - 2006-04-11 06:46 dimitr - M src/common/classes/fb_string.cpp - M src/common/classes/tree.h -Sync with BV branch. Committed on behalf of George Sergeev. - - 2006-04-09 15:46 alexpeshkoff - M src/jrd/isc_sync.cpp -make CS lock manager semaphores have correct access rights - - 2006-04-09 12:47 alexpeshkoff - M src/dsql/hsh.cpp -fixed AV during massive addition of relations to DSQL hash - - 2006-04-09 10:59 alexpeshkoff - M src/jrd/nbak.cpp -fixed access rights to delta file - - 2006-04-09 06:53 robocop - M src/remote/server.cpp -Handle zero-length strings even if we have our buffer full. - - 2006-04-09 06:50 robocop - M src/remote/merge.cpp -We can't handle more than 255 bytes for some items when merging information. Let's be consistent between the length indicator and the bytes we put in the buffer. - - 2006-04-09 06:46 robocop - M src/remote/inet.cpp - M src/remote/protocol.cpp - M src/remote/remote.cpp - M src/remote/xdr.cpp -Style. - - 2006-04-09 00:53 robocop - M src/remote/server.cpp -Refactor this damn unreadable code and take into account the problem Adriano found with zero length file names in my previous commit. - - 2006-04-08 03:29 robocop - M src/lock/print.cpp -Misc. - - 2006-04-08 03:28 robocop - M src/msgs/messages.sql -Correction. - - 2006-04-08 03:09 asfernandes - M src/dsql/gen.cpp -Fix problem which occur when select a field with NONE charset when using another connection charset - second part of problem reported by Michal Kubecek - - 2006-04-08 00:03 robocop - M src/isql/isql.epp - M src/msgs/facilities.sql - M src/msgs/history.sql - M src/msgs/messages.sql -Adjust isql to the full words stated in the IB5 docs for the command line options. - - 2006-04-07 09:16 dimitr - M src/dsql/array.epp - M src/dsql/blob.epp -More threading related fixes. As a side effect, it disables a primitive client-side caching of a few predefined queries, but it doesn't show any performance difference. - - 2006-04-07 04:51 robocop - M src/remote/server.cpp -I think I'm fixing a potential buffer overrun here. - - 2006-04-07 02:58 asfernandes - M builds/posix/Makefile.in.client.fbudf - M src/common/classes/class_test.cpp - M src/common/classes/sparse_bitmap.h - M src/jrd/rse.cpp -Misc - - 2006-04-07 02:55 asfernandes - M src/remote/server.cpp -Correction - - 2006-04-06 14:43 alexpeshkoff - M src/isql/isql.epp -fixed regression in switch - - 2006-04-06 13:34 alexpeshkoff - M src/remote/server.cpp -validate port_context before use to avoid AV in remote - - 2006-04-06 13:30 alexpeshkoff - M src/jrd/svc.cpp -make service output look the same for both CS and SS - - 2006-04-06 08:18 robocop - M src/common/classes/ClumpletReader.cpp - M src/common/classes/ClumpletWriter.cpp - M src/common/classes/alloc.cpp - M src/common/classes/class_perf.cpp - M src/common/classes/class_test.cpp - M src/common/classes/fb_string.cpp - M src/common/classes/fb_string.h - M src/common/classes/semaphore.h - M src/common/classes/sparse_bitmap.h - M src/common/classes/tree.h - M src/common/fb_exception.cpp - M src/config/Lex.cpp - M src/config/Lex.h - M src/intl/lc_narrow.cpp - M src/intl/utils/dtest2.c - M src/intl/utils/mapgen4.c - M src/isql/isql.epp - M src/jrd/blb.cpp - M src/jrd/btr.cpp - M src/jrd/cch.cpp - M src/jrd/cmp.cpp - M src/jrd/dfw.epp - M src/jrd/evl.cpp - M src/jrd/exe.cpp - M src/jrd/functions.cpp - M src/jrd/met.epp - M src/jrd/nbak.cpp - M src/jrd/opt.cpp - M src/jrd/rse.cpp - M src/jrd/tra.cpp - M src/jrd/validation.cpp - M src/jrd/vio.cpp - M src/misc/makeHeader.cpp - M src/remote/server.cpp - M src/utilities/gsec/gsec.cpp - M src/utilities/rebuild/rebuild.cpp - M src/vulcan/RefObject.h -Style. - - 2006-04-06 06:32 robocop - M src/jrd/gds.cpp - M src/jrd/gds_proto.h - M src/jrd/ibase.h -Stop complainers related to the argument types of fb_interpret. - - 2006-04-06 04:19 aafemt - M builds/posix/Makefile.in.client.fbudf -Since timestamp routines are compiled-in directly, no need to link against fbclient. - - 2006-04-05 16:34 asfernandes - M src/jrd/jrd.cpp - M src/jrd/met.epp - M src/jrd/met_proto.h -Allow collation IDs greater than 127 - - 2006-04-05 16:24 asfernandes - M src/burp/backup.epp -Remove obsolete comment - - 2006-04-05 07:08 dimitr - M src/remote/inet.cpp -Nagle algorithm is now disabled by default, so there's no need to print an appropriate message in the server log. - - 2006-04-05 06:25 kkuznetsov - M src/common/classes/alloc.cpp -Add check for result of mmap() on Solaris platforms - - 2006-04-05 05:04 dimitr - M src/remote/inet.cpp -1) Set NoNagle depending on config only. -2) Set socket options for Win32 CS. - - 2006-04-05 04:38 dimitr - M src/dsql/make.cpp -Fixed the regression caused by my changes re. Dialect 1. - - 2006-04-05 04:36 dimitr - M src/jrd/cch.cpp -gds_alloc() no longer throws exceptions. Let's handle it properly. - - 2006-04-04 22:48 robocop - M src/alice/alice.cpp - M src/alice/alice.h - M src/alice/tdr.cpp -Misc. - - 2006-03-30 05:59 kkuznetsov - A extern/SfIO/read.me -Add readme - - 2006-03-29 17:47 dimitr - M src/jrd/cmp.cpp - M src/jrd/exe.h - M src/misc/blrtable.cpp -Fixed yet another bug in cursors. Will this ever end? :-) - - 2006-03-29 15:26 dimitr - M src/jrd/btr.cpp -Fixed the bug that caused unexpected bugcheck(205) in big databases. - - 2006-03-29 15:20 asfernandes - M builds/install/arch-specific/win32/pt/instalacao_leia-me.txt -Misc - - 2006-03-29 13:44 paul_reeves - M builds/install/arch-specific/win32/BuildExecutableInstall.bat - M builds/install/arch-specific/win32/FirebirdInstall_20.iss - M builds/install/arch-specific/win32/Readme.txt - M builds/install/arch-specific/win32/installation_readme.txt - M builds/win32/make_examples.bat -Minor tweaks to the Win32 build/install stuff. Updated readme and install_readme. - - 2006-03-29 13:43 paul_reeves - M builds/install/arch-specific/win32/pt/custom_messages_pt.inc - M builds/install/arch-specific/win32/pt/instalacao_leia-me.txt - M builds/install/arch-specific/win32/pt/leia-me.txt -Win32 installer - latest portuguese translations - - 2006-03-29 13:41 paul_reeves - A builds/install/arch-specific/win32/it - A builds/install/arch-specific/win32/it/custom_messages_it.inc - A builds/install/arch-specific/win32/it/leggimi.txt - A builds/install/arch-specific/win32/it/leggimi_installazione.txt -Add italian translations of install strings for Windows installs - - 2006-03-29 09:41 hvlad - M src/dsql/pass1.cpp -Make input parameters of EXECUTE BLOCK statement nullable - - 2006-03-29 09:39 kkuznetsov - A extern/SfIO - A extern/SfIO/include - A extern/SfIO/include/stdio.h -Add modifyed SFIO include file to public CVS - - 2006-03-28 10:16 dimitr - M src/jrd/dyn_mod.epp -Misc. - - 2006-03-28 09:55 dimitr - M src/jrd/evl.cpp -Protected from assignments to not existing fields. - - 2006-03-28 09:54 dimitr - M lang_helpers/gds_codes.ftn - M lang_helpers/gds_codes.pas - M src/include/gen/codetext.h - M src/include/gen/iberror.h - M src/include/gen/msgs.h - M src/include/gen/rdb_codes.h - M src/include/gen/sql_code.h - M src/msgs/facilities.sql - M src/msgs/messages.sql - M src/msgs/system_errors.sql -Added new error message. - - 2006-03-28 09:36 dimitr - M src/jrd/exe.h -Fixed a minor regression in the permission checking logic. -Let's first check the relation privileges and only then the column ones. - - 2006-03-28 04:31 mkubecek - M src/isql/isql.epp - M src/isql/isql.h - M src/msgs/facilities.sql - M src/msgs/history.sql - M src/msgs/messages.sql -Fix of isql command line parser: check for repeated switches or database name. - - 2006-03-28 04:04 robocop - M doc/README.garbage_collector -Misc. - - 2006-03-26 20:51 hvlad - A doc/README.garbage_collector -Documentation for garbage collector - - 2006-03-26 05:58 robocop - M src/isql/isql.epp -- Misc. -- Style -- Avoiding one indentation level. - - 2006-03-26 04:58 robocop - M src/msgs/history.sql -Misc. - - 2006-03-26 03:34 asfernandes - M src/isql/isql.epp -Correction - - 2006-03-25 23:41 mkubecek - M src/isql/isql.epp - M src/isql/isql.h - M src/msgs/facilities.sql - M src/msgs/messages.sql -Fix of isql command line parser: allow only abbreviations of standard switch names, check integer arguments to be integers. - - 2006-03-25 07:08 robocop - M configure.in - M src/common/utils_proto.h - M src/include/gen/autoconfig_msvc.h - M src/jrd/common.h - M src/jrd/svc.cpp - M src/utilities/gsec/security.epp -Only strcmp and strncmp have common names across all plartforms. Cater for differences in strcasecmp/stricmp and strncasecmp/strnicmp. - - 2006-03-25 07:01 robocop - M src/isql/show.epp - M src/jrd/thd.cpp -Misc. - - 2006-03-21 01:55 asfernandes - M builds/posix/Makefile.in.client.qli -Misc - - 2006-03-20 16:29 alexpeshkoff - M src/remote/inet.cpp -fixed server hang in case of broken client - - 2006-03-20 14:17 alexpeshkoff + M /firebird/trun +o.h M src/misc/writeBuildNum.sh -fixed bugs building release candidate 1 - - 2006-03-19 15:37 alexpeshkoff - M configure.in -Let FreeBSD use editline by default - - 2006-03-19 15:32 alexpeshkoff - M builds/posix/Makefile.in.client.qli - M builds/posix/Makefile.in.embed.qli -removed absolutely unneeded setuid - thanks to Sergey Skvortsov - - 2006-03-19 13:56 alexpeshkoff - M configure.in -fixing build on FreeBSD/amd64 - - 2006-03-18 06:22 robocop - M src/jrd/blb.cpp -Totally misc. - - 2006-03-18 01:57 asfernandes - M src/jrd/blb.cpp -Misc - - 2006-03-18 01:47 asfernandes - M doc/WhatsNew -Misc - - 2006-03-17 16:08 dimitr - M src/remote/os/win32/window.cpp -Let's not duplicate things. - - 2006-03-17 15:18 dimitr - M src/misc/writeBuildNum.sh -Misc. - - 2006-03-17 14:25 dimitr - M src/misc/writeBuildNum.sh -Updated the version number. - - 2006-03-17 13:36 alexpeshkoff - M doc/WhatsNew -Misc - - 2006-03-17 10:41 robocop - M doc/WhatsNew -Document isql's command line arguments explanation. - - 2006-03-17 09:39 hvlad - M doc/WhatsNew -Update WhatsNew - - 2006-03-17 09:28 hvlad - M src/jrd/blb.cpp - M src/jrd/blb.h -Fixed SF #1446987 - - 2006-03-17 08:15 dimitr - M doc/WhatsNew -Updated docs. - - 2006-03-17 07:56 hvlad - M src/jrd/vio.cpp -Fixed Beta2 bug reported in Russian newsgroup : AV when dropping FK -with inactive index. Style - - 2006-03-16 13:45 alexpeshkoff - M src/jrd/utl.cpp -misc - - 2006-03-16 09:07 robocop - M src/isql/isql.epp - M src/isql/isql.h - M src/msgs/facilities.sql - M src/msgs/history.sql - M src/msgs/messages.sql -Give isql a more useful help when receiving incorrect command line arguments, in sync with other utilities. Courtesy of Michal Kubecek. -Example: isql -? - - 2006-03-16 08:55 robocop - M src/jrd/sch.cpp -1.- Style. -2.- Don't overflow in case of long error message. - - 2006-03-16 08:53 robocop - M builds/install/misc/firebird.conf -Misc. - - 2006-03-16 02:26 asfernandes - M src/jrd/pag.cpp -Misc - - 2006-03-15 17:34 alexpeshkoff - M src/jrd/sch.cpp - M src/jrd/thd.cpp - M src/jrd/thd.h -fixed bugcheck in case of OS error in mutex - - 2006-03-15 17:32 alexpeshkoff - M src/jrd/common.h - M src/jrd/inf_pub.h - M src/jrd/pag.cpp - M src/jrd/utl.cpp -applied patch of Sergey Skvortsov - port for FreeBSD AMD64 - - 2006-03-15 17:29 alexpeshkoff - M src/common/fb_exception.cpp - M src/include/fb_exception.h -better support for OS error code in system_call_failed - - 2006-03-15 17:27 alexpeshkoff - M src/alice/alice.h - M src/burp/burp.cpp - M src/burp/burp.h -return error in case of unexpected status_exception - - 2006-03-15 17:25 alexpeshkoff - M src/jrd/vio.cpp - M src/remote/server.cpp -we should not loose status vector held in status_exception - - 2006-03-15 17:23 alexpeshkoff - M builds/install/misc/firebird.conf - M src/common/config/config.cpp - M src/misc/upgrade/v2/security_database.txt -change default value of LegacyHash - - 2006-03-15 14:03 paul_reeves - M src/jrd/isc_version.h -Use different release number in ISC_FILE_VER_XXXX to distinguish between Fb 1.5 and Fb 2.0. Bump the build number at the same time. - - 2006-03-15 04:22 robocop - M src/remote/os/win32/wnet.cpp -Commit Alex' fix for a buffer overrun. - - 2006-03-15 04:21 robocop - M src/burp/restore.epp -Get rid of unused handle. - - 2006-03-14 10:57 arnobrinkman - M src/dsql/pass1.cpp -Fix node compare function for derived fields. -Fixes field test-item #1449377. - - 2006-03-13 14:39 hvlad - M src/burp/restore.epp -Update statistics for system indices after restore - - 2006-03-13 14:32 hvlad - M src/jrd/sort.cpp -Fix SF #1434147 : Bugs with COUNT (DISTINCT XXX) when XXXX is a high integer - - 2006-03-10 17:46 alexpeshkoff - M src/jrd/cmp.cpp - M src/jrd/exe.cpp - M src/jrd/exe.h - M src/jrd/req.h -fixed memory leak - SF#1422471 - - 2006-03-10 08:23 robocop - M src/jrd/alt.cpp - M src/jrd/alt_proto.h - M src/jrd/dfw.epp - M src/jrd/ibase.h - M src/jrd/os/vms/vmsevent.cpp - M src/jrd/utl.cpp - M src/jrd/utl_proto.h - M src/jrd/why.cpp - M src/jrd/why_proto.h - M src/remote/server.cpp -Commit correct signature for events-related calls. - - 2006-03-10 02:05 asfernandes - M builds/posix/Makefile.in.libfbembed -Misc - - 2006-03-10 00:26 asfernandes - M src/jrd/req.h - M src/jrd/vio.cpp -Fix SF Field-test #1439268 - Sequence of commands crash FB server - second part - thanks to Claudio - - 2006-03-10 00:08 asfernandes - M src/dsql/pass1.cpp -Fix incorrect malformed string error, reported by Richard Wesley - - 2006-03-09 17:52 dimitr - M src/remote/xnet.cpp -Fixed an exception during events shutdown, reported in fb-devel. - - 2006-03-09 15:24 kkuznetsov - M builds/install/arch-specific/solx86gcc/CS/prototype.in -Update solaris packaging - - 2006-03-09 13:26 kkuznetsov - M configure.in -Fix packaging on SOLARIS sparc port - - 2006-03-09 10:27 alexpeshkoff - M src/utilities/gsec/call_service.cpp - M src/utilities/gsec/gsec.cpp - M src/utilities/gsec/gsec.h -always fill internal_user_data with 0's on creation - - 2006-03-09 09:42 kkuznetsov - M src/jrd/common.h -Set ODS aligment to 8 on Solaris sparc 32 bits port to avoid a lot of aligment problems. - - 2006-03-09 09:34 kkuznetsov - M builds/posix/Makefile.in.libfbembed - M builds/posix/prefix.solaris -Minor cleanup - - 2006-03-09 09:23 kkuznetsov - M builds/posix/prefix.solaris -Fix Solaris sparc 32 bit gcc port - - 2006-03-08 03:12 robocop - M src/include/gen/msgs.h - M src/msgs/facilities.sql - M src/msgs/history.sql -Sync after Dmitry's changes. - - 2006-03-08 03:10 robocop - M src/jrd/gds.cpp - M src/jrd/gds_proto.h -Misc. - - 2006-03-08 02:06 asfernandes - M builds/posix/Makefile.in.libfbembed -Use tab instead of spaces - - 2006-03-07 17:52 dimitr - M src/dsql/gen.cpp - M src/jrd/cmp.cpp - M src/jrd/exe.h - M src/jrd/par.cpp -Fixed yet another bug in explicit cursors. -Unfortunately, BLR compatibility is not provided, so users have to recompile their SPs/triggers. - - 2006-03-07 14:43 dimitr - M src/jrd/Optimizer.cpp -More precise calculation of index cardinalities. - - 2006-03-07 14:42 dimitr - M src/dsql/pass1.cpp -Fixed bug in RETURNING INTO code. - - 2006-03-07 14:39 dimitr - M src/msgs/messages.sql -Fixed the error message. - - 2006-03-07 13:01 kkuznetsov - M builds/posix/Makefile.in.libfbembed -Temporally comment out my previous commit - - 2006-03-07 11:21 kkuznetsov - M builds/posix/Makefile.in.libfbembed -Fix make process on Solaris OSes - - 2006-03-07 10:20 dimitr - M src/dsql/gen.cpp -Added a context overflow check to DSQL as well. -Based on a bugreport by Volker Rehn. - - 2006-03-07 09:23 dimitr - M src/jrd/why.cpp -Fixed SF #1435997. - - 2006-03-07 05:44 robocop - M src/jrd/validation.cpp - M src/remote/inet.cpp - M src/remote/interface.cpp -Style. - - 2006-03-07 03:12 asfernandes - M src/remote/server.cpp -Formatting - - 2006-03-07 03:11 asfernandes - M src/include/fb_types.h - M src/include/types_pub.h -Move ISC_STATUS_LENGTH and ISC_STATUS_ARRAY to public - - 2006-03-06 17:49 alexpeshkoff - M builds/posix/Makefile.in.client.fbudf - M builds/posix/Makefile.in.embed.fbudf -fixed FBUDF build on posix - - 2006-03-06 13:51 alexpeshkoff - M src/remote/server.cpp -Use named constant for buffer size - - 2006-03-06 13:36 alexpeshkoff - M src/remote/protocol.cpp -no need to check '<0' for unsigned variables - thanks to Adriano - - 2006-03-06 11:03 alexpeshkoff - M src/remote/protocol.cpp - M src/remote/server.cpp -1. Fixed win32 classic build. -2. Attempt to fix SF#1260310. - - 2006-03-06 10:53 alexpeshkoff - M src/misc/upgrade/v2/security_database.txt -added requirement to convert security database to ods11 - - 2006-03-06 10:40 alexpeshkoff - M src/jrd/os/posix/fbsyslog.cpp -make syslog messages visible on terminal - - 2006-03-06 01:00 asfernandes - M doc/README.user.embedded -Document files required for fbembed.dll - - 2006-03-05 10:26 alexpeshkoff - M src/remote/server.cpp -fixed debugging code - thanks to Claudio - - 2006-03-04 18:24 asfernandes - M src/jrd/req.h - M src/jrd/vio.cpp -Fix SF field-test #1439268 - Sequence of commands crash FB server - - 2006-03-03 16:20 alexpeshkoff - M src/remote/inet.cpp - M src/remote/protocol.h - M src/remote/remot_proto.h - M src/remote/remote.cpp - M src/remote/remote.h - M src/remote/server.cpp -Fixed SF bug 1385092 - - 2006-03-03 16:08 alexpeshkoff - M src/jrd/why.cpp -don't let printf() damage sockets in debug build - - 2006-03-03 16:06 alexpeshkoff - M src/jrd/err.cpp -slightly better diagnostic in log - - 2006-03-03 16:03 alexpeshkoff - M src/common/classes/alloc.h -let's try to make gcc4 happy - - 2006-03-03 10:56 kkuznetsov - M builds/posix/prefix.solaris - M builds/posix/prefix.solaris-64gcc -Removed profile gcc flag - - 2006-03-01 22:58 asfernandes - M src/jrd/evl_string.h -Fix AV in Knuth-Morris-Pratt algorithm implementation - - 2006-02-24 09:21 robocop - M src/isql/isql.h - M src/isql/show.epp - M src/msgs/facilities.sql - M src/msgs/messages.sql -Fix misleading error message reported by Michal Kubecek. - - 2006-02-24 01:33 asfernandes - M src/jrd/unicode_util.cpp - M src/jrd/unicode_util.h -Constify - - 2006-02-24 01:04 robocop - M src/jrd/isc.h -Fix compile-time error reported by Michal Kubecek. - - 2006-02-23 07:36 robocop - M src/jrd/cvt.cpp -Better play safe with int. - - 2006-02-23 07:30 robocop - M src/jrd/cvt.cpp -Try to put the correct pad character. - - 2006-02-23 07:22 robocop - M src/jrd/nbak.h -Misc. - - 2006-02-23 07:13 hvlad - M doc/WhatsNew -Misc - - 2006-02-23 06:52 robocop - M src/jrd/btr.cpp - M src/jrd/dyn_proto.h - M src/jrd/filters.cpp - M src/jrd/idx.cpp - M src/jrd/met_proto.h - M src/jrd/nav.cpp - M src/jrd/nbak.h - M src/jrd/os/pio_proto.h - M src/jrd/os/posix/unix.cpp - M src/jrd/os/vms/map.cpp - M src/jrd/os/vms/vms.cpp - M src/jrd/os/vms/vmslock.cpp - M src/jrd/os/win32/winnt.cpp - M src/jrd/par.cpp - M src/jrd/sdw.h - M src/jrd/why.cpp - M src/remote/allr.cpp - M src/remote/inet.cpp - M src/remote/os/win32/wnet.cpp - M src/remote/remote.cpp -More cleanup. - - 2006-02-23 05:22 robocop - M doc/WhatsNew - M src/jrd/isc.cpp -Misc. - - 2006-02-23 05:08 robocop - M src/burp/burp.cpp - M src/burp/burp.h - M src/common/config/config_impl.h - M src/jrd/blb.cpp - M src/jrd/btr.cpp - M src/jrd/btr.h - M src/jrd/cch.cpp - M src/jrd/cch.h - M src/jrd/cch_proto.h - M src/jrd/cvt.cpp - M src/jrd/dbt.cpp - M src/jrd/dfw.epp - M src/jrd/dpm.epp - M src/jrd/entry.h - M src/jrd/exe.cpp - M src/jrd/exe.h - M src/jrd/ext.cpp - M src/jrd/ext.h - M src/jrd/fil.h - M src/jrd/filters.cpp - M src/jrd/fun.epp - M src/jrd/gds.cpp - M src/jrd/ibase.h - M src/jrd/ibsetjmp.h - M src/jrd/idx.cpp - M src/jrd/inf.cpp - M src/jrd/ini.epp - M src/jrd/inuse.cpp - M src/jrd/inuse_proto.h - M src/jrd/isc.cpp - M src/jrd/isc.h - M src/jrd/isc_proto.h - M src/jrd/isc_sync.cpp - M src/jrd/jrd.cpp - M src/jrd/jrd.h - M src/jrd/jrd_proto.h - M src/jrd/lck.cpp - M src/jrd/lck.h - M src/jrd/log.h - M src/jrd/met.epp - M src/jrd/mov.cpp - M src/jrd/nav.cpp - M src/jrd/os/posix/unix.cpp - M src/jrd/os/vms/extvms.cpp - M src/jrd/os/vms/map.cpp - M src/jrd/os/vms/rdbint.cpp - M src/jrd/os/vms/vms.cpp - M src/jrd/os/vms/vmsevent.cpp - M src/jrd/os/vms/vmslock.cpp - M src/jrd/os/win32/winnt.cpp - M src/jrd/par.cpp - M src/jrd/perf.cpp - M src/jrd/plugin_manager.h - M src/jrd/req.h - M src/jrd/rlck.cpp - M src/jrd/rse.cpp - M src/jrd/rse.h - M src/jrd/scl.h - M src/jrd/sdl.cpp - M src/jrd/sdl.h - M src/jrd/sdl_proto.h - M src/jrd/sdw.cpp - M src/jrd/sdw_proto.h - M src/jrd/shut.cpp - M src/jrd/smp_impl.h - M src/jrd/sort.cpp - M src/jrd/sort.h - M src/jrd/svc.cpp - M src/jrd/svc.h - M src/jrd/svc_proto.h - M src/jrd/sym.h - M src/jrd/thd.cpp - M src/jrd/thd.h - M src/jrd/tra.cpp - M src/jrd/tra.h - M src/jrd/utl.cpp - M src/jrd/validation.cpp - M src/jrd/vio.cpp - M src/jrd/why.cpp - M src/lock/driver.cpp - M src/misc/align.cpp - M src/remote/inet.cpp - M src/remote/inter_proto.h - M src/remote/interface.cpp - M src/remote/os/win32/ibconfig.cpp - M src/remote/os/win32/wnet.cpp - M src/remote/remote.h - M src/utilities/gsec/gsec.cpp - M src/utilities/gsec/gsec.h - M src/utilities/gstat/dba.epp - M src/utilities/gstat/ppg.cpp - M src/utilities/gstat/ppg_proto.h -Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. - - 2006-02-23 05:03 robocop - M src/jrd/cmp.cpp -We better do not have loop variables with the same name in nested loops. -:-) - - 2006-02-22 15:25 hvlad - M doc/WhatsNew -Update WhatsNew - - 2006-02-22 14:55 hvlad - M src/jrd/dfw.epp -Fixed SF #1436066 : Adding index during DB activity causes GFIX errors - - 2006-02-22 13:55 dimitr - M doc/WhatsNew -An update. - - 2006-02-22 07:22 robocop - D src/jrd/mem.cpp -Remove obsolete file. - - 2006-02-22 07:21 robocop - M builds/mac_os_x/CS/CS.pbproj/project.pbxproj -This was the only project file referencing legacy mem.cpp. - - 2006-02-22 07:19 robocop - M src/jrd/sha.cpp -This file lacked indentation. - - 2006-02-22 07:11 dimitr - M src/jrd/cmp.cpp -Sorry, the unused code has been committed. - - 2006-02-22 05:30 dimitr - M src/jrd/cmp.cpp -Fixed imcomplete invariants tracking for subqueries. -Views are still a problem, so more to follow. - - 2006-02-22 02:50 asfernandes - M src/jrd/unicode_util.cpp -Fixed SF field-test $1433583 - key size exceeds implementation restriction - - 2006-02-21 04:29 robocop - M src/common/classes/fb_tls.h - M src/common/classes/tree.h -The whole indentation was screwed in those files. - - 2006-02-20 13:20 kkuznetsov - M src/jrd/sdl.cpp -Quick fix compile error: inline function has prototype - - 2006-02-20 08:25 kkuznetsov - M src/common/config/config_impl.h -Fix Sun C++ compiler visibility error - - 2006-02-20 08:00 kkuznetsov - M src/common/classes/fb_tls.h -misc - - 2006-02-20 07:59 kkuznetsov - M src/common/classes/fb_tls.h -misc - - 2006-02-20 07:46 kkuznetsov - M src/common/classes/tree.h -Support Sun C++ compiller in Bee+tree though conditional compilation. - - 2006-02-20 07:45 kkuznetsov - M builds/posix/prefix.solaris-64SCC -Add defines to support Sun C++ compiller -in FB Code. - - 2006-02-19 21:16 asfernandes - M src/jrd/dfw.epp - M src/jrd/vio.cpp -Don't allow to drop indices used in explicit plans inside SPs/triggers - - 2006-02-18 23:39 robocop - M src/jrd/opt.cpp -Misc. - - 2006-02-15 13:35 dimitr - M src/dsql/pass1.cpp -There's no need to transform NOT ANY to ALL, as NOT ANY effectively uses indices. - - 2006-02-15 13:34 dimitr - M src/jrd/cmp.cpp - M src/jrd/rse.cpp -More clever solution for bug #459059. -Deoptimization of NOT ANY is no longer necessary. - - 2006-02-10 19:40 dimitr - M builds/win32/preprocess.bat - M builds/win32/preprocess2.bat -Committed changes for the win32 build process. - - 2006-02-10 03:35 robocop - M src/jrd/rse.cpp -This is why we put {} around if/else always: to avoid errors like this one, where indentation is not what the compiler follows. - - 2006-02-10 03:28 robocop - M src/include/memory_routines.h - M src/jrd/blb.cpp - M src/jrd/cmp.cpp - M src/jrd/dfw.epp - M src/jrd/exe.cpp - M src/jrd/ext.cpp - M src/jrd/ini.epp - M src/jrd/jrd.cpp - M src/jrd/jrd.h - M src/jrd/met.epp - M src/jrd/opt.cpp - M src/jrd/par.cpp - M src/jrd/rse.cpp - M src/jrd/tra.cpp - M src/jrd/validation.cpp -Misc. - - 2006-02-09 15:50 kkuznetsov - M src/jrd/rse.cpp -Fix aligment issues on Solaris sparc V9 (64 bits) - - 2006-02-09 11:00 kkuznetsov - M src/include/memory_routines.h -Minor fixes big thanks to Alex and Dmitry - - 2006-02-09 07:48 hvlad - M doc/sql.extensions/README.isc_info_xxx -Correct documentation for isc_info_creation_date - - 2006-02-09 07:42 hvlad - M src/jrd/inf.cpp -Correct way to work on big-endian systems - - 2006-02-08 21:21 hvlad - M doc/sql.extensions/README.isc_info_xxx -Document isc_info_creation_date - - 2006-02-08 21:20 hvlad - M src/jrd/inf.cpp - M src/jrd/inf_pub.h -Implemented new isc_info_creation_date - - 2006-02-08 10:11 hvlad - M src/jrd/btr.cpp -bugfix - - 2006-02-08 09:25 kkuznetsov - M builds/posix/prefix.solaris - M builds/posix/prefix.solaris-64SCC - M builds/posix/prefix.solaris-64gcc -Minor updates to Solaris sparc 64 prefixes - - 2006-02-07 18:41 dimitr - M src/remote/xnet.cpp -Fixed broken XNET logic. In fact, this affects all types of connections as the security database is accessed locally. - - 2006-02-07 17:21 hvlad - M src/jrd/isc_sync.cpp -Fixed unregistered bug: fb_lock_print fails with message: -The requested operation cannot be performed on a file with a user-mapped section open. - - 2006-02-07 08:08 robocop - M src/jrd/Optimizer.cpp - M src/jrd/blp.h - M src/jrd/blr.h - M src/jrd/cmp.cpp - M src/jrd/evl.cpp - M src/jrd/exe.h - M src/jrd/gds.cpp - M src/jrd/nav.cpp - M src/jrd/nod.h - M src/jrd/opt.cpp - M src/jrd/par.cpp - M src/jrd/rse.h - M src/misc/blrtable.cpp -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like. - - 2006-02-06 16:13 kkuznetsov - M extern/icu/source/config/mh-solaris -minor fixes - - 2006-02-06 16:12 kkuznetsov - M builds/posix/prefix.solaris-64SCC -More fixes to SCC port - - 2006-02-06 14:27 dimitr - M builds/win32/msvc7/fbudf.vcproj -Fixed MSVC7 build. - - 2006-02-06 13:01 kkuznetsov - M extern/icu/source/config/mh-solaris -misc - - 2006-02-06 08:13 kkuznetsov - M src/include/memory_routines.h -Add 2 aligment fixes templates - - 2006-02-05 18:03 dimitr - M src/remote/os/win32/srvr_w32.cpp - M src/remote/xnet.cpp - M src/remote/xnet_proto.h -Fixed XNET to follow the common call architecture for the remote subsystem. Just hope I didn't break the logic. - - 2006-02-05 12:39 hvlad - M doc/sql.extensions/README.isc_info_xxx -Typo's - - 2006-02-05 12:33 hvlad - A doc/sql.extensions/README.isc_info_xxx -Documentation for new isc_info_xxx calls - - 2006-02-05 11:36 hvlad - M src/jrd/inf.cpp - M src/jrd/inf_pub.h -Implemented SF #1315814 (isc_info_active_transactions_count) and -#1089646 (isc_transaction_info - get isolation level) - - 2006-02-05 11:06 hvlad - M src/jrd/tra.cpp -1. Let SUPERSERVER_V2 also check for transactions numbers overflow -2. Correction - - 2006-02-05 11:04 hvlad - M src/jrd/pag.cpp -Make code some simpler. Thanks to Claudio - - 2006-02-04 16:10 dimitr - M src/remote/xnet.cpp -Implemented SRVR_debug for XNet connections on win32. - - 2006-02-04 11:32 dimitr - M src/remote/os/win32/srvr_w32.cpp -Fixed SRVR_debug for INet connections on win32. - - 2006-02-04 10:37 dimitr - M src/remote/inet.cpp - M src/remote/interface.cpp - M src/remote/protocol.h - M src/remote/remote.h - M src/remote/server.cpp -Minor cleanup. - - 2006-02-04 04:39 robocop - M builds/win32/msvc6/fbudf.dsp - M src/common/classes/timestamp.cpp -Use SUPERCLIENT for fbudf for avoiding exception-related code. - - 2006-02-04 04:20 robocop - M lang_helpers/gds_codes.ftn - M lang_helpers/gds_codes.pas - M src/include/gen/msgs.h -Sync after Vlad's changes. - - 2006-02-04 04:19 robocop - M src/msgs/facilities.sql - M src/msgs/history.sql -Misc. - - 2006-02-04 02:40 robocop - M src/extlib/fbudf/fbudf.cpp - M src/jrd/gds.cpp -I misread the logic: it's true (not false) that tells Timestamp to not call the operating system to get the current time. Thanks to D. Sibiryakov. - - 2006-02-03 23:47 asfernandes - M doc/WhatsNew -Fixed typo - - 2006-02-03 22:05 hvlad - M src/jrd/blb.cpp - M src/jrd/lck.h -Correction - - 2006-02-03 17:45 hvlad - M src/include/gen/codetext.h - M src/include/gen/iberror.h - M src/include/gen/msgs.h - M src/include/gen/rdb_codes.h - M src/include/gen/sql_code.h -New error message - - 2006-02-03 17:44 hvlad - M src/jrd/tra.cpp - M src/msgs/facilities.sql - M src/msgs/messages.sql - M src/msgs/system_errors.sql -Prevent transaction numbers from overflow MAX_SLONG boundary - - 2006-02-03 16:57 hvlad - M src/jrd/blb.cpp - M src/msgs/facilities.sql - M src/msgs/messages.sql -Replace one fb_assert with BUGCHECK as Claudio suggested some time ago - - 2006-02-03 16:22 hvlad - M src/msgs/messages.sql -Fixed isql's statistics output - - 2006-02-03 13:49 hvlad - M src/jrd/tra.cpp -Prevent unnecessary blocking of garbage collection by read-committed transactions - - 2006-02-03 13:23 hvlad - M src/jrd/inf.cpp - M src/jrd/jrd.cpp - M src/jrd/pag.cpp - M src/jrd/pag_proto.h -Don't overwrite dbb_oldest_snapshot and another transaction numbers with -oldest values from header page after user call to isc_info_oldest_snapshot etc - - 2006-02-03 13:13 hvlad - M src/burp/burp.cpp - M src/isql/isql.epp - M src/lock/lock.cpp - M src/qli/format.cpp - M src/qli/mov.cpp - M src/qli/picstr.cpp - M src/remote/inet.cpp - M src/remote/server.cpp - M src/utilities/gstat/dba.epp - M src/utilities/gstat/ppg.cpp -Replace "../jrd/jrd_time.h" with "../common/classes/timestamp.h" - - 2006-02-03 12:24 kkuznetsov - M builds/posix/prefix.solaris-64SCC -Fix 64 switches - - 2006-02-03 12:23 kkuznetsov - M extern/icu/source/config/mh-solaris -Add 64 bit swithes to solaris port of icu - - 2006-02-03 08:41 robocop - D src/jrd/jrd_time.h -Bye, bye jrd_time.h. - - 2006-02-03 08:39 robocop - M src/common/classes/timestamp.h - M src/jrd/cch.cpp - M src/jrd/cvt.cpp - M src/jrd/dmp.cpp - M src/jrd/evl.cpp - M src/jrd/gds.cpp - M src/jrd/isc_sync.cpp - M src/jrd/jrd.cpp - M src/jrd/perf.cpp - M src/jrd/svc.cpp - M src/jrd/utl.cpp - M src/lock/print.cpp -Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary. - - 2006-02-03 08:37 robocop - M src/jrd/exe.h -More scrollable cursors related code. - - 2006-02-03 08:19 kkuznetsov - A builds/posix/prefix.solaris-64SCC -Prepare for use Sun CC compiler on Solaris sparc platform - - 2006-02-03 02:28 robocop - M src/jrd/jrd.h - M src/jrd/log.cpp - M src/jrd/opt.cpp - M src/jrd/pag.cpp - M src/jrd/rse.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Ninth step: while doing cleanup, I discovered some data members that aren't used anymore or that should be inside conditional code. This is the result. - - 2006-02-02 13:17 dimitr - M builds/win32/msvc7/Firebird2.sln - M builds/win32/msvc7/fbudf.vcproj -Fixed the win32 build. - - 2006-02-02 12:56 dimitr - M src/jrd/opt.cpp -Fixed a bug with NOT ANY/ALL reported by Alex. - - 2006-02-02 07:57 robocop - M src/jrd/cch.cpp - M src/jrd/jrd.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Eighth step: dbb_refresh_ranges belongs to the obsolete functionality and since it's never set but tested in cch.cpp with two AND, the whole condition will be always false, hence remove the code. - - 2006-02-02 07:40 robocop - M src/jrd/exe.h - M src/jrd/sort.cpp - M src/misc/blrtable.cpp -Misc. - - 2006-02-02 07:37 robocop - M src/jrd/nav.cpp - M src/jrd/rse_proto.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Seventh step: since RSE_MARK_CRACK became a no-op, remove it from the sources. - - 2006-02-02 07:32 robocop - M src/jrd/cmp.cpp - M src/jrd/cmp_proto.h - M src/jrd/evl.cpp - M src/jrd/exe.cpp - M src/jrd/exe_proto.h - M src/jrd/jrd.cpp - M src/jrd/jrd.h - M src/jrd/nav.cpp - M src/jrd/nav_proto.h - M src/jrd/opt.cpp - M src/jrd/opt_proto.h - M src/jrd/par.cpp - M src/jrd/req.h - M src/jrd/rlck.cpp - M src/jrd/rlck_proto.h - M src/jrd/rse.cpp - M src/jrd/rse_proto.h - M src/jrd/shut.cpp - M src/jrd/sort.cpp - M src/jrd/tra.cpp - M src/jrd/tra.h - M src/jrd/vio.cpp - M src/jrd/vio_proto.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>) - - 2006-02-02 00:39 robocop - M src/extlib/fbudf/fbudf.cpp -fbudf wasn't really thread safe (despite the Mutex) when dealing with the non-reentrant functions localtime and gmtime because we need to copy the contents of the result pointer to a local variable before releasing the Mutex. - - 2006-02-02 00:28 robocop - M builds/win32/msvc6/Firebird2.dsw - M builds/win32/msvc6/fbudf.dsp - M src/common/classes/timestamp.cpp - M src/common/classes/timestamp.h - M src/extlib/fbudf/fbudf.cpp -Declare independence day from client library for fbudf . For builds other than MSVC6, the following has to be done: -- add to fbudf project the files timestamp.cpp and timestamp.h -- for the same project, define FBUDF_EXPORTS as preprocessor macro -- for the firebird2 workspace/solution/make/etc get rid of the dependency of fbudf on fbclient. Build files that I indentified that need fixes are: -builds\posix\Makefile.in.client.fbudf -builds\posix\Makefile.in.embed.fbudf -builds\win32\msvc7\fbudf.vcproj -builds\win32\msvc7\Firebird2.sln -MacOs build files ignore fbudf completely. -This change eliminates the problem with the client library having different names depending on the build type (SS, CS, embedded). - - 2006-02-02 00:03 robocop - M src/jrd/gds.cpp -Do not lose time getting the accurate timestamp from the operating system if we are going to override it imediately with the user supplied value in isc_encode_date and isc_encode_timestamp. Also, this avoids an exception escaping from the API functions if the system call fails. - - 2006-02-01 22:50 robocop - D src/jrd/bookmark.cpp - D src/jrd/bookmark.h - D src/jrd/rng.cpp - D src/jrd/rng.h - D src/jrd/rng_proto.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Fifth step: remove the aforementioned files. More to come. - - 2006-02-01 22:45 robocop - M src/jrd/jrd.h - M src/jrd/nav_proto.h - M src/jrd/req.h - M src/jrd/rse_proto.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Fourth step: remove forward declarations of classes Bookmark and RefreshRange. More to come. - - 2006-02-01 09:21 robocop - M src/jrd/blk.h - M src/jrd/dbt.cpp - M src/jrd/rse.h -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Third step: remove references to the deleted objects Bookmark and RefreshRange in blk.h and dbt.cpp (debug). Remove definition of Bookmark from rse.h. More to come. - - 2006-02-01 08:55 robocop - M src/jrd/cmp.cpp - M src/jrd/evl.cpp - M src/jrd/exe.cpp - M src/jrd/nav.cpp - M src/jrd/rse.cpp - M src/jrd/shut.cpp - M src/jrd/vio.cpp -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -Second step: remove them from #include clauses in other files. More to come. - - 2006-02-01 08:51 robocop - M builds/mac_os_x/CS/CS.pbproj/project.pbxproj - M builds/posix/make.shared.variables - M builds/win32/msvc6/engine.dsp - M builds/win32/msvc6/engine_classic.dsp - M builds/win32/msvc6/engine_embed.dsp - M builds/win32/msvc7/engine.vcproj - M builds/win32/msvc7/engine_classic.vcproj - M builds/win32/msvc7/engine_embed.vcproj -The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. -First step: remove them from the build configurations. More to come. - - 2006-01-31 07:18 robocop - M src/jrd/pcmet.epp -Change misleading comment: the file is used for expression indices, cannot be deprecated as it was part of the PC_ENGINE feature. - - 2006-01-29 03:23 robocop - M src/burp/backup.epp -Skip system objects: exceptions, blob filters and procedures. - - 2006-01-29 01:52 robocop - M src/jrd/btn.cpp -Totally misc. - - 2006-01-28 14:43 asfernandes - M src/intl/lc_iso8859_2.cpp - M src/intl/lc_narrow.h -Fixed problem "key size exceeds implementation restriction for index ..." reported by Michal Kubecek in fb-devel - - 2006-01-28 07:37 dimitr - M src/jrd/btn.cpp -More fixes, thanks to Claudio. - - 2006-01-28 04:12 robocop - M src/iscguard/iscguard.cpp - M src/jrd/jrd.cpp - M src/jrd/nav.cpp - M src/jrd/opt.cpp - M src/jrd/tra.cpp -Misc. - - 2006-01-27 07:59 dimitr - M src/jrd/cmp.cpp -Fixed bug reported in fb-support - wrong permission checks for view columns. - - 2006-01-27 07:36 hvlad - M src/dsql/dsql.cpp -Fixed unregistered bug: AV in request driven by freed cursor -(when request is dropped flag REQ_orphan is set for child requests but -this flag is never checked) - - 2006-01-26 12:23 dimitr - M src/iscguard/iscguard.cpp - M src/iscguard/iscguard.rh - M src/remote/os/win32/window.cpp - M src/remote/os/win32/window.rh -Reduced dependencies upon window messages + cleanup. - - 2006-01-26 11:21 dimitr - M src/dsql/ddl.cpp -CREATE VIEW should be aware that a column alias doesn't necessarily mean an expression. - - 2006-01-26 11:17 dimitr - M src/jrd/dfw.epp - M src/jrd/irq.h -Hopefully, this should fix SF #1404157. - - 2006-01-26 10:45 dimitr - M src/include/memory_routines.h - M src/jrd/btn.cpp -1) An attempt to fix the endianess/alignment issues in the b-tree code. -2) Some adjustments in the pointers management. - - 2006-01-26 08:00 robocop - M src/qli/show.epp -Beware of PC_ENGINE in qli: it's used to protect code meant to be marked with EXPRESSION_INDICES instead, therefore probably all places should be enabled unconditionally. At least with one change (this one) it now shows expression indices correctly. - - 2006-01-26 07:21 robocop - M src/include/gen/msgs.h - M src/msgs/history.sql -Sync after Dmitry Yemanov's changes. - - 2006-01-25 12:20 dimitr - M src/jrd/tra.cpp -Fixed a number of inconsistencies in the rollback code. - - 2006-01-25 12:11 dimitr - M src/jrd/exe.cpp -Fixed the issue with ROW_COUNT being cleared after SUSPEND. - - 2006-01-25 09:48 dimitr - M src/msgs/messages.sql -A small correction. - - 2006-01-25 08:40 robocop - M src/dsql/parse.cpp - M src/dsql/parse.y -Fix SF Bug# 1408079 and also the same problem with unterminated comment blocks /* ... - - 2006-01-25 07:04 robocop - M src/utilities/gstat/dba.epp -I want to continue compiling FB2 successfully with my tools, if you don't object. -:-) - - 2006-01-22 19:14 arnobrinkman - M src/dsql/pass1.cpp -Fix incorrect "Ambiguous field name error" reported by Ivan Prenosil: -SELECT - (SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS - WHERE RDB$FIELD_SOURCE = RDB$FIELDS.RDB$FIELD_NAME) - FROM RDB$FIELDS - WHERE RDB$FIELD_NAME NOT IN - (SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS) - - 2006-01-21 15:30 hvlad - M src/utilities/gstat/dba.epp -1. Add isc_dpb_no_garbage_collect to gfix attachment to not force a sweep -2. Fix unregistered bug - wrong statistics if relation\index data is longer than 2^32 bytes length -3. Fix unregistered bug - average index key length rounded to integer value - - 2006-01-21 15:29 hvlad - M src/jrd/tra.cpp -Attachment with isc_dpb_no_garbage_collect option will not force a sweep - - 2006-01-21 14:55 asfernandes - M src/dsql/dsql.h - M src/dsql/make.cpp - M src/dsql/metd.epp -Fixed problem caused by usage of UNICODE_FSS system domains in users views and tables - thanks to Dmitry - - 2006-01-20 13:34 hvlad - M src/dsql/dsql.tab.h - M src/dsql/parse.cpp -Regenerated parser files after parse.y change -By bison 2.1 now - - 2006-01-20 13:31 hvlad - M src/dsql/parse.y -Again fix issue with parser and not correctly stored source for -CURRENT_TIME\CURRENT_TIMESTAMP in procedure parameters -default values. Reported by Martijn Tonies - - 2006-01-19 16:53 dimitr - M src/jrd/Optimizer.cpp -Temporary rolled back one one of my previous fixes due to discovered issues. - - 2006-01-19 14:32 alexpeshkoff - M builds/posix/Makefile.in.client.fbudf -applied patch from Michal Kubecek - - 2006-01-18 11:54 alexpeshkoff - M src/gpre/int_cxx.cpp -fixed gcc warning(s) - - 2006-01-18 10:43 alexpeshkoff - M src/jrd/alt.cpp - M src/jrd/dpm.epp - M src/jrd/dsc.cpp - M src/jrd/dsc2.h - M src/jrd/dsc_pub.h - M src/jrd/filters.cpp - M src/jrd/intl_builtin.cpp - M src/jrd/isc_sync.cpp - M src/jrd/jrd.h - M src/jrd/perf.cpp -fixed gcc warning(s) - - 2006-01-17 09:20 robocop - M doc/WhatsNew -Restore missing WhatsNew entries that I deleted on bad merge. - - 2006-01-17 07:52 robocop - M src/intl/lc_big5.h - M src/jrd/dsc.h - M src/qli/exe.cpp -Misc. - - 2006-01-17 07:39 robocop - M src/jrd/Optimizer.h -Disable the debug info for the optimizer in the public repository as it might produce release builds that create an output file with that information. - - 2006-01-17 07:37 robocop - M doc/WhatsNew -Fix my previous entry in the WhatsNew. - - 2006-01-17 04:40 paul_reeves - M builds/install/misc/firebird.conf - M doc/WhatsNew - M src/common/config/config.cpp - M src/common/config/config.h - M src/dsql/make.cpp -Forward port OldColumnNaming from Fb 1.5.3 - - 2006-01-16 17:17 dimitr - M doc/WhatsNew -Updated the docs. - - 2006-01-16 16:49 alexpeshkoff - M src/intl/lc_big5.cpp - M src/intl/lc_big5.h - M src/intl/lc_jis.cpp - M src/intl/lc_unicode_ucs2.cpp - M src/isql/show.epp - M src/lock/lock.cpp - M src/qli/exe.cpp - M src/qli/format.cpp - M src/qli/show.epp - M src/remote/inet_server.cpp - M src/utilities/gsec/gsec.cpp - M src/utilities/gstat/dba.epp - M src/utilities/nbackup.cpp -fixed gcc warning(s) - - 2006-01-16 16:46 alexpeshkoff - M src/qli/meta.epp -ported fix from vulcan - - 2006-01-16 16:31 alexpeshkoff - M src/dsql/dsql.cpp - M src/dsql/metd.epp - M src/dsql/pass1.cpp -fixed gcc warning(s) - - 2006-01-16 15:39 alexpeshkoff - M src/alice/alice.cpp - M src/burp/burp.cpp - M src/common/classes/ClumpletReader.h - M src/common/classes/semaphore.h -fixed gcc warning(s) - - 2006-01-16 15:21 paul_reeves - M builds/install/arch-specific/win32/Readme.txt - M builds/install/arch-specific/win32/ba/Instalacija_ProcitajMe.txt - M builds/install/arch-specific/win32/de/installation_liesmich.txt - M builds/install/arch-specific/win32/de/liesmich.txt - M builds/install/arch-specific/win32/installation_readme.txt - M builds/install/arch-specific/win32/pl/instalacja_czytajto.txt -Catch up with commit of some win32 install docs that were part of beta 1 - - 2006-01-16 10:01 alexpeshkoff - M src/qli/meta.epp -ported fix from vulcan - - 2006-01-16 08:47 alexpeshkoff - M src/remote/inet.cpp -fixed posix build - - 2006-01-15 18:11 asfernandes - M src/dsql/gen.cpp - M src/dsql/pass1.cpp -Fixed problem causing collation lost in sqlsubtype when using dynamic charset - reported by Ivan Prenosil - - 2006-01-15 16:04 dimitr - M src/jrd/Optimizer.cpp - M src/jrd/cvt.cpp - M src/jrd/dsc.h - M src/jrd/exe.cpp - M src/jrd/rse.cpp - M src/qli/mov.cpp -Fixed bug related to expression indices vs. collates, reported by Ivan. - - 2006-01-15 13:39 alexpeshkoff - M builds/posix/Makefile.in.client.util -fixed posix build - - 2006-01-15 13:34 alexpeshkoff - M src/utilities/ibmgr/ibmgr.cpp - M src/utilities/ibmgr/srvrmgr.cpp -fixed posix build and warnings - - 2006-01-15 13:19 arnobrinkman - M src/jrd/Optimizer.cpp - M src/jrd/Optimizer.h -Fix bug with lower/upper -exlude flag for indexes - - 2006-01-15 12:48 alexpeshkoff - M src/jrd/req.h -fixed gcc warning - - 2006-01-14 18:04 asfernandes - M builds/install/misc/fbintl.conf - M builds/win32/msvc6/intl.dsp - M builds/win32/msvc7/intl.vcproj - A src/intl/collations/win_cz.h - A src/intl/collations/win_cz_ci_ai.h - M src/intl/lc_iso8859_1.cpp - M src/intl/ld.cpp - M src/jrd/intlnames.h -Add Czech collations - contributed by Ivan Prenosil: - - WIN_CZ (case-insensitive, accent-sensitive) - - WIN_CZ_CI_AI (case-insensitive, accent-insensitive) - - 2006-01-14 07:00 robocop - M src/dsql/ddl.cpp - M src/isql/extract.epp - M src/isql/show.epp - M src/jrd/Optimizer.cpp - M src/jrd/Optimizer.h - M src/jrd/btr.cpp - M src/jrd/common.h - M src/jrd/dfw.epp - M src/jrd/dyn_def.epp - M src/jrd/dyn_del.epp - M src/jrd/opt.cpp - M src/jrd/pcmet.epp - M src/jrd/validation.cpp -EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild. - - 2006-01-14 04:56 robocop - M src/remote/os/win32/srvr_w32.cpp -Detect if some undocumented startup option failed (Windows). - - 2006-01-14 04:54 robocop - M src/utilities/ibmgr/ibmgr.cpp -Totally misc. - - 2006-01-14 04:48 robocop - M src/burp/burp.cpp - M src/common/utils.cpp - M src/common/utils_proto.h - M src/jrd/gds.cpp - M src/jrd/os/config_root.h - M src/jrd/os/darwin/config_root.cpp - M src/jrd/os/vms/extvms.cpp - M src/jrd/sch.cpp - M src/jrd/utl.cpp - M src/qli/dtr.cpp - M src/qli/lex.cpp - M src/remote/inet.cpp - M src/remote/remote.cpp - M src/utilities/gsec/gsec.cpp - M src/utilities/ibmgr/ibmgr.cpp -Change from getenv to readenv. This is still getenv in Linux/UNIX but GetEnvironmentVariable in Windows. - - 2006-01-13 22:25 robocop - M src/burp/spit.h - M src/burp/std_desc.h -Totally misc. - - 2006-01-13 09:33 dimitr - M src/jrd/met.epp - M src/jrd/par.cpp -Fixed SF #1404215. - - 2006-01-13 07:36 dimitr - M src/burp/burp.h - M src/burp/spit.cpp - M src/burp/spit.h - M src/burp/std_desc.h -1) Fixed stdin/stdout redirection in win32 gsplit -2) Make the code more GCC4 friendly - - 2006-01-12 13:21 dimitr - M src/remote/interface.cpp -Fixed the wrong local connection. - - 2006-01-10 22:20 robocop - M doc/WhatsNew -Misc. - - 2006-01-10 15:01 kkuznetsov - M src/common/classes/fb_string.h - M src/jrd/status.h -Fix compile error on Solaris - udefined va_list - - 2006-01-10 08:31 dimitr - M src/burp/std_desc.h -Correction. - - 2006-01-10 07:59 dimitr - M doc/sql.extensions/README.select_expressions -Corrections, thanks to Claudio. - - 2006-01-09 19:57 dimitr - M src/burp/burp.cpp - M src/burp/burp.h - M src/burp/std_desc.h -Minor cleanup + solved one of the GCC4 compile issues. - - 2006-01-09 14:17 dimitr - M doc/WhatsNew -More docs. - - 2006-01-09 12:45 dimitr - M doc/sql.extensions/README.select_expressions -More docs. - - 2006-01-09 10:13 dimitr - M doc/README.xnet -Added description of XNET. - - 2006-01-08 08:21 dimitr - M src/jrd/btr.cpp -Fixed BUGCHECK(205) related to ODS11 index changes. - - 2006-01-08 01:11 robocop - M src/common/fb_exception.cpp - M src/include/fb_exception.h -Avoid a crash. - - 2006-01-07 16:58 alexpeshkoff - M src/common/classes/MetaName.cpp - M src/common/classes/fb_string.cpp - M src/common/utils.cpp - M src/isql/isql.epp - M src/jrd/dfw.epp -fixed compilation after changes in exception - - 2006-01-07 16:55 alexpeshkoff - M src/common/fb_exception.cpp -avoid vararg constructors in status_exception - - 2006-01-07 16:53 alexpeshkoff - M src/remote/interface.cpp -rollback temporary fix after fixing status_exception - - 2006-01-07 16:50 alexpeshkoff - M src/include/fb_exception.h -avoid vararg constructors in status_exception - - 2006-01-07 01:32 robocop - M src/alice/alice_meta.epp - M src/gpre/gpre_meta_boot.cpp -Misc. - - 2006-01-07 00:34 robocop - M src/common/fb_exception.cpp -Complete Alex fix. - - 2006-01-07 00:33 robocop - M src/jrd/os/config_root.h -Totally misc. - - 2006-01-07 00:31 robocop - M src/alice/alice_meta.epp - M src/dudley/exe.epp - M src/dudley/trn.cpp - M src/gpre/gpre_meta.epp - M src/gpre/gpre_meta_boot.cpp - M src/jrd/cmp.cpp - M src/jrd/dyn.epp - M src/jrd/intl.cpp - M src/jrd/jrd.cpp - M src/jrd/pag.cpp - M src/qli/command.cpp - M src/qli/meta.epp - M src/remote/os/win32/srvr_w32.cpp - M src/utilities/install/install.cpp - M src/utilities/install/registry.cpp - M src/utilities/install/services.cpp -Comment excessive dependencies on license.h. - - 2006-01-06 22:42 robocop - D src/remote/mgr.cpp -Remove leftover from Apollo. - - 2006-01-06 12:29 alexpeshkoff - M src/jrd/ibase.h - M src/remote/interface.cpp - M src/remote/server.cpp -simpler way to detect redirection attempt - - 2006-01-06 11:21 alexpeshkoff - M src/common/fb_exception.cpp - M src/remote/interface.cpp -fixed "invalid database handle" error - - 2006-01-05 17:30 alexpeshkoff - M src/jrd/ibase.h -don't use internal type in public file - - 2006-01-05 17:13 dimitr - M src/jrd/opt.cpp -Allowed expression indices to be used for navigation on outer streams. - - 2006-01-05 10:10 dimitr - M src/jrd/cch.cpp -Little cleanup. - - 2006-01-04 05:55 robocop - M src/dsql/metd.epp -Misc. - - 2006-01-03 15:47 dimitr - M src/jrd/cmp.cpp - M src/jrd/scl.epp - M src/jrd/scl_proto.h - M src/jrd/vio.cpp -1) Replaced TEXT* with MetaName& in SCL. -2) Fixed SF #1396017. - - 2006-01-03 15:07 alexpeshkoff - M src/common/classes/MetaName.cpp - M src/common/classes/MetaName.h -MetaName can now handle NULL in constructors and assignments - - 2006-01-03 11:28 dimitr - M src/jrd/cmp.cpp - M src/jrd/exe.cpp - M src/jrd/jrd.cpp - M src/jrd/req.h -Fixed the garbage trigger name (reported by Alex). - - 2005-12-31 05:58 robocop - M src/jrd/nav.cpp - M src/jrd/rse.cpp - M src/jrd/rse.h -Isolate scrollable cursors (checked by Dmitry Y.) - - 2005-12-31 03:49 robocop - M src/utilities/ibmgr/ibmgr.h - M src/utilities/ibmgr/srvrmgr.cpp -Misc. - - 2005-12-30 16:08 alexpeshkoff - M src/dbs/security.sql -fixed SF bug 229237 - - 2005-12-30 15:59 alexpeshkoff - M src/utilities/ibmgr/ibmgr.cpp - M src/utilities/ibmgr/ibmgr.h - M src/utilities/ibmgr/srvrmgr.cpp -front-ported one forgotten 1.5 commit to 2.0 - - 2005-12-30 15:13 alexpeshkoff - M builds/install/arch-specific/linux/misc/firebird.init.d.debian.in -fixed runuser problem on Debian - - 2005-12-30 06:57 robocop - M src/isql/isql.epp - M src/isql/show.epp -Parse the server version output (that can be large with redirection) correctly when isql -z is used. - - 2005-12-29 09:32 alexpeshkoff - M src/isql/isql.epp -make server-version output a bit more readable - - 2005-12-29 08:06 alexpeshkoff - M src/isql/isql.epp - M src/remote/merge.cpp -fixed bugs in server version reporting - - 2005-12-28 10:07 dimitr - M src/jrd/gds.cpp -Fixed POSIX builds. - - 2005-12-28 07:11 aafemt - M doc/README.build.mingw.html -Misc - - 2005-12-28 06:58 aafemt - M builds/posix/make.defaults - M builds/posix/make.rules - M builds/posix/prefix.mingw -Strip executables in prod build - - 2005-12-28 06:42 robocop - M src/jrd/evl.cpp -Misc. - - 2005-12-28 06:09 aafemt - M builds/posix/Makefile.in.client.util -Redundant objects - - 2005-12-28 06:08 aafemt - M builds/posix/prefix.mingw -Adapted for GCC 3.4 - - 2005-12-28 06:07 aafemt - M doc/README.build.mingw.html -Update - - 2005-12-28 06:06 aafemt - M doc/README.incompatibilities.txt -More info - - 2005-12-28 02:21 robocop - M doc/README.incompatibilities.txt -Misc. - - 2005-12-27 10:57 dimitr - M doc/README.incompatibilities.txt -More info. - - 2005-12-27 09:42 dimitr - M src/isql/show.epp -Fixed stack buffer overrun. - - 2005-12-27 08:10 robocop - M doc/README.incompatibilities.txt - M src/include/gen/iberror.h - M src/misc/codes.epp -Misc. - - 2005-12-26 21:18 hvlad - M src/common/classes/stack.h -Avoid frequent (unneeded and inefficient) allocation\deallocation of stack entryes - - 2005-12-26 21:17 hvlad - M src/jrd/cch.cpp -Restored accidentally committed wrong file - - 2005-12-26 21:13 hvlad - M src/jrd/cch.cpp -Avoid frequent (unneeded and inefficient) allocation \ deallocation of stack entryes - - 2005-12-26 16:10 alexpeshkoff - M src/isql/isql.epp -Fixed buffer overrun in case of bad data returned by isc_database_info() - - 2005-12-26 11:59 alexpeshkoff - M doc/README.incompatibilities.txt -Misc - - 2005-12-26 10:31 dimitr - M src/include/gen/iberror.h - M src/misc/codes.epp -Continued fixing public headers. - - 2005-12-26 09:47 dimitr - M src/jrd/nav.cpp -Never rely on eof/bof markers for non-scrollable-cursors code. -This fixes the newly introduced bug as well as the original issue. - - 2005-12-25 23:12 hvlad - M src/jrd/cmp.cpp -Missing assignment - - 2005-12-25 07:43 robocop - M src/jrd/gds.cpp -Do not use the harcoded c:\Program Files path while possible: it doesn't have to live in the C: partition and it's localized in non-English Windows versions. - - 2005-12-25 07:40 robocop - M src/remote/os/win32/srvr_w32.cpp -- Handle gracefully the exceptions that happen at startup in Windows. -- Show the version string if asked explicitly. -- Some minor cleanup. - - 2005-12-25 04:42 robocop - M src/jrd/gds.cpp -Solve chicken and egg problem: when we can't locate the config file, we throw an exception b... [truncated message content] |
From: <ma...@us...> - 2014-12-08 16:35:26
|
Revision: 60347 http://sourceforge.net/p/firebird/code/60347 Author: mapopa Date: 2014-12-08 16:35:22 +0000 (Mon, 08 Dec 2014) Log Message: ----------- Remove deprecated GCC flag -mno-cygwin . Modified Paths: -------------- firebird/trunk/builds/posix/prefix.mingw firebird/trunk/configure.ac firebird/trunk/extern/libtommath/makefile.cygwin_dll Modified: firebird/trunk/builds/posix/prefix.mingw =================================================================== --- firebird/trunk/builds/posix/prefix.mingw 2014-12-08 13:12:16 UTC (rev 60346) +++ firebird/trunk/builds/posix/prefix.mingw 2014-12-08 16:35:22 UTC (rev 60347) @@ -20,8 +20,8 @@ # # -Wno-unused-variable is used due to unused gpre generated variables -PROD_FLAGS=-O2 -march=i586 -DMINGW -mno-cygwin -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor -DEV_FLAGS=-ggdb -march=i586 -DMINGW -mno-cygwin -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor +PROD_FLAGS=-O2 -march=i586 -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor +DEV_FLAGS=-ggdb -march=i586 -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor PLATFORM_PATH=os/win32 Modified: firebird/trunk/configure.ac =================================================================== --- firebird/trunk/configure.ac 2014-12-08 13:12:16 UTC (rev 60346) +++ firebird/trunk/configure.ac 2014-12-08 16:35:22 UTC (rev 60347) @@ -1037,7 +1037,7 @@ #define FB_PIPE_NAME "interbas"]) AC_DEFINE_UNQUOTED(FB_PIPE_NAME,"$FB_PIPE_NAME") AC_SUBST(FB_PIPE_NAME) - XE_PREPEND( -mno-cygwin -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS) + XE_PREPEND( -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS) ;; *) Modified: firebird/trunk/extern/libtommath/makefile.cygwin_dll =================================================================== --- firebird/trunk/extern/libtommath/makefile.cygwin_dll 2014-12-08 13:12:16 UTC (rev 60346) +++ firebird/trunk/extern/libtommath/makefile.cygwin_dll 2014-12-08 16:35:22 UTC (rev 60347) @@ -5,7 +5,7 @@ #"-Wl,--enable-auto-import" to your client build to avoid the auto-import warnings # #Tom St Denis -CFLAGS += -I./ -Wall -W -Wshadow -O3 -funroll-loops -mno-cygwin +CFLAGS += -I./ -Wall -W -Wshadow -O3 -funroll-loops #x86 optimizations [should be valid for any GCC install though] CFLAGS += -fomit-frame-pointer @@ -42,7 +42,7 @@ # make a Windows DLL via Cygwin windll: $(OBJECTS) - gcc -mno-cygwin -mdll -o libtommath.dll -Wl,--out-implib=libtommath.dll.a -Wl,--export-all-symbols *.o + gcc -mdll -o libtommath.dll -Wl,--out-implib=libtommath.dll.a -Wl,--export-all-symbols *.o ranlib libtommath.dll.a # build the test program using the windows DLL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-09 10:59:43
|
Revision: 60350 http://sourceforge.net/p/firebird/code/60350 Author: firebirds Date: 2014-12-09 10:59:38 +0000 (Tue, 09 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-09 07:10:01 UTC (rev 60349) +++ firebird/trunk/ChangeLog 2014-12-09 10:59:38 UTC (rev 60350) @@ -1,3 +1,17 @@ + 2014-12-08 16:58 mapopa + M builds/posix/prefix.mingw +Remove hardcoded march to allow 64-bit builds + + 2014-12-08 16:35 mapopa + M builds/posix/prefix.mingw + M configure.ac + M extern/libtommath/makefile.cygwin_dll +Remove deprecated GCC flag -mno-cygwin . + + 2014-12-08 13:12 dimitr + M src/jrd/opt.cpp +Fixed CORE-4634: ORDER BY via an index + WHERE clause: error "no current record for fetch operation". + 2014-12-04 18:24 dimitr M src/remote/client/interface.cpp Fixed missing initialization of the output variable in the case of FB_EOF. @@ -75944,6 +75958,55086 @@ Fix compile error on Solaris 2006-04-17 15:52 alexpeshkoff - M /firebird/trun -o.h + M src/remote/inet.cpp +Don't raise SIGPIPE when other side terminated connection + + 2006-04-17 10:40 alexpeshkoff + M src/remote/server.cpp +removed unneeded h-file + + 2006-04-16 22:11 asfernandes + M builds/install/arch-specific/linux/classic/postinstall.sh.in + M builds/posix/Makefile.in.client.util + M src/utilities/guard/guard.cpp + M src/utilities/ibmgr/ibmgrswi.h +Misc + + 2006-04-16 22:01 asfernandes + M src/common/classes/semaphore.h +Correction for posix build + + 2006-04-16 19:54 kkuznetsov + M src/common/classes/semaphore.h +Solaris error correction + + 2006-04-16 18:49 asfernandes + M src/jrd/evl.cpp +Misc + + 2006-04-16 18:45 asfernandes + M src/dsql/make.cpp + M src/jrd/evl.cpp + M src/jrd/exe.h +Let LOWER/UPPER (blob) work - returning a blob + + 2006-04-16 17:09 asfernandes + M src/remote/server.cpp +Use THREAD_SLEEP as sleep don't exist in WIN32 + + 2006-04-16 17:03 alexpeshkoff + M src/jrd/execute_statement.cpp +Fixed bug in VC7.1 builds, reported by Ivan Prenosil + + 2006-04-16 16:13 alexpeshkoff + M src/common/classes/ClumpletReader.cpp +ported fixes from release + + 2006-04-16 15:27 asfernandes + M src/utilities/guard/guard.cpp +Correction + + 2006-04-16 12:58 alexpeshkoff + M builds/install/arch-specific/linux/classic/postinstall.sh.in + M builds/install/arch-specific/linux/misc/firebird.init.d.debian.in + M builds/install/arch-specific/linux/misc/firebird.init.d.generic.in + M builds/install/arch-specific/linux/misc/firebird.init.d.gentoo.in + M builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in + M builds/install/arch-specific/linux/misc/firebird.init.d.suse.in + M builds/install/arch-specific/linux/misc/linuxLibrary.sh.in + M builds/install/arch-specific/linux/misc/superLinux.sh.in + M builds/install/arch-specific/linux/super/postuninstall.sh.in + M builds/install/misc/classicLibrary.sh.in + M builds/install/misc/posixLibrary.sh.in + M builds/install/misc/superLibrary.sh.in + M builds/posix/Makefile.in.client.util + M src/burp/restore.epp + M src/utilities/guard/guard.cpp + M src/utilities/ibmgr/ibmgr.cpp + M src/utilities/ibmgr/ibmgr.h + M src/utilities/ibmgr/ibmgrswi.h + M src/utilities/ibmgr/srvrmgr.cpp +ported fixes from 2.0 release + + 2006-04-16 12:52 alexpeshkoff + M src/jrd/jrd.cpp +fixed debug build + + 2006-04-14 18:16 asfernandes + A builds/win32/create_msgs.bat + M builds/win32/make_boot2.bat +Add create_msgs.bat to be able to rebuild messages files without running make_boot2.bat + + 2006-04-14 16:46 alexpeshkoff + M src/remote/inet_server.cpp + M src/remote/serve_proto.h + M src/remote/server.cpp +shutdown working threads before server shutdown + + 2006-04-13 03:59 robocop + M src/common/classes/semaphore.h +Misc. + + 2006-04-13 03:04 asfernandes + M builds/install/misc/fbintl.conf + M builds/win32/msvc6/intl.dsp + M builds/win32/msvc7/intl.vcproj + A src/intl/collations/xx88592plk.h + M src/intl/lc_iso8859_2.cpp + M src/intl/ld.cpp + M src/jrd/intlnames.h +Polish collation ISO_PLK for ISO8859_2 charset - contributed by Jaroslaw Glowacki + + 2006-04-12 11:54 kkuznetsov + M src/common/classes/semaphore.h +Correct messages from Semaphore exceptions + + 2006-04-12 09:25 kkuznetsov + M src/common/classes/semaphore.h +Rewiev semaphore on Solaris platform: +add some fixes and loop on EINTR + + 2006-04-12 01:57 asfernandes + M src/common/classes/fb_string.cpp +Misc + + 2006-04-11 08:21 robocop + M src/isql/show.epp +Correction. + + 2006-04-11 07:30 robocop + M src/isql/show.epp +Adriano reported a problem with SHOW GENERATORS skipping the required object because an old db had NULL in the sysflag column. Using his proposed fix, committed only to the HEAD. + + 2006-04-11 07:18 robocop + M src/remote/inet.cpp + M src/remote/os/win32/wnet.cpp + M src/remote/xnet.cpp +Delete dead code after checking with Dmitry. +The B.O. are still there when copying the result of GetCommandLine(). + + 2006-04-11 07:16 robocop + M src/include/old_fb_blk.h + M src/remote/allr.cpp +Solve a possible truncation problem due to USHORT<->ULONG issues. +Tweak for embedded so it doesn't crash when handling an error. + + 2006-04-11 07:14 robocop + M src/dsql/hsh.cpp +Misc. + + 2006-04-11 06:46 dimitr + M src/common/classes/fb_string.cpp + M src/common/classes/tree.h +Sync with BV branch. Committed on behalf of George Sergeev. + + 2006-04-09 15:46 alexpeshkoff + M src/jrd/isc_sync.cpp +make CS lock manager semaphores have correct access rights + + 2006-04-09 12:47 alexpeshkoff + M src/dsql/hsh.cpp +fixed AV during massive addition of relations to DSQL hash + + 2006-04-09 10:59 alexpeshkoff + M src/jrd/nbak.cpp +fixed access rights to delta file + + 2006-04-09 06:53 robocop + M src/remote/server.cpp +Handle zero-length strings even if we have our buffer full. + + 2006-04-09 06:50 robocop + M src/remote/merge.cpp +We can't handle more than 255 bytes for some items when merging information. Let's be consistent between the length indicator and the bytes we put in the buffer. + + 2006-04-09 06:46 robocop + M src/remote/inet.cpp + M src/remote/protocol.cpp + M src/remote/remote.cpp + M src/remote/xdr.cpp +Style. + + 2006-04-09 00:53 robocop + M src/remote/server.cpp +Refactor this damn unreadable code and take into account the problem Adriano found with zero length file names in my previous commit. + + 2006-04-08 03:29 robocop + M src/lock/print.cpp +Misc. + + 2006-04-08 03:28 robocop + M src/msgs/messages.sql +Correction. + + 2006-04-08 03:09 asfernandes + M src/dsql/gen.cpp +Fix problem which occur when select a field with NONE charset when using another connection charset - second part of problem reported by Michal Kubecek + + 2006-04-08 00:03 robocop + M src/isql/isql.epp + M src/msgs/facilities.sql + M src/msgs/history.sql + M src/msgs/messages.sql +Adjust isql to the full words stated in the IB5 docs for the command line options. + + 2006-04-07 09:16 dimitr + M src/dsql/array.epp + M src/dsql/blob.epp +More threading related fixes. As a side effect, it disables a primitive client-side caching of a few predefined queries, but it doesn't show any performance difference. + + 2006-04-07 04:51 robocop + M src/remote/server.cpp +I think I'm fixing a potential buffer overrun here. + + 2006-04-07 02:58 asfernandes + M builds/posix/Makefile.in.client.fbudf + M src/common/classes/class_test.cpp + M src/common/classes/sparse_bitmap.h + M src/jrd/rse.cpp +Misc + + 2006-04-07 02:55 asfernandes + M src/remote/server.cpp +Correction + + 2006-04-06 14:43 alexpeshkoff + M src/isql/isql.epp +fixed regression in switch + + 2006-04-06 13:34 alexpeshkoff + M src/remote/server.cpp +validate port_context before use to avoid AV in remote + + 2006-04-06 13:30 alexpeshkoff + M src/jrd/svc.cpp +make service output look the same for both CS and SS + + 2006-04-06 08:18 robocop + M src/common/classes/ClumpletReader.cpp + M src/common/classes/ClumpletWriter.cpp + M src/common/classes/alloc.cpp + M src/common/classes/class_perf.cpp + M src/common/classes/class_test.cpp + M src/common/classes/fb_string.cpp + M src/common/classes/fb_string.h + M src/common/classes/semaphore.h + M src/common/classes/sparse_bitmap.h + M src/common/classes/tree.h + M src/common/fb_exception.cpp + M src/config/Lex.cpp + M src/config/Lex.h + M src/intl/lc_narrow.cpp + M src/intl/utils/dtest2.c + M src/intl/utils/mapgen4.c + M src/isql/isql.epp + M src/jrd/blb.cpp + M src/jrd/btr.cpp + M src/jrd/cch.cpp + M src/jrd/cmp.cpp + M src/jrd/dfw.epp + M src/jrd/evl.cpp + M src/jrd/exe.cpp + M src/jrd/functions.cpp + M src/jrd/met.epp + M src/jrd/nbak.cpp + M src/jrd/opt.cpp + M src/jrd/rse.cpp + M src/jrd/tra.cpp + M src/jrd/validation.cpp + M src/jrd/vio.cpp + M src/misc/makeHeader.cpp + M src/remote/server.cpp + M src/utilities/gsec/gsec.cpp + M src/utilities/rebuild/rebuild.cpp + M src/vulcan/RefObject.h +Style. + + 2006-04-06 06:32 robocop + M src/jrd/gds.cpp + M src/jrd/gds_proto.h + M src/jrd/ibase.h +Stop complainers related to the argument types of fb_interpret. + + 2006-04-06 04:19 aafemt + M builds/posix/Makefile.in.client.fbudf +Since timestamp routines are compiled-in directly, no need to link against fbclient. + + 2006-04-05 16:34 asfernandes + M src/jrd/jrd.cpp + M src/jrd/met.epp + M src/jrd/met_proto.h +Allow collation IDs greater than 127 + + 2006-04-05 16:24 asfernandes + M src/burp/backup.epp +Remove obsolete comment + + 2006-04-05 07:08 dimitr + M src/remote/inet.cpp +Nagle algorithm is now disabled by default, so there's no need to print an appropriate message in the server log. + + 2006-04-05 06:25 kkuznetsov + M src/common/classes/alloc.cpp +Add check for result of mmap() on Solaris platforms + + 2006-04-05 05:04 dimitr + M src/remote/inet.cpp +1) Set NoNagle depending on config only. +2) Set socket options for Win32 CS. + + 2006-04-05 04:38 dimitr + M src/dsql/make.cpp +Fixed the regression caused by my changes re. Dialect 1. + + 2006-04-05 04:36 dimitr + M src/jrd/cch.cpp +gds_alloc() no longer throws exceptions. Let's handle it properly. + + 2006-04-04 22:48 robocop + M src/alice/alice.cpp + M src/alice/alice.h + M src/alice/tdr.cpp +Misc. + + 2006-03-30 05:59 kkuznetsov + A extern/SfIO/read.me +Add readme + + 2006-03-29 17:47 dimitr + M src/jrd/cmp.cpp + M src/jrd/exe.h + M src/misc/blrtable.cpp +Fixed yet another bug in cursors. Will this ever end? :-) + + 2006-03-29 15:26 dimitr + M src/jrd/btr.cpp +Fixed the bug that caused unexpected bugcheck(205) in big databases. + + 2006-03-29 15:20 asfernandes + M builds/install/arch-specific/win32/pt/instalacao_leia-me.txt +Misc + + 2006-03-29 13:44 paul_reeves + M builds/install/arch-specific/win32/BuildExecutableInstall.bat + M builds/install/arch-specific/win32/FirebirdInstall_20.iss + M builds/install/arch-specific/win32/Readme.txt + M builds/install/arch-specific/win32/installation_readme.txt + M builds/win32/make_examples.bat +Minor tweaks to the Win32 build/install stuff. Updated readme and install_readme. + + 2006-03-29 13:43 paul_reeves + M builds/install/arch-specific/win32/pt/custom_messages_pt.inc + M builds/install/arch-specific/win32/pt/instalacao_leia-me.txt + M builds/install/arch-specific/win32/pt/leia-me.txt +Win32 installer - latest portuguese translations + + 2006-03-29 13:41 paul_reeves + A builds/install/arch-specific/win32/it + A builds/install/arch-specific/win32/it/custom_messages_it.inc + A builds/install/arch-specific/win32/it/leggimi.txt + A builds/install/arch-specific/win32/it/leggimi_installazione.txt +Add italian translations of install strings for Windows installs + + 2006-03-29 09:41 hvlad + M src/dsql/pass1.cpp +Make input parameters of EXECUTE BLOCK statement nullable + + 2006-03-29 09:39 kkuznetsov + A extern/SfIO + A extern/SfIO/include + A extern/SfIO/include/stdio.h +Add modifyed SFIO include file to public CVS + + 2006-03-28 10:16 dimitr + M src/jrd/dyn_mod.epp +Misc. + + 2006-03-28 09:55 dimitr + M src/jrd/evl.cpp +Protected from assignments to not existing fields. + + 2006-03-28 09:54 dimitr + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/rdb_codes.h + M src/include/gen/sql_code.h + M src/msgs/facilities.sql + M src/msgs/messages.sql + M src/msgs/system_errors.sql +Added new error message. + + 2006-03-28 09:36 dimitr + M src/jrd/exe.h +Fixed a minor regression in the permission checking logic. +Let's first check the relation privileges and only then the column ones. + + 2006-03-28 04:31 mkubecek + M src/isql/isql.epp + M src/isql/isql.h + M src/msgs/facilities.sql + M src/msgs/history.sql + M src/msgs/messages.sql +Fix of isql command line parser: check for repeated switches or database name. + + 2006-03-28 04:04 robocop + M doc/README.garbage_collector +Misc. + + 2006-03-26 20:51 hvlad + A doc/README.garbage_collector +Documentation for garbage collector + + 2006-03-26 05:58 robocop + M src/isql/isql.epp +- Misc. +- Style +- Avoiding one indentation level. + + 2006-03-26 04:58 robocop + M src/msgs/history.sql +Misc. + + 2006-03-26 03:34 asfernandes + M src/isql/isql.epp +Correction + + 2006-03-25 23:41 mkubecek + M src/isql/isql.epp + M src/isql/isql.h + M src/msgs/facilities.sql + M src/msgs/messages.sql +Fix of isql command line parser: allow only abbreviations of standard switch names, check integer arguments to be integers. + + 2006-03-25 07:08 robocop + M configure.in + M src/common/utils_proto.h + M src/include/gen/autoconfig_msvc.h + M src/jrd/common.h + M src/jrd/svc.cpp + M src/utilities/gsec/security.epp +Only strcmp and strncmp have common names across all plartforms. Cater for differences in strcasecmp/stricmp and strncasecmp/strnicmp. + + 2006-03-25 07:01 robocop + M src/isql/show.epp + M src/jrd/thd.cpp +Misc. + + 2006-03-21 01:55 asfernandes + M builds/posix/Makefile.in.client.qli +Misc + + 2006-03-20 16:29 alexpeshkoff + M src/remote/inet.cpp +fixed server hang in case of broken client + + 2006-03-20 14:17 alexpeshkoff M src/misc/writeBuildNum.sh +fixed bugs building release candidate 1 + + 2006-03-19 15:37 alexpeshkoff + M configure.in +Let FreeBSD use editline by default + + 2006-03-19 15:32 alexpeshkoff + M builds/posix/Makefile.in.client.qli + M builds/posix/Makefile.in.embed.qli +removed absolutely unneeded setuid - thanks to Sergey Skvortsov + + 2006-03-19 13:56 alexpeshkoff + M configure.in +fixing build on FreeBSD/amd64 + + 2006-03-18 06:22 robocop + M src/jrd/blb.cpp +Totally misc. + + 2006-03-18 01:57 asfernandes + M src/jrd/blb.cpp +Misc + + 2006-03-18 01:47 asfernandes + M doc/WhatsNew +Misc + + 2006-03-17 16:08 dimitr + M src/remote/os/win32/window.cpp +Let's not duplicate things. + + 2006-03-17 15:18 dimitr + M src/misc/writeBuildNum.sh +Misc. + + 2006-03-17 14:25 dimitr + M src/misc/writeBuildNum.sh +Updated the version number. + + 2006-03-17 13:36 alexpeshkoff + M doc/WhatsNew +Misc + + 2006-03-17 10:41 robocop + M doc/WhatsNew +Document isql's command line arguments explanation. + + 2006-03-17 09:39 hvlad + M doc/WhatsNew +Update WhatsNew + + 2006-03-17 09:28 hvlad + M src/jrd/blb.cpp + M src/jrd/blb.h +Fixed SF #1446987 + + 2006-03-17 08:15 dimitr + M doc/WhatsNew +Updated docs. + + 2006-03-17 07:56 hvlad + M src/jrd/vio.cpp +Fixed Beta2 bug reported in Russian newsgroup : AV when dropping FK +with inactive index. Style + + 2006-03-16 13:45 alexpeshkoff + M src/jrd/utl.cpp +misc + + 2006-03-16 09:07 robocop + M src/isql/isql.epp + M src/isql/isql.h + M src/msgs/facilities.sql + M src/msgs/history.sql + M src/msgs/messages.sql +Give isql a more useful help when receiving incorrect command line arguments, in sync with other utilities. Courtesy of Michal Kubecek. +Example: isql -? + + 2006-03-16 08:55 robocop + M src/jrd/sch.cpp +1.- Style. +2.- Don't overflow in case of long error message. + + 2006-03-16 08:53 robocop + M builds/install/misc/firebird.conf +Misc. + + 2006-03-16 02:26 asfernandes + M src/jrd/pag.cpp +Misc + + 2006-03-15 17:34 alexpeshkoff + M src/jrd/sch.cpp + M src/jrd/thd.cpp + M src/jrd/thd.h +fixed bugcheck in case of OS error in mutex + + 2006-03-15 17:32 alexpeshkoff + M src/jrd/common.h + M src/jrd/inf_pub.h + M src/jrd/pag.cpp + M src/jrd/utl.cpp +applied patch of Sergey Skvortsov - port for FreeBSD AMD64 + + 2006-03-15 17:29 alexpeshkoff + M src/common/fb_exception.cpp + M src/include/fb_exception.h +better support for OS error code in system_call_failed + + 2006-03-15 17:27 alexpeshkoff + M src/alice/alice.h + M src/burp/burp.cpp + M src/burp/burp.h +return error in case of unexpected status_exception + + 2006-03-15 17:25 alexpeshkoff + M src/jrd/vio.cpp + M src/remote/server.cpp +we should not loose status vector held in status_exception + + 2006-03-15 17:23 alexpeshkoff + M builds/install/misc/firebird.conf + M src/common/config/config.cpp + M src/misc/upgrade/v2/security_database.txt +change default value of LegacyHash + + 2006-03-15 14:03 paul_reeves + M src/jrd/isc_version.h +Use different release number in ISC_FILE_VER_XXXX to distinguish between Fb 1.5 and Fb 2.0. Bump the build number at the same time. + + 2006-03-15 04:22 robocop + M src/remote/os/win32/wnet.cpp +Commit Alex' fix for a buffer overrun. + + 2006-03-15 04:21 robocop + M src/burp/restore.epp +Get rid of unused handle. + + 2006-03-14 10:57 arnobrinkman + M src/dsql/pass1.cpp +Fix node compare function for derived fields. +Fixes field test-item #1449377. + + 2006-03-13 14:39 hvlad + M src/burp/restore.epp +Update statistics for system indices after restore + + 2006-03-13 14:32 hvlad + M src/jrd/sort.cpp +Fix SF #1434147 : Bugs with COUNT (DISTINCT XXX) when XXXX is a high integer + + 2006-03-10 17:46 alexpeshkoff + M src/jrd/cmp.cpp + M src/jrd/exe.cpp + M src/jrd/exe.h + M src/jrd/req.h +fixed memory leak - SF#1422471 + + 2006-03-10 08:23 robocop + M src/jrd/alt.cpp + M src/jrd/alt_proto.h + M src/jrd/dfw.epp + M src/jrd/ibase.h + M src/jrd/os/vms/vmsevent.cpp + M src/jrd/utl.cpp + M src/jrd/utl_proto.h + M src/jrd/why.cpp + M src/jrd/why_proto.h + M src/remote/server.cpp +Commit correct signature for events-related calls. + + 2006-03-10 02:05 asfernandes + M builds/posix/Makefile.in.libfbembed +Misc + + 2006-03-10 00:26 asfernandes + M src/jrd/req.h + M src/jrd/vio.cpp +Fix SF Field-test #1439268 - Sequence of commands crash FB server - second part - thanks to Claudio + + 2006-03-10 00:08 asfernandes + M src/dsql/pass1.cpp +Fix incorrect malformed string error, reported by Richard Wesley + + 2006-03-09 17:52 dimitr + M src/remote/xnet.cpp +Fixed an exception during events shutdown, reported in fb-devel. + + 2006-03-09 15:24 kkuznetsov + M builds/install/arch-specific/solx86gcc/CS/prototype.in +Update solaris packaging + + 2006-03-09 13:26 kkuznetsov + M configure.in +Fix packaging on SOLARIS sparc port + + 2006-03-09 10:27 alexpeshkoff + M src/utilities/gsec/call_service.cpp + M src/utilities/gsec/gsec.cpp + M src/utilities/gsec/gsec.h +always fill internal_user_data with 0's on creation + + 2006-03-09 09:42 kkuznetsov + M src/jrd/common.h +Set ODS aligment to 8 on Solaris sparc 32 bits port to avoid a lot of aligment problems. + + 2006-03-09 09:34 kkuznetsov + M builds/posix/Makefile.in.libfbembed + M builds/posix/prefix.solaris +Minor cleanup + + 2006-03-09 09:23 kkuznetsov + M builds/posix/prefix.solaris +Fix Solaris sparc 32 bit gcc port + + 2006-03-08 03:12 robocop + M src/include/gen/msgs.h + M src/msgs/facilities.sql + M src/msgs/history.sql +Sync after Dmitry's changes. + + 2006-03-08 03:10 robocop + M src/jrd/gds.cpp + M src/jrd/gds_proto.h +Misc. + + 2006-03-08 02:06 asfernandes + M builds/posix/Makefile.in.libfbembed +Use tab instead of spaces + + 2006-03-07 17:52 dimitr + M src/dsql/gen.cpp + M src/jrd/cmp.cpp + M src/jrd/exe.h + M src/jrd/par.cpp +Fixed yet another bug in explicit cursors. +Unfortunately, BLR compatibility is not provided, so users have to recompile their SPs/triggers. + + 2006-03-07 14:43 dimitr + M src/jrd/Optimizer.cpp +More precise calculation of index cardinalities. + + 2006-03-07 14:42 dimitr + M src/dsql/pass1.cpp +Fixed bug in RETURNING INTO code. + + 2006-03-07 14:39 dimitr + M src/msgs/messages.sql +Fixed the error message. + + 2006-03-07 13:01 kkuznetsov + M builds/posix/Makefile.in.libfbembed +Temporally comment out my previous commit + + 2006-03-07 11:21 kkuznetsov + M builds/posix/Makefile.in.libfbembed +Fix make process on Solaris OSes + + 2006-03-07 10:20 dimitr + M src/dsql/gen.cpp +Added a context overflow check to DSQL as well. +Based on a bugreport by Volker Rehn. + + 2006-03-07 09:23 dimitr + M src/jrd/why.cpp +Fixed SF #1435997. + + 2006-03-07 05:44 robocop + M src/jrd/validation.cpp + M src/remote/inet.cpp + M src/remote/interface.cpp +Style. + + 2006-03-07 03:12 asfernandes + M src/remote/server.cpp +Formatting + + 2006-03-07 03:11 asfernandes + M src/include/fb_types.h + M src/include/types_pub.h +Move ISC_STATUS_LENGTH and ISC_STATUS_ARRAY to public + + 2006-03-06 17:49 alexpeshkoff + M builds/posix/Makefile.in.client.fbudf + M builds/posix/Makefile.in.embed.fbudf +fixed FBUDF build on posix + + 2006-03-06 13:51 alexpeshkoff + M src/remote/server.cpp +Use named constant for buffer size + + 2006-03-06 13:36 alexpeshkoff + M src/remote/protocol.cpp +no need to check '<0' for unsigned variables - thanks to Adriano + + 2006-03-06 11:03 alexpeshkoff + M src/remote/protocol.cpp + M src/remote/server.cpp +1. Fixed win32 classic build. +2. Attempt to fix SF#1260310. + + 2006-03-06 10:53 alexpeshkoff + M src/misc/upgrade/v2/security_database.txt +added requirement to convert security database to ods11 + + 2006-03-06 10:40 alexpeshkoff + M src/jrd/os/posix/fbsyslog.cpp +make syslog messages visible on terminal + + 2006-03-06 01:00 asfernandes + M doc/README.user.embedded +Document files required for fbembed.dll + + 2006-03-05 10:26 alexpeshkoff + M src/remote/server.cpp +fixed debugging code - thanks to Claudio + + 2006-03-04 18:24 asfernandes + M src/jrd/req.h + M src/jrd/vio.cpp +Fix SF field-test #1439268 - Sequence of commands crash FB server + + 2006-03-03 16:20 alexpeshkoff + M src/remote/inet.cpp + M src/remote/protocol.h + M src/remote/remot_proto.h + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server.cpp +Fixed SF bug 1385092 + + 2006-03-03 16:08 alexpeshkoff + M src/jrd/why.cpp +don't let printf() damage sockets in debug build + + 2006-03-03 16:06 alexpeshkoff + M src/jrd/err.cpp +slightly better diagnostic in log + + 2006-03-03 16:03 alexpeshkoff + M src/common/classes/alloc.h +let's try to make gcc4 happy + + 2006-03-03 10:56 kkuznetsov + M builds/posix/prefix.solaris + M builds/posix/prefix.solaris-64gcc +Removed profile gcc flag + + 2006-03-01 22:58 asfernandes + M src/jrd/evl_string.h +Fix AV in Knuth-Morris-Pratt algorithm implementation + + 2006-02-24 09:21 robocop + M src/isql/isql.h + M src/isql/show.epp + M src/msgs/facilities.sql + M src/msgs/messages.sql +Fix misleading error message reported by Michal Kubecek. + + 2006-02-24 01:33 asfernandes + M src/jrd/unicode_util.cpp + M src/jrd/unicode_util.h +Constify + + 2006-02-24 01:04 robocop + M src/jrd/isc.h +Fix compile-time error reported by Michal Kubecek. + + 2006-02-23 07:36 robocop + M src/jrd/cvt.cpp +Better play safe with int. + + 2006-02-23 07:30 robocop + M src/jrd/cvt.cpp +Try to put the correct pad character. + + 2006-02-23 07:22 robocop + M src/jrd/nbak.h +Misc. + + 2006-02-23 07:13 hvlad + M doc/WhatsNew +Misc + + 2006-02-23 06:52 robocop + M src/jrd/btr.cpp + M src/jrd/dyn_proto.h + M src/jrd/filters.cpp + M src/jrd/idx.cpp + M src/jrd/met_proto.h + M src/jrd/nav.cpp + M src/jrd/nbak.h + M src/jrd/os/pio_proto.h + M src/jrd/os/posix/unix.cpp + M src/jrd/os/vms/map.cpp + M src/jrd/os/vms/vms.cpp + M src/jrd/os/vms/vmslock.cpp + M src/jrd/os/win32/winnt.cpp + M src/jrd/par.cpp + M src/jrd/sdw.h + M src/jrd/why.cpp + M src/remote/allr.cpp + M src/remote/inet.cpp + M src/remote/os/win32/wnet.cpp + M src/remote/remote.cpp +More cleanup. + + 2006-02-23 05:22 robocop + M doc/WhatsNew + M src/jrd/isc.cpp +Misc. + + 2006-02-23 05:08 robocop + M src/burp/burp.cpp + M src/burp/burp.h + M src/common/config/config_impl.h + M src/jrd/blb.cpp + M src/jrd/btr.cpp + M src/jrd/btr.h + M src/jrd/cch.cpp + M src/jrd/cch.h + M src/jrd/cch_proto.h + M src/jrd/cvt.cpp + M src/jrd/dbt.cpp + M src/jrd/dfw.epp + M src/jrd/dpm.epp + M src/jrd/entry.h + M src/jrd/exe.cpp + M src/jrd/exe.h + M src/jrd/ext.cpp + M src/jrd/ext.h + M src/jrd/fil.h + M src/jrd/filters.cpp + M src/jrd/fun.epp + M src/jrd/gds.cpp + M src/jrd/ibase.h + M src/jrd/ibsetjmp.h + M src/jrd/idx.cpp + M src/jrd/inf.cpp + M src/jrd/ini.epp + M src/jrd/inuse.cpp + M src/jrd/inuse_proto.h + M src/jrd/isc.cpp + M src/jrd/isc.h + M src/jrd/isc_proto.h + M src/jrd/isc_sync.cpp + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/jrd_proto.h + M src/jrd/lck.cpp + M src/jrd/lck.h + M src/jrd/log.h + M src/jrd/met.epp + M src/jrd/mov.cpp + M src/jrd/nav.cpp + M src/jrd/os/posix/unix.cpp + M src/jrd/os/vms/extvms.cpp + M src/jrd/os/vms/map.cpp + M src/jrd/os/vms/rdbint.cpp + M src/jrd/os/vms/vms.cpp + M src/jrd/os/vms/vmsevent.cpp + M src/jrd/os/vms/vmslock.cpp + M src/jrd/os/win32/winnt.cpp + M src/jrd/par.cpp + M src/jrd/perf.cpp + M src/jrd/plugin_manager.h + M src/jrd/req.h + M src/jrd/rlck.cpp + M src/jrd/rse.cpp + M src/jrd/rse.h + M src/jrd/scl.h + M src/jrd/sdl.cpp + M src/jrd/sdl.h + M src/jrd/sdl_proto.h + M src/jrd/sdw.cpp + M src/jrd/sdw_proto.h + M src/jrd/shut.cpp + M src/jrd/smp_impl.h + M src/jrd/sort.cpp + M src/jrd/sort.h + M src/jrd/svc.cpp + M src/jrd/svc.h + M src/jrd/svc_proto.h + M src/jrd/sym.h + M src/jrd/thd.cpp + M src/jrd/thd.h + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/utl.cpp + M src/jrd/validation.cpp + M src/jrd/vio.cpp + M src/jrd/why.cpp + M src/lock/driver.cpp + M src/misc/align.cpp + M src/remote/inet.cpp + M src/remote/inter_proto.h + M src/remote/interface.cpp + M src/remote/os/win32/ibconfig.cpp + M src/remote/os/win32/wnet.cpp + M src/remote/remote.h + M src/utilities/gsec/gsec.cpp + M src/utilities/gsec/gsec.h + M src/utilities/gstat/dba.epp + M src/utilities/gstat/ppg.cpp + M src/utilities/gstat/ppg_proto.h +Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. + + 2006-02-23 05:03 robocop + M src/jrd/cmp.cpp +We better do not have loop variables with the same name in nested loops. +:-) + + 2006-02-22 15:25 hvlad + M doc/WhatsNew +Update WhatsNew + + 2006-02-22 14:55 hvlad + M src/jrd/dfw.epp +Fixed SF #1436066 : Adding index during DB activity causes GFIX errors + + 2006-02-22 13:55 dimitr + M doc/WhatsNew +An update. + + 2006-02-22 07:22 robocop + D src/jrd/mem.cpp +Remove obsolete file. + + 2006-02-22 07:21 robocop + M builds/mac_os_x/CS/CS.pbproj/project.pbxproj +This was the only project file referencing legacy mem.cpp. + + 2006-02-22 07:19 robocop + M src/jrd/sha.cpp +This file lacked indentation. + + 2006-02-22 07:11 dimitr + M src/jrd/cmp.cpp +Sorry, the unused code has been committed. + + 2006-02-22 05:30 dimitr + M src/jrd/cmp.cpp +Fixed imcomplete invariants tracking for subqueries. +Views are still a problem, so more to follow. + + 2006-02-22 02:50 asfernandes + M src/jrd/unicode_util.cpp +Fixed SF field-test $1433583 - key size exceeds implementation restriction + + 2006-02-21 04:29 robocop + M src/common/classes/fb_tls.h + M src/common/classes/tree.h +The whole indentation was screwed in those files. + + 2006-02-20 13:20 kkuznetsov + M src/jrd/sdl.cpp +Quick fix compile error: inline function has prototype + + 2006-02-20 08:25 kkuznetsov + M src/common/config/config_impl.h +Fix Sun C++ compiler visibility error + + 2006-02-20 08:00 kkuznetsov + M src/common/classes/fb_tls.h +misc + + 2006-02-20 07:59 kkuznetsov + M src/common/classes/fb_tls.h +misc + + 2006-02-20 07:46 kkuznetsov + M src/common/classes/tree.h +Support Sun C++ compiller in Bee+tree though conditional compilation. + + 2006-02-20 07:45 kkuznetsov + M builds/posix/prefix.solaris-64SCC +Add defines to support Sun C++ compiller +in FB Code. + + 2006-02-19 21:16 asfernandes + M src/jrd/dfw.epp + M src/jrd/vio.cpp +Don't allow to drop indices used in explicit plans inside SPs/triggers + + 2006-02-18 23:39 robocop + M src/jrd/opt.cpp +Misc. + + 2006-02-15 13:35 dimitr + M src/dsql/pass1.cpp +There's no need to transform NOT ANY to ALL, as NOT ANY effectively uses indices. + + 2006-02-15 13:34 dimitr + M src/jrd/cmp.cpp + M src/jrd/rse.cpp +More clever solution for bug #459059. +Deoptimization of NOT ANY is no longer necessary. + + 2006-02-10 19:40 dimitr + M builds/win32/preprocess.bat + M builds/win32/preprocess2.bat +Committed changes for the win32 build process. + + 2006-02-10 03:35 robocop + M src/jrd/rse.cpp +This is why we put {} around if/else always: to avoid errors like this one, where indentation is not what the compiler follows. + + 2006-02-10 03:28 robocop + M src/include/memory_routines.h + M src/jrd/blb.cpp + M src/jrd/cmp.cpp + M src/jrd/dfw.epp + M src/jrd/exe.cpp + M src/jrd/ext.cpp + M src/jrd/ini.epp + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/met.epp + M src/jrd/opt.cpp + M src/jrd/par.cpp + M src/jrd/rse.cpp + M src/jrd/tra.cpp + M src/jrd/validation.cpp +Misc. + + 2006-02-09 15:50 kkuznetsov + M src/jrd/rse.cpp +Fix aligment issues on Solaris sparc V9 (64 bits) + + 2006-02-09 11:00 kkuznetsov + M src/include/memory_routines.h +Minor fixes big thanks to Alex and Dmitry + + 2006-02-09 07:48 hvlad + M doc/sql.extensions/README.isc_info_xxx +Correct documentation for isc_info_creation_date + + 2006-02-09 07:42 hvlad + M src/jrd/inf.cpp +Correct way to work on big-endian systems + + 2006-02-08 21:21 hvlad + M doc/sql.extensions/README.isc_info_xxx +Document isc_info_creation_date + + 2006-02-08 21:20 hvlad + M src/jrd/inf.cpp + M src/jrd/inf_pub.h +Implemented new isc_info_creation_date + + 2006-02-08 10:11 hvlad + M src/jrd/btr.cpp +bugfix + + 2006-02-08 09:25 kkuznetsov + M builds/posix/prefix.solaris + M builds/posix/prefix.solaris-64SCC + M builds/posix/prefix.solaris-64gcc +Minor updates to Solaris sparc 64 prefixes + + 2006-02-07 18:41 dimitr + M src/remote/xnet.cpp +Fixed broken XNET logic. In fact, this affects all types of connections as the security database is accessed locally. + + 2006-02-07 17:21 hvlad + M src/jrd/isc_sync.cpp +Fixed unregistered bug: fb_lock_print fails with message: +The requested operation cannot be performed on a file with a user-mapped section open. + + 2006-02-07 08:08 robocop + M src/jrd/Optimizer.cpp + M src/jrd/blp.h + M src/jrd/blr.h + M src/jrd/cmp.cpp + M src/jrd/evl.cpp + M src/jrd/exe.h + M src/jrd/gds.cpp + M src/jrd/nav.cpp + M src/jrd/nod.h + M src/jrd/opt.cpp + M src/jrd/par.cpp + M src/jrd/rse.h + M src/misc/blrtable.cpp +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like. + + 2006-02-06 16:13 kkuznetsov + M extern/icu/source/config/mh-solaris +minor fixes + + 2006-02-06 16:12 kkuznetsov + M builds/posix/prefix.solaris-64SCC +More fixes to SCC port + + 2006-02-06 14:27 dimitr + M builds/win32/msvc7/fbudf.vcproj +Fixed MSVC7 build. + + 2006-02-06 13:01 kkuznetsov + M extern/icu/source/config/mh-solaris +misc + + 2006-02-06 08:13 kkuznetsov + M src/include/memory_routines.h +Add 2 aligment fixes templates + + 2006-02-05 18:03 dimitr + M src/remote/os/win32/srvr_w32.cpp + M src/remote/xnet.cpp + M src/remote/xnet_proto.h +Fixed XNET to follow the common call architecture for the remote subsystem. Just hope I didn't break the logic. + + 2006-02-05 12:39 hvlad + M doc/sql.extensions/README.isc_info_xxx +Typo's + + 2006-02-05 12:33 hvlad + A doc/sql.extensions/README.isc_info_xxx +Documentation for new isc_info_xxx calls + + 2006-02-05 11:36 hvlad + M src/jrd/inf.cpp + M src/jrd/inf_pub.h +Implemented SF #1315814 (isc_info_active_transactions_count) and +#1089646 (isc_transaction_info - get isolation level) + + 2006-02-05 11:06 hvlad + M src/jrd/tra.cpp +1. Let SUPERSERVER_V2 also check for transactions numbers overflow +2. Correction + + 2006-02-05 11:04 hvlad + M src/jrd/pag.cpp +Make code some simpler. Thanks to Claudio + + 2006-02-04 16:10 dimitr + M src/remote/xnet.cpp +Implemented SRVR_debug for XNet connections on win32. + + 2006-02-04 11:32 dimitr + M src/remote/os/win32/srvr_w32.cpp +Fixed SRVR_debug for INet connections on win32. + + 2006-02-04 10:37 dimitr + M src/remote/inet.cpp + M src/remote/interface.cpp + M src/remote/protocol.h + M src/remote/remote.h + M src/remote/server.cpp +Minor cleanup. + + 2006-02-04 04:39 robocop + M builds/win32/msvc6/fbudf.dsp + M src/common/classes/timestamp.cpp +Use SUPERCLIENT for fbudf for avoiding exception-related code. + + 2006-02-04 04:20 robocop + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/include/gen/msgs.h +Sync after Vlad's changes. + + 2006-02-04 04:19 robocop + M src/msgs/facilities.sql + M src/msgs/history.sql +Misc. + + 2006-02-04 02:40 robocop + M src/extlib/fbudf/fbudf.cpp + M src/jrd/gds.cpp +I misread the logic: it's true (not false) that tells Timestamp to not call the operating system to get the current time. Thanks to D. Sibiryakov. + + 2006-02-03 23:47 asfernandes + M doc/WhatsNew +Fixed typo + + 2006-02-03 22:05 hvlad + M src/jrd/blb.cpp + M src/jrd/lck.h +Correction + + 2006-02-03 17:45 hvlad + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/rdb_codes.h + M src/include/gen/sql_code.h +New error message + + 2006-02-03 17:44 hvlad + M src/jrd/tra.cpp + M src/msgs/facilities.sql + M src/msgs/messages.sql + M src/msgs/system_errors.sql +Prevent transaction numbers from overflow MAX_SLONG boundary + + 2006-02-03 16:57 hvlad + M src/jrd/blb.cpp + M src/msgs/facilities.sql + M src/msgs/messages.sql +Replace one fb_assert with BUGCHECK as Claudio suggested some time ago + + 2006-02-03 16:22 hvlad + M src/msgs/messages.sql +Fixed isql's statistics output + + 2006-02-03 13:49 hvlad + M src/jrd/tra.cpp +Prevent unnecessary blocking of garbage collection by read-committed transactions + + 2006-02-03 13:23 hvlad + M src/jrd/inf.cpp + M src/jrd/jrd.cpp + M src/jrd/pag.cpp + M src/jrd/pag_proto.h +Don't overwrite dbb_oldest_snapshot and another transaction numbers with +oldest values from header page after user call to isc_info_oldest_snapshot etc + + 2006-02-03 13:13 hvlad + M src/burp/burp.cpp + M src/isql/isql.epp + M src/lock/lock.cpp + M src/qli/format.cpp + M src/qli/mov.cpp + M src/qli/picstr.cpp + M src/remote/inet.cpp + M src/remote/server.cpp + M src/utilities/gstat/dba.epp + M src/utilities/gstat/ppg.cpp +Replace "../jrd/jrd_time.h" with "../common/classes/timestamp.h" + + 2006-02-03 12:24 kkuznetsov + M builds/posix/prefix.solaris-64SCC +Fix 64 switches + + 2006-02-03 12:23 kkuznetsov + M extern/icu/source/config/mh-solaris +Add 64 bit swithes to solaris port of icu + + 2006-02-03 08:41 robocop + D src/jrd/jrd_time.h +Bye, bye jrd_time.h. + + 2006-02-03 08:39 robocop + M src/common/classes/timestamp.h + M src/jrd/cch.cpp + M src/jrd/cvt.cpp + M src/jrd/dmp.cpp + M src/jrd/evl.cpp + M src/jrd/gds.cpp + M src/jrd/isc_sync.cpp + M src/jrd/jrd.cpp + M src/jrd/perf.cpp + M src/jrd/svc.cpp + M src/jrd/utl.cpp + M src/lock/print.cpp +Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary. + + 2006-02-03 08:37 robocop + M src/jrd/exe.h +More scrollable cursors related code. + + 2006-02-03 08:19 kkuznetsov + A builds/posix/prefix.solaris-64SCC +Prepare for use Sun CC compiler on Solaris sparc platform + + 2006-02-03 02:28 robocop + M src/jrd/jrd.h + M src/jrd/log.cpp + M src/jrd/opt.cpp + M src/jrd/pag.cpp + M src/jrd/rse.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Ninth step: while doing cleanup, I discovered some data members that aren't used anymore or that should be inside conditional code. This is the result. + + 2006-02-02 13:17 dimitr + M builds/win32/msvc7/Firebird2.sln + M builds/win32/msvc7/fbudf.vcproj +Fixed the win32 build. + + 2006-02-02 12:56 dimitr + M src/jrd/opt.cpp +Fixed a bug with NOT ANY/ALL reported by Alex. + + 2006-02-02 07:57 robocop + M src/jrd/cch.cpp + M src/jrd/jrd.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Eighth step: dbb_refresh_ranges belongs to the obsolete functionality and since it's never set but tested in cch.cpp with two AND, the whole condition will be always false, hence remove the code. + + 2006-02-02 07:40 robocop + M src/jrd/exe.h + M src/jrd/sort.cpp + M src/misc/blrtable.cpp +Misc. + + 2006-02-02 07:37 robocop + M src/jrd/nav.cpp + M src/jrd/rse_proto.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Seventh step: since RSE_MARK_CRACK became a no-op, remove it from the sources. + + 2006-02-02 07:32 robocop + M src/jrd/cmp.cpp + M src/jrd/cmp_proto.h + M src/jrd/evl.cpp + M src/jrd/exe.cpp + M src/jrd/exe_proto.h + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/nav.cpp + M src/jrd/nav_proto.h + M src/jrd/opt.cpp + M src/jrd/opt_proto.h + M src/jrd/par.cpp + M src/jrd/req.h + M src/jrd/rlck.cpp + M src/jrd/rlck_proto.h + M src/jrd/rse.cpp + M src/jrd/rse_proto.h + M src/jrd/shut.cpp + M src/jrd/sort.cpp + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/vio.cpp + M src/jrd/vio_proto.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>) + + 2006-02-02 00:39 robocop + M src/extlib/fbudf/fbudf.cpp +fbudf wasn't really thread safe (despite the Mutex) when dealing with the non-reentrant functions localtime and gmtime because we need to copy the contents of the result pointer to a local variable before releasing the Mutex. + + 2006-02-02 00:28 robocop + M builds/win32/msvc6/Firebird2.dsw + M builds/win32/msvc6/fbudf.dsp + M src/common/classes/timestamp.cpp + M src/common/classes/timestamp.h + M src/extlib/fbudf/fbudf.cpp +Declare independence day from client library for fbudf . For builds other than MSVC6, the following has to be done: +- add to fbudf project the files timestamp.cpp and timestamp.h +- for the same project, define FBUDF_EXPORTS as preprocessor macro +- for the firebird2 workspace/solution/make/etc get rid of the dependency of fbudf on fbclient. Build files that I indentified that need fixes are: +builds\posix\Makefile.in.client.fbudf +builds\posix\Makefile.in.embed.fbudf +builds\win32\msvc7\fbudf.vcproj +builds\win32\msvc7\Firebird2.sln +MacOs build files ignore fbudf completely. +This change eliminates the problem with the client library having different names depending on the build type (SS, CS, embedded). + + 2006-02-02 00:03 robocop + M src/jrd/gds.cpp +Do not lose time getting the accurate timestamp from the operating system if we are going to override it imediately with the user supplied value in isc_encode_date and isc_encode_timestamp. Also, this avoids an exception escaping from the API functions if the system call fails. + + 2006-02-01 22:50 robocop + D src/jrd/bookmark.cpp + D src/jrd/bookmark.h + D src/jrd/rng.cpp + D src/jrd/rng.h + D src/jrd/rng_proto.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Fifth step: remove the aforementioned files. More to come. + + 2006-02-01 22:45 robocop + M src/jrd/jrd.h + M src/jrd/nav_proto.h + M src/jrd/req.h + M src/jrd/rse_proto.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Fourth step: remove forward declarations of classes Bookmark and RefreshRange. More to come. + + 2006-02-01 09:21 robocop + M src/jrd/blk.h + M src/jrd/dbt.cpp + M src/jrd/rse.h +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Third step: remove references to the deleted objects Bookmark and RefreshRange in blk.h and dbt.cpp (debug). Remove definition of Bookmark from rse.h. More to come. + + 2006-02-01 08:55 robocop + M src/jrd/cmp.cpp + M src/jrd/evl.cpp + M src/jrd/exe.cpp + M src/jrd/nav.cpp + M src/jrd/rse.cpp + M src/jrd/shut.cpp + M src/jrd/vio.cpp +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +Second step: remove them from #include clauses in other files. More to come. + + 2006-02-01 08:51 robocop + M builds/mac_os_x/CS/CS.pbproj/project.pbxproj + M builds/posix/make.shared.variables + M builds/win32/msvc6/engine.dsp + M builds/win32/msvc6/engine_classic.dsp + M builds/win32/msvc6/engine_embed.dsp + M builds/win32/msvc7/engine.vcproj + M builds/win32/msvc7/engine_classic.vcproj + M builds/win32/msvc7/engine_embed.vcproj +The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality. +First step: remove them from the build configurations. More to come. + + 2006-01-31 07:18 robocop + M src/jrd/pcmet.epp +Change misleading comment: the file is used for expression indices, cannot be deprecated as it was part of the PC_ENGINE feature. + + 2006-01-29 03:23 robocop + M src/burp/backup.epp +Skip system objects: exceptions, blob filters and procedures. + + 2006-01-29 01:52 robocop + M src/jrd/btn.cpp +Totally misc. + + 2006-01-28 14:43 asfernandes + M src/intl/lc_iso8859_2.cpp + M src/intl/lc_narrow.h +Fixed problem "key size exceeds implementation restriction for index ..." reported by Michal Kubecek in fb-devel + + 2006-01-28 07:37 dimitr + M src/jrd/btn.cpp +More fixes, thanks to Claudio. + + 2006-01-28 04:12 robocop + M src/iscguard/iscguard.cpp + M src/jrd/jrd.cpp + M src/jrd/nav.cpp + M src/jrd/opt.cpp + M src/jrd/tra.cpp +Misc. + + 2006-01-27 07:59 dimitr + M src/jrd/cmp.cpp +Fixed bug reported in fb-support - wrong permission checks for view columns. + + 2006-01-27 07:36 hvlad + M src/dsql/dsql.cpp +Fixed unregistered bug: AV in request driven by freed cursor +(when request is dropped flag REQ_orphan is set for child requests but +this flag is never checked) + + 2006-01-26 12:23 dimitr + M src/iscguard/iscguard.cpp + M src/iscguard/iscguard.rh + M src/remote/os/win32/window.cpp + M src/remote/os/win32/window.rh +Reduced dependencies upon window messages + cleanup. + + 2006-01-26 11:21 dimitr + M src/dsql/ddl.cpp +CREATE VIEW should be aware that a column alias doesn't necessarily mean an expression. + + 2006-01-26 11:17 dimitr + M src/jrd/dfw.epp + M src/jrd/irq.h +Hopefully, this should fix SF #1404157. + + 2006-01-26 10:45 dimitr + M src/include/memory_routines.h + M src/jrd/btn.cpp +1) An attempt to fix the endianess/alignment issues in the b-tree code. +2) Some adjustments in the pointers management. + + 2006-01-26 08:00 robocop + M src/qli/show.epp +Beware of PC_ENGINE in qli: it's used to protect code meant to be marked with EXPRESSION_INDICES instead, therefore probably all places should be enabled unconditionally. At least with one change (this one) it now shows expression indices correctly. + + 2006-01-26 07:21 robocop + M src/include/gen/msgs.h + M src/msgs/history.sql +Sync after Dmitry Yemanov's changes. + + 2006-01-25 12:20 dimitr + M src/jrd/tra.cpp +Fixed a number of inconsistencies in the rollback code. + + 2006-01-25 12:11 dimitr + M src/jrd/exe.cpp +Fixed the issue with ROW_COUNT being cleared after SUSPEND. + + 2006-01-25 09:48 dimitr + M src/msgs/messages.sql +A small correction. + + 2006-01-25 08:40 robocop + M src/dsql/parse.cpp + M src/dsql/parse.y +Fix SF Bug# 1408079 and also the same problem with unterminated comment blocks /* ... + + 2006-01-25 07:04 robocop + M src/utilities/gstat/dba.epp +I want to continue compiling FB2 successfully with my tools, if you don't object. +:-) + + 2006-01-22 19:14 arnobrinkman + M src/dsql/pass1.cpp +Fix incorrect "Ambiguous field name error" reported by Ivan Prenosil: +SELECT + (SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS + WHERE RDB$FIELD_SOURCE = RDB$FIELDS.RDB$FIELD_NAME) + FROM RDB$FIELDS + WHERE RDB$FIELD_NAME NOT IN + (SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS) + + 2006-01-21 15:30 hvlad + M src/utilities/gstat/dba.epp +1. Add isc_dpb_no_garbage_collect to gfix attachment to not force a sweep +2. Fix unregistered bug - wrong statistics if relation\index data is longer than 2^32 bytes length +3. Fix unregistered bug - average index key length rounded to integer value + + 2006-01-21 15:29 hvlad + M src/jrd/tra.cpp +Attachment with isc_dpb_no_garbage_collect option will not force a sweep + + 2006-01-21 14:55 asfernandes + M src/dsql/dsql.h + M src/dsql/make.cpp + M src/dsql/metd.epp +Fixed problem caused by usage of UNICODE_FSS system domains in users views and tables - thanks to Dmitry + + 2006-01-20 13:34 hvlad + M src/dsql/dsql.tab.h + M src/dsql/parse.cpp +Regenerated parser files after parse.y change +By bison 2.1 now + + 2006-01-20 13:31 hvlad + M src/dsql/parse.y +Again fix issue with parser and not correctly stored source for +CURRENT_TIME\CURRENT_TIMESTAMP in procedure parameters +default values. Reported by Martijn Tonies + + 2006-01-19 16:53 dimitr + M src/jrd/Optimizer.cpp +Temporary rolled back one one of my previous fixes due to discovered issues. + + 2006-01-19 14:32 alexpeshkoff + M builds/posix/Makefile.in.client.fbudf +applied patch from Michal Kubecek + + 2006-01-18 11:54 alexpeshkoff + M src/gpre/int_cxx.cpp +fixed gcc warning(s) + + 2006-01-18 10:43 alexpeshkoff + M src/jrd/alt.cpp + M src/jrd/dpm.epp + M src/jrd/dsc.cpp + M src/jrd/dsc2.h + M src/jrd/dsc_pub.h + M src/jrd/filters.cpp + M src/jrd/intl_builtin.cpp + M src/jrd/isc_sync.cpp + M src/jrd/jrd.h + M src/jrd/perf.cpp +fixed gcc warning(s) + + 2006-01-17 09:20 robocop + M doc/WhatsNew +Restore missing WhatsNew entries that I deleted on bad merge. + + 2006-01-17 07:52 robocop + M src/intl/lc_big5.h + M src/jrd/dsc.h + M src/qli/exe.cpp +Misc. + + 2006-01-17 07:39 robocop + M src/jrd/Optimizer.h +Disable the debug info for the optimizer in the public repository as it might produce release builds that create an output file with that information. + + 2006-01-17 07:37 robocop + M doc/WhatsNew +Fix my previous entry in the WhatsNew. + + 2006-01-17 04:40 paul_reeves + M builds/install/misc/firebird.conf + M doc/WhatsNew + M src/common/config/config.cpp + M src/common/config/config.h + M src/dsql/make.cpp +Forward port OldColumnNaming from Fb 1.5.3 + + 2006-01-16 17:17 dimitr + M doc/WhatsNew +Updated the docs. + + 2006-01-16 16:49 alexpeshkoff + M src/intl/lc_big5.cpp + M src/intl/lc_big5.h + M src/intl/lc_jis.cpp + M src/intl/lc_unicode_ucs2.cpp + M src/isql/show.epp + M src/lock/lock.cpp + M src/qli/exe.cpp + M src/qli/format.cpp + M src/qli/show.epp + M src/remote/inet_server.cpp + M src/utilities/gsec/gsec.cpp + M src/utilities/gstat/dba.epp + M src/utilities/nbackup.cpp +fixed gcc warning(s) + + 2006-01-16 16:46 alexpeshkoff + M src/qli/meta.epp +ported fix from vulcan + + 2006-01-16 16:31 alexpeshkoff + M src/dsql/dsql.cpp + M src/dsql/metd.epp + M src/dsql/pass1.cpp +fixed gcc warning(s) + + 2006-01-16 15:39 alexpeshkoff + M src/alice/alice.cpp + M src/burp/burp.cpp + M src/common/classes/ClumpletReader.h + M src/common/classes/semaphore.h +fixed gcc warning(s) + + 2006-01-16 15:21 paul_reeves + M builds/install/arch-specific/win32/Readme.txt + M builds/install/arch-specific/win32/ba/Instalacija_ProcitajMe.txt + M builds/install/arch-specific/win32/de/installation_liesmich.txt + M builds/install/arch-specific/win32/de/liesmich.txt + M builds/install/arch-specific/win32/installation_readme.txt + M builds/install/arch-specific/win32/pl/instalacja_czytajto.txt +Catch up with commit of some win32 install docs that were part of beta 1 + + 2006-01-16 10:01 alexpeshkoff + M src/qli/meta.epp +ported fix from vulcan + + 2006-01-16 08:47 alexpeshkoff + M src/remote/inet.cpp +fixed posix build + + 2006-01-15 18:11 asfernandes + M src/dsql/gen.cpp + M src/dsql/pass1.cpp +Fixed problem causing collation lost in sqlsubtype when using dynamic charset - reported by Ivan Prenosil + + 2006-01-15 16:04 dimitr + M src/jrd/Optimizer.cpp + M src/jrd/cvt.cpp + M src/jrd/dsc.h + M src/jrd/exe.cpp + M src/jrd/rse.cpp + M src/qli/mov.cpp +Fixed bug related to expression indices vs. collates, reported by Ivan. + + 2006-01-15 13:39 alexpeshkoff + M builds/posix/Makefile.in.client.util +fixed posix build + + 2006-01-15 13:34 alexpeshkoff + M src/utilities/ibmgr/ibmgr.cpp + M src/utilities/ibmgr/srvrmgr.cpp +fixed posix build and warnings + + 2006-01-15 13:19 arnobrinkman + M src/jrd/Optimizer.cpp + M src/jrd/Optimizer.h +Fix bug with lower/upper -exlude flag for indexes + + 2006-01-15 12:48 alexpeshkoff + M src/jrd/req.h +fixed gcc warning + + 2006-01-14 18:04 asfernandes + M builds/install/misc/fbintl.conf + M builds/win32/msvc6/intl.dsp + M builds/win32/msvc7/intl.vcproj + A src/intl/collations/win_cz.h + A src/intl/collations/win_cz_ci_ai.h + M src/intl/lc_iso8859_1.cpp + M src/intl/ld.cpp + M src/jrd/intlnames.h +Add Czech collations - contributed by Ivan Prenosil: + - WIN_CZ (case-insensitive, accent-sensitive) + - WIN_CZ_CI_AI (case-insensitive, accent-insensitive) + + 2006-01-14 07:00 robocop + M src/dsql/ddl.cpp + M src/isql/extract.epp + M src/isql/show.epp + M src/jrd/Optimizer.cpp + M src/jrd/Optimizer.h + M src/jrd/btr.cpp + M src/jrd/common.h + M src/jrd/dfw.epp + M src/jrd/dyn_def.epp + M src/jrd/dyn_del.epp + M src/jrd/opt.cpp + M src/jrd/pcmet.epp + M src/jrd/validation.cpp +EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild. + + 2006-01-14 04:56 robocop + M src/remote/os/win32/srvr_w32.cpp +Detect if some undocumented startup option failed (Windows). + + 2006-01-14 04:54 robocop + M src/utilities/ibmgr/ibmgr.cpp +Totally misc. + + 2006-01-14 04:48 robocop + M src/burp/burp.cpp + M src/common/utils.cpp + M src/common/utils_proto.h + M src/jrd/gds.cpp + M src/jrd/os/config_root.h + M src/jrd/os/darwin/config_root.cpp + M src/jrd/os/vms/extvms.cpp + M src/jrd/sch.cpp + M src/jrd/utl.cpp + M src/qli/dtr.cpp + M src/qli/lex.cpp + M src/remote/inet.cpp + M src/remote/remote.cpp + M src/utilities/gsec/gsec.cpp + M src/utilities/ibmgr/ibmgr.cpp +Change from getenv to readenv. This is still getenv in Linux/UNIX but GetEnvironmentVariable in Windows. + + 2006-01-13 22:25 robocop + M src/burp/spit.h + M src/burp/std_desc.h +Totally misc. + + 2006-01-13 09:33 dimitr + M src/jrd/met.epp + M src/jrd/par.cpp +Fixed SF #1404215. + + 2006-01-13 07:36 dimitr + M src/burp/burp.h + M src/burp/spit.cpp + M src/burp/spit.h + M src/burp/std_desc.h +1) Fixed stdin/stdout redirection in win32 gsplit +2) Make the code more GCC4 friendly + + 2006-01-12 13:21 dimitr + M src/remote/interface.cpp +Fixed the wrong local connection. + + 2006-01-10 22:20 robocop + M doc/WhatsNew +Misc. + + 2006-01-10 15:01 kkuznetsov + M src/common/classes/fb_string.h + M src/jrd/status.h +Fix compile error on Solaris - udefined va_list + + 2006-01-10 08:31 dimitr + M src/burp/std_desc.h +Correction. + + 2006-01-10 07:59 dimitr + M doc/sql.extensions/README.select_expressions +Corrections, thanks to Claudio. + + 2006-01-09 19:57 dimitr + M src/burp/burp.cpp + M src/burp/burp.h + M src/burp/std_desc.h +Minor cleanup + solved one of the GCC4 compile issues. + + 2006-01-09 14:17 dimitr + M doc/WhatsNew +More docs. + + 2006-01-09 12:45 dimitr + M doc/sql.extensions/README.select_expressions +More docs. + + 2006-01-09 10:13 dimitr + M doc/README.xnet +Added description of XNET. + + 2006-01-08 08:21 dimitr + M src/jrd/btr.cpp +Fixed BUGCHECK(205) related to ODS11 index changes. + + 2006-01-08 01:11 robocop + M src/common/fb_exception.cpp + M src/include/fb_exception.h +Avoid a crash. + + 2006-01-07 16:58 alexpeshkoff + M src/common/classes/MetaName.cpp + M src/common/classes/fb_string.cpp + M src/common/utils.cpp + M src/isql/isql.epp + M src/jrd/dfw.epp +fixed compilation after changes in exception + + 2006-01-07 16:55 alexpeshkoff + M src/common/fb_exception.cpp +avoid vararg constructors in status_exception + + 2006-01-07 16:53 alexpeshkoff + M src/remote/interface.cpp +rollback temporary fix after fixing status_exception + + 2006-01-07 16:50 alexpeshkoff + M src/include/fb_exception.h +avoid vararg constructors in status_exception + + 2006-01-07 01:32 robocop + M src/alice/alice_meta.epp + M src/gpre/gpre_meta_boot.cpp +Misc. + + 2006-01-07 00:34 robocop + M src/common/fb_exception.cpp +Complete Alex fix. + + 2006-01-07 00:33 robocop + M src/jrd/os/config_root.h +Totally misc. + + 2006-01-07 00:31 robocop + M src/alice/alice_meta.epp + M src/dudley/exe.epp + M src/dudley/trn.cpp + M src/gpre/gpre_meta.epp + M src/gpre/gpre_meta_boot.cpp + M src/jrd/cmp.cpp + M src/jrd/dyn.epp + M src/jrd/intl.cpp + M src/jrd/jrd.cpp + M src/jrd/pag.cpp + M src/qli/command.cpp + M src/qli/meta.epp + M src/remote/os/win32/srvr_w32.cpp + M src/utilities/install/install.cpp + M src/utilities/install/registry.cpp + M src/utilities/install/services.cpp +Comment excessive dependencies on license.h. + + 2006-01-06 22:42 robocop + D src/remote/mgr.cpp +Remove leftover from Apollo. + + 2006-01-06 12:29 alexpeshkoff + M src/jrd/ibase.h + M src/remote/interface.cpp + M src/remote/server.cpp +simpler way to detect redirection attempt + + 2006-01-06 11:21 alexpeshkoff + M src/common/fb_exception.cpp + M src/remote/interface.cpp +fixed "invalid database handle" error + + 2006-01-05 17:30 alexpeshkoff + M src/jrd/ibase.h +don't use internal type in public file + + 2006-01-05 17:13 dimitr + M src/jrd/opt.cpp +Allowed expression indices to be used for navigation on outer streams. + + 2006-01-05 10:10 dimitr + M src/jrd/cch.cpp +Little cleanup. + + 2006-01-04 05:55 robocop + M src/dsql/metd.epp +Misc. + + 2006-01-03 15:47 dimitr + M src/jrd/cmp.cpp + M src/jrd/scl.epp + M src/jrd/scl_proto.h + M src/jrd/vio.cpp +1) Replaced TEXT* with MetaName& in SCL. +2) Fixed SF #1396017. + + 2006-01-03 15:07 alexpeshkoff + M src/common/classes/MetaName.cpp + M src/common/classes/MetaName.h +MetaName can now handle NULL in constructors and assignments + + 2006-01-03 11:28 dimitr + M src/jrd/cmp.cpp + M src/jrd/exe.cpp + M src/jrd/jrd.cpp + M src/jrd/req.h +Fixed the garbage trigger name (reported by Alex). + + 2005-12-31 05:58 robocop + M src/jrd/nav.cpp + M src/jrd/rse.cpp + M src/jrd/rse.h +Isolate scrollable cursors (checked by Dmitry Y.) + + 2005-12-31 03:49 robocop + M src/utilities/ibmgr/ibmgr.h + M src/utilities/ibmgr/srvrmgr.cpp +Misc. + + 2005-12-30 16:08 alexpeshkoff + M src/dbs/security.sql +fixed SF bug 229237 + + 2005-12-30 15:59 alexpeshkoff + M src/utilities/ibmgr/ibmgr.cpp + M src/utilities/ibmgr/ibmgr.h + M src/utilities/ibmgr/srvrmgr.cpp +front-ported one forgotten 1.5 commit to 2.0 + + 2005-12-30 15:13 alexpeshkoff + M builds/install/arch-specific/linux/misc/firebird.init.d.debian.in +fixed runuser problem on Debian + + 2005-12-30 06:57 robocop + M src/isql/isql.epp + M src/isql/show.epp +Parse the server version output (that can be large with redirection) correctly when isql -z is used. + + 2005-12-29 09:32 alexpeshkoff + M src/isql/isql.epp +make server-version output a bit more readable + + 2005-12-29 08:06 alexpeshkoff + M src/isql/isql.epp + M src/remote/merge.cpp +fixed bugs in server version reporting + + 2005-12-28 10:07 dimitr + M src/jrd/gds.cpp +Fixed POSIX builds. + + 2005-12-28 07:11 aafemt + M doc/README.build.mingw.html +Misc + + 2005-12-28 06:58 aafemt + M builds/posix/make.defaults + M builds/posix/make.rules + M builds/posix/prefix.mingw +Strip executables in prod build + + 2005-12-28 06:42 robocop + M src/jrd/evl.cpp +Misc. + + 2005-12-28 06:09 aafemt + M builds/posix/Makefile.in.client.util +Redundant objects + + 2005-12-28 06:08 aafemt + M builds/posix/prefix.mingw +Adapted for GCC 3.4 + + 2005-12-28 06:07 aafemt + M doc/README.build.mingw.html +Update + + 2005-12-28 06:06 aafemt + M doc/README.incompatibilities.txt +More info + + 2005-12-28 02:21 robocop + M doc/README.incompatibilities.txt +Misc. + + 2005-12-27 10:57 dimitr + M doc/README.incompatibilities.txt +More info. + + 2005-12-27 09:42 dimitr + M src/isql/show.epp +Fixed stack buffer overrun. + + 2005-12-27 08:10 robocop + M doc/README.incompatibilities.txt + M src/include/gen/iberror.h + M src/misc/codes.epp +Misc. + + 2005-12-26 21:18 hvlad + M src/common/classes/stack.h +Avoid frequent (unneeded and inefficient) allocation\deallocation of stack entryes + + 2005-12-26 21:17 hvlad + M src/jrd/cch.cpp +Restored accidentally committed wrong file + + 2005-12-26 21:13 hvlad + M src/jrd/cch.cpp +Avoid frequent (unneeded and inefficient) allocation \ deallocation of stack entryes + + 2005-12-26 16:10 alexpeshkoff + M src/isql/isql.epp +Fixed buffer overrun in case of bad data returned by isc_database_info() + + 2005-12-26 11:59 alexpeshkoff + M doc/README.incompatibilities.txt +Misc + + 2005-12-26 10:31 dimitr + M src/include/gen/iberror.h + M src/misc/codes.epp +Continued fixing public headers. + + 2005-12-26 09:47 dimitr + M src/jrd/nav.cpp +Never rely on eof/bof markers for non-scrollable-cursors code. +This fixes the newly introduced bug as well as the original issue. + + 2005-12-25 23:12 hvlad + M src/jrd/cmp.cpp ... [truncated message content] |
From: <fir...@us...> - 2014-12-10 00:30:54
|
Revision: 60357 http://sourceforge.net/p/firebird/code/60357 Author: firebirds Date: 2014-12-10 00:30:51 +0000 (Wed, 10 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-09 20:41:38 UTC (rev 60356) +++ firebird/trunk/ChangeLog 2014-12-10 00:30:51 UTC (rev 60357) @@ -1,3 +1,7 @@ + 2014-12-09 11:13 firebirds + M mkChangeLog.sh +Make it work faster + 2014-12-08 16:58 mapopa M builds/posix/prefix.mingw Remove hardcoded march to allow 64-bit builds Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-09 20:41:38 UTC (rev 60356) +++ firebird/trunk/src/jrd/build_no.h 2014-12-10 00:30:51 UTC (rev 60357) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31471 + FORMAL BUILD NUMBER:31472 */ -#define PRODUCT_VER_STRING "3.0.0.31471" -#define FILE_VER_STRING "WI-T3.0.0.31471" -#define LICENSE_VER_STRING "WI-T3.0.0.31471" -#define FILE_VER_NUMBER 3, 0, 0, 31471 +#define PRODUCT_VER_STRING "3.0.0.31472" +#define FILE_VER_STRING "WI-T3.0.0.31472" +#define LICENSE_VER_STRING "WI-T3.0.0.31472" +#define FILE_VER_NUMBER 3, 0, 0, 31472 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31471" +#define FB_BUILD_NO "31472" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-09 20:41:38 UTC (rev 60356) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-10 00:30:51 UTC (rev 60357) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31471 +BuildNum=31472 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-13 00:26:53
|
Revision: 60359 http://sourceforge.net/p/firebird/code/60359 Author: firebirds Date: 2014-12-13 00:26:46 +0000 (Sat, 13 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-12 18:28:44 UTC (rev 60358) +++ firebird/trunk/ChangeLog 2014-12-13 00:26:46 UTC (rev 60359) @@ -1,3 +1,8 @@ + 2014-12-12 18:28 alexpeshkoff + M src/msgs/facilities2.sql + M src/msgs/messages2.sql +Message for new gfix version + 2014-12-09 11:13 firebirds M mkChangeLog.sh Make it work faster Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-12 18:28:44 UTC (rev 60358) +++ firebird/trunk/src/jrd/build_no.h 2014-12-13 00:26:46 UTC (rev 60359) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31472 + FORMAL BUILD NUMBER:31473 */ -#define PRODUCT_VER_STRING "3.0.0.31472" -#define FILE_VER_STRING "WI-T3.0.0.31472" -#define LICENSE_VER_STRING "WI-T3.0.0.31472" -#define FILE_VER_NUMBER 3, 0, 0, 31472 +#define PRODUCT_VER_STRING "3.0.0.31473" +#define FILE_VER_STRING "WI-T3.0.0.31473" +#define LICENSE_VER_STRING "WI-T3.0.0.31473" +#define FILE_VER_NUMBER 3, 0, 0, 31473 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31472" +#define FB_BUILD_NO "31473" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-12 18:28:44 UTC (rev 60358) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-13 00:26:46 UTC (rev 60359) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31472 +BuildNum=31473 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-14 00:25:13
|
Revision: 60364 http://sourceforge.net/p/firebird/code/60364 Author: firebirds Date: 2014-12-14 00:25:05 +0000 (Sun, 14 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-13 14:25:09 UTC (rev 60363) +++ firebird/trunk/ChangeLog 2014-12-14 00:25:05 UTC (rev 60364) @@ -1,3 +1,7 @@ + 2014-12-13 08:55 hvlad + M src/jrd/GarbageCollector.cpp +Fixed bug, noted by Claudio in fb-devel + 2014-12-12 18:28 alexpeshkoff M src/msgs/facilities2.sql M src/msgs/messages2.sql Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-13 14:25:09 UTC (rev 60363) +++ firebird/trunk/src/jrd/build_no.h 2014-12-14 00:25:05 UTC (rev 60364) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31473 + FORMAL BUILD NUMBER:31474 */ -#define PRODUCT_VER_STRING "3.0.0.31473" -#define FILE_VER_STRING "WI-T3.0.0.31473" -#define LICENSE_VER_STRING "WI-T3.0.0.31473" -#define FILE_VER_NUMBER 3, 0, 0, 31473 +#define PRODUCT_VER_STRING "3.0.0.31474" +#define FILE_VER_STRING "WI-T3.0.0.31474" +#define LICENSE_VER_STRING "WI-T3.0.0.31474" +#define FILE_VER_NUMBER 3, 0, 0, 31474 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31473" +#define FB_BUILD_NO "31474" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-13 14:25:09 UTC (rev 60363) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-14 00:25:05 UTC (rev 60364) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31473 +BuildNum=31474 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2014-12-16 19:12:28
|
Revision: 60373 http://sourceforge.net/p/firebird/code/60373 Author: dimitr Date: 2014-12-16 19:12:18 +0000 (Tue, 16 Dec 2014) Log Message: ----------- Fixed CORE-4572: Incorrect error for PSQL function when the number of actual arguments does not match the number of formal arguments. Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/dsql/StmtNodes.cpp firebird/trunk/src/dsql/dsql.h firebird/trunk/src/dsql/metd.epp firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-12-16 19:12:18 UTC (rev 60373) @@ -1612,6 +1612,8 @@ PARAMETER (GDS__crdb_notable = 335545099) INTEGER*4 GDS__interface_version_too_old PARAMETER (GDS__interface_version_too_old = 335545100) + INTEGER*4 GDS__fun_param_mismatch + PARAMETER (GDS__fun_param_mismatch = 335545101) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/lang_helpers/gds_codes.pas 2014-12-16 19:12:18 UTC (rev 60373) @@ -813,6 +813,7 @@ gds_crdb_nodb = 335545098; gds_crdb_notable = 335545099; gds_interface_version_too_old = 335545100; + gds_fun_param_mismatch = 335545101; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/dsql/ExprNodes.cpp =================================================================== --- firebird/trunk/src/dsql/ExprNodes.cpp 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/dsql/ExprNodes.cpp 2014-12-16 19:12:18 UTC (rev 60373) @@ -10913,6 +10913,11 @@ Arg::Gds(isc_random) << Arg::Str(name.toString())); } + const USHORT arg_count = node->dsqlFunction->udf_arguments.getCount(); + const USHORT count = node->args->items.getCount(); + if (count > arg_count || count < arg_count - node->dsqlFunction->udf_def_count) + ERRD_post(Arg::Gds(isc_fun_param_mismatch) << Arg::Str(name.toString())); + for (NestConst<ValueExprNode>* ptr = node->args->items.begin(); ptr != node->args->items.end(); ++ptr) Modified: firebird/trunk/src/dsql/StmtNodes.cpp =================================================================== --- firebird/trunk/src/dsql/StmtNodes.cpp 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/dsql/StmtNodes.cpp 2014-12-16 19:12:18 UTC (rev 60373) @@ -1357,7 +1357,7 @@ USHORT count = subFunc->getInputFormat() ? subFunc->getInputFormat()->fmt_count : 0; if (subFunc->getInputFields().getCount() * 2 != count) - PAR_error(csb, Arg::Gds(isc_prcmismat) << name); + PAR_error(csb, Arg::Gds(isc_fun_param_mismatch) << name); for (USHORT i = 0; i < count; i += 2u) { Modified: firebird/trunk/src/dsql/dsql.h =================================================================== --- firebird/trunk/src/dsql/dsql.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/dsql/dsql.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -347,6 +347,7 @@ Firebird::QualifiedName udf_name; Firebird::Array<dsc> udf_arguments; bool udf_private; // Packaged private function + SSHORT udf_def_count; // number of inputs with default values }; // udf_flags bits Modified: firebird/trunk/src/dsql/metd.epp =================================================================== --- firebird/trunk/src/dsql/metd.epp 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/dsql/metd.epp 2014-12-16 19:12:18 UTC (rev 60373) @@ -880,6 +880,8 @@ } } + SSHORT defaults = 0; + AutoCacheRequest handle2(tdbb, irq_func_return, IRQ_REQUESTS); FOR(REQUEST_HANDLE handle2 TRANSACTION_HANDLE transaction) @@ -971,6 +973,12 @@ d.dsc_flags = DSC_nullable; } + if (!X.RDB$DEFAULT_VALUE.NULL || + (fb_utils::implicit_domain(F.RDB$FIELD_NAME) && !F.RDB$DEFAULT_VALUE.NULL)) + { + defaults++; + } + userFunc->udf_arguments.add(d); } } @@ -1038,12 +1046,19 @@ d.dsc_flags = DSC_nullable; } + if (!X.RDB$DEFAULT_VALUE.NULL) + { + defaults++; + } + userFunc->udf_arguments.add(d); } } } END_FOR + userFunc->udf_def_count = defaults; + // Adjust the return type & length of the UDF to account for // cstring & varying. While a UDF can return CSTRING, we convert it // to VARCHAR for manipulation as CSTRING is not a SQL type. Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/include/gen/codetext.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -802,6 +802,7 @@ {"crdb_nodb", 335545098}, {"crdb_notable", 335545099}, {"interface_version_too_old", 335545100}, + {"fun_param_mismatch", 335545101}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/include/gen/iberror.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -836,6 +836,7 @@ const ISC_STATUS isc_crdb_nodb = 335545098L; const ISC_STATUS isc_crdb_notable = 335545099L; const ISC_STATUS isc_interface_version_too_old = 335545100L; +const ISC_STATUS isc_fun_param_mismatch = 335545101L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1294,7 +1295,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1238; +const ISC_STATUS isc_err_max = 1239; #else /* c definitions */ @@ -2100,6 +2101,7 @@ #define isc_crdb_nodb 335545098L #define isc_crdb_notable 335545099L #define isc_interface_version_too_old 335545100L +#define isc_fun_param_mismatch 335545101L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2558,7 +2560,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1238 +#define isc_err_max 1239 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/include/gen/msgs.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -805,6 +805,7 @@ {335545098, "CREATE DATABASE grants check is not possible when database @1 is not present"}, /* crdb_nodb */ {335545099, "CREATE DATABASE grants check is not possible when table RDB$DB_CREATORS is not present in database @1"}, /* crdb_notable */ {335545100, "Interface version too old: expected @1, found @2"}, /* interface_version_too_old */ + {335545101, "Input parameter mismatch for function @1"}, /* fun_param_mismatch */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/include/gen/sql_code.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -801,6 +801,7 @@ {335545098, -901}, /* 778 crdb_nodb */ {335545099, -901}, /* 779 crdb_notable */ {335545100, -804}, /* 780 interface_version_too_old */ + {335545101, -170}, /* 781 fun_param_mismatch */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/include/gen/sql_state.h 2014-12-16 19:12:18 UTC (rev 60373) @@ -801,6 +801,7 @@ {335545098, "0A000"}, // 778 crdb_nodb {335545099, "0A000"}, // 779 crdb_notable {335545100, "HY000"}, // 780 interface_version_too_old + {335545101, "07001"}, // 781 fun_param_mismatch {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/msgs/facilities2.sql 2014-12-16 19:12:18 UTC (rev 60373) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2014-11-06 12:17:00', 'JRD', 0, 781) +('2014-12-16 21:00:00', 'JRD', 0, 782) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2014-12-12 20:59:56', 'GFIX', 3, 132) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/msgs/messages2.sql 2014-12-16 19:12:18 UTC (rev 60373) @@ -888,6 +888,7 @@ ('crdb_nodb', 'DbCreatorsList::getList', 'DbCreators.cpp', NULL, 0, 778, NULL, 'CREATE DATABASE grants check is not possible when database @1 is not present', NULL, NULL); ('crdb_notable', 'DbCreatorsList::getList', 'DbCreators.cpp', NULL, 0, 779, NULL, 'CREATE DATABASE grants check is not possible when table RDB$DB_CREATORS is not present in database @1', NULL, NULL); ('interface_version_too_old', NULL, 'Interface.h', NULL, 0, 780, NULL, 'Interface version too old: expected @1, found @2', NULL, NULL); +('fun_param_mismatch', 'UdfCallNode::dsqlPass', 'ExprNode.cpp', NULL, 0, 781, NULL, 'Input parameter mismatch for function @1', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2014-12-16 17:33:28 UTC (rev 60372) +++ firebird/trunk/src/msgs/system_errors2.sql 2014-12-16 19:12:18 UTC (rev 60373) @@ -787,6 +787,7 @@ (-901, '0A', '000', 0, 778, 'crdb_nodb', NULL, NULL); (-901, '0A', '000', 0, 779, 'crdb_notable', NULL, NULL); (-804, 'HY', '000', 0, 780, 'interface_version_too_old', NULL, NULL) +(-170, '07', '001', 0, 781, 'fun_param_mismatch', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-12-17 14:31:16
|
Revision: 60379 http://sourceforge.net/p/firebird/code/60379 Author: alexpeshkoff Date: 2014-12-17 14:31:02 +0000 (Wed, 17 Dec 2014) Log Message: ----------- Work in progress on CORE-3632: make all file descriptors, opened by firebird, close on exec() Modified Paths: -------------- firebird/trunk/configure.ac firebird/trunk/src/burp/burp.cpp firebird/trunk/src/burp/mvol.cpp firebird/trunk/src/burp/split/spit.cpp firebird/trunk/src/common/classes/TempFile.cpp firebird/trunk/src/common/classes/alloc.cpp firebird/trunk/src/common/config/config_file.cpp firebird/trunk/src/common/isc_file.cpp firebird/trunk/src/common/os/os_utils.h firebird/trunk/src/common/os/posix/divorce.cpp firebird/trunk/src/common/os/posix/guid.cpp firebird/trunk/src/common/os/posix/os_utils.cpp firebird/trunk/src/common/os/win32/os_utils.cpp firebird/trunk/src/common/utils.cpp firebird/trunk/src/jrd/Optimizer.cpp firebird/trunk/src/jrd/ext.cpp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/opt.cpp firebird/trunk/src/jrd/os/posix/unix.cpp firebird/trunk/src/jrd/svc.cpp firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp firebird/trunk/src/lock/lock.cpp firebird/trunk/src/remote/SockAddr.h firebird/trunk/src/remote/inet.cpp firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/os/posix/inet_server.cpp firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/utilities/analyse.cpp firebird/trunk/src/utilities/gstat/dba.epp firebird/trunk/src/utilities/nbackup/nbackup.cpp firebird/trunk/src/yvalve/gds.cpp firebird/trunk/src/yvalve/utl.cpp Modified: firebird/trunk/configure.ac =================================================================== --- firebird/trunk/configure.ac 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/configure.ac 2014-12-17 14:31:02 UTC (rev 60379) @@ -883,6 +883,9 @@ dnl Check for fallocate() system call AC_CHECK_FUNCS(fallocate) +dnl Check for close_on_exec support +AC_CHECK_FUNCS(accept4) + dnl Semaphores if test "$ac_cv_header_semaphore_h" = "yes"; then AC_SEARCH_LIBS(sem_init, rt pthread) Modified: firebird/trunk/src/burp/burp.cpp =================================================================== --- firebird/trunk/src/burp/burp.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/burp/burp.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -58,6 +58,7 @@ #include "../common/classes/ClumpletWriter.h" #include "../common/classes/Switches.h" #include "../common/IntlUtil.h" +#include "../common/os/os_utils.h" #include "../burp/burpswi.h" #ifdef HAVE_CTYPE_H @@ -768,7 +769,7 @@ if (tdgbl->sw_redirect == REDIRECT) // not NOREDIRECT, and not NOOUTPUT { // Make sure the status file doesn't already exist - FILE* tmp_outfile = fopen(redirect, fopen_read_type); + FILE* tmp_outfile = os_utils::fopen(redirect, fopen_read_type); if (tmp_outfile) { BURP_print(true, 66, redirect); @@ -776,7 +777,7 @@ fclose(tmp_outfile); BURP_exit_local(FINI_ERROR, tdgbl); } - if (! (tdgbl->output_file = fopen(redirect, fopen_write_type))) + if (! (tdgbl->output_file = os_utils::fopen(redirect, fopen_write_type))) { BURP_print(true, 66, redirect); // msg 66 can't open status and error output file %s @@ -1862,7 +1863,7 @@ if ((fil->fil_fd = MVOL_open(nm.c_str(), MODE_WRITE, CREATE_ALWAYS)) == INVALID_HANDLE_VALUE) #else - if ((fil->fil_fd = open(nm.c_str(), MODE_WRITE, open_mask)) == -1) + if ((fil->fil_fd = os_utils::open(nm.c_str(), MODE_WRITE, open_mask)) == -1) #endif // WIN_NT { @@ -1970,7 +1971,7 @@ if ((fil->fil_fd = MVOL_open(nm.c_str(), MODE_READ, OPEN_EXISTING)) == INVALID_HANDLE_VALUE) #else - if ((fil->fil_fd = open(nm.c_str(), MODE_READ)) == INVALID_HANDLE_VALUE) + if ((fil->fil_fd = os_utils::open(nm.c_str(), MODE_READ)) == INVALID_HANDLE_VALUE) #endif { BURP_error(65, true, fil->fil_name.c_str()); @@ -2019,7 +2020,7 @@ if ((fil->fil_fd = MVOL_open(nm.c_str(), MODE_READ, OPEN_EXISTING)) == INVALID_HANDLE_VALUE) #else - if ((fil->fil_fd = open(nm.c_str(), MODE_READ)) == INVALID_HANDLE_VALUE) + if ((fil->fil_fd = os_utils::open(nm.c_str(), MODE_READ)) == INVALID_HANDLE_VALUE) #endif { BURP_error(65, false, fil->fil_name.c_str()); Modified: firebird/trunk/src/burp/mvol.cpp =================================================================== --- firebird/trunk/src/burp/mvol.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/burp/mvol.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -44,6 +44,7 @@ #include "../burp/mvol_proto.h" #include "../yvalve/gds_proto.h" #include "../common/gdsassert.h" +#include "../common/os/os_utils.h" #include <fcntl.h> #include <sys/types.h> @@ -905,7 +906,7 @@ new_desc = MVOL_open(new_file, mode, OPEN_ALWAYS); if (new_desc == INVALID_HANDLE_VALUE) #else - new_desc = open(new_file, mode, open_mask); + new_desc = os_utils::open(new_file, mode, open_mask); if (new_desc < 0) #endif // WIN_NT { @@ -975,12 +976,12 @@ // Get a location to read from. fb_assert(!tdgbl->uSvc->isService()); - if (isatty(fileno(stdout)) || !(term_out = fopen(TERM_OUTPUT, "w"))) + if (isatty(fileno(stdout)) || !(term_out = os_utils::fopen(TERM_OUTPUT, "w"))) { term_out = stdout; } - if (isatty(fileno(stdin)) || !(term_in = fopen(TERM_INPUT, "r"))) + if (isatty(fileno(stdin)) || !(term_in = os_utils::fopen(TERM_INPUT, "r"))) { term_in = stdin; } Modified: firebird/trunk/src/burp/split/spit.cpp =================================================================== --- firebird/trunk/src/burp/split/spit.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/burp/split/spit.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -49,6 +49,7 @@ #include "../common/classes/Switches.h" #include "../burp/std_desc.h" #include "../burp/burpswi.h" +#include "../common/os/os_utils.h" #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -68,7 +69,7 @@ return CreateFile(name, (writeFlag ? GENERIC_WRITE : GENERIC_READ), 0, NULL, (writeFlag ? CREATE_ALWAYS : OPEN_EXISTING), FILE_ATTRIBUTE_NORMAL, 0); #else - return open(name, (writeFlag ? mode_write : mode_read), mask); + return os_utils::open(name, (writeFlag ? mode_write : mode_read), mask); #endif } Modified: firebird/trunk/src/common/classes/TempFile.cpp =================================================================== --- firebird/trunk/src/common/classes/TempFile.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/classes/TempFile.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -216,9 +216,7 @@ system_error::raise("mktemp"); } - do { - handle = open(filename.c_str(), O_RDWR | O_EXCL | O_CREAT); - } while (handle == -1 && errno == EINTR); + handle = os_utils::open(filename.c_str(), O_RDWR | O_EXCL | O_CREAT); #endif if (handle == -1) Modified: firebird/trunk/src/common/classes/alloc.cpp =================================================================== --- firebird/trunk/src/common/classes/alloc.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/classes/alloc.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -52,6 +52,7 @@ #include "../common/classes/locks.h" #include "../common/classes/init.h" #include "../common/classes/vector.h" +#include "../common/os/os_utils.h" #include "gen/iberror.h" #ifdef USE_VALGRIND @@ -828,7 +829,7 @@ #else // MAP_ANONYMOUS if (dev_zero_fd < 0) - dev_zero_fd = open("/dev/zero", O_RDWR); + dev_zero_fd = os_utils::open("/dev/zero", O_RDWR); void* result = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, dev_zero_fd, 0); #endif // MAP_ANONYMOUS @@ -1015,7 +1016,7 @@ void MemoryPool::print_contents(const char* filename, bool used_only, const char* filter_path) throw () { - FILE* out = fopen(filename, "w"); + FILE* out = os_utils::fopen(filename, "w"); if (!out) return; Modified: firebird/trunk/src/common/config/config_file.cpp =================================================================== --- firebird/trunk/src/common/config/config_file.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/config/config_file.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -28,6 +28,7 @@ #include "../common/config/config.h" #include "../common/config/ConfigCache.h" #include "../common/os/path_utils.h" +#include "../common/os/os_utils.h" #include "../common/ScanDir.h" #include "../common/utils_proto.h" #include <stdio.h> @@ -49,7 +50,7 @@ { public: MainStream(const char* fname, bool errorWhenMissing) - : file(fopen(fname, "rt")), fileName(fname), l(0) + : file(os_utils::fopen(fname, "rt")), fileName(fname), l(0) { if (errorWhenMissing && !file) { Modified: firebird/trunk/src/common/isc_file.cpp =================================================================== --- firebird/trunk/src/common/isc_file.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/isc_file.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -116,7 +116,7 @@ #define MTAB_OPEN(path, type) setmntent(path, "r") #define MTAB_CLOSE(stream) endmntent(stream) #else -#define MTAB_OPEN(path, type) fopen(path, type) +#define MTAB_OPEN(path, type) os_utils::fopen(path, type) #define MTAB_CLOSE(stream) fclose(stream) #endif Modified: firebird/trunk/src/common/os/os_utils.h =================================================================== --- firebird/trunk/src/common/os/os_utils.h 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/os/os_utils.h 2014-12-17 14:31:02 UTC (rev 60379) @@ -28,9 +28,7 @@ #ifndef INCLUDE_OS_FILE_UTILS_H #define INCLUDE_OS_FILE_UTILS_H -#ifdef SFIO #include <stdio.h> -#endif #include "../common/classes/fb_string.h" #include "../common/StatusArg.h" @@ -47,6 +45,11 @@ bool touchFile(const char* pathname); bool isIPv6supported(); + + // force descriptor to have O_CLOEXEC set + int open(const char *pathname, int flags, mode_t mode = 0666); + void setCloseOnExec(int fd); // posix only + FILE* fopen(const char *pathname, const char *mode); } // namespace os_utils #endif // INCLUDE_OS_FILE_UTILS_H Modified: firebird/trunk/src/common/os/posix/divorce.cpp =================================================================== --- firebird/trunk/src/common/os/posix/divorce.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/os/posix/divorce.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -52,6 +52,7 @@ #include "firebird.h" #include "../common/os/divorce.h" #include "../common/classes/semaphore.h" +#include "../common/os/os_utils.h" #ifdef HAVE_IO_H #include <io.h> @@ -123,7 +124,7 @@ // Perform terminal divorce // this is in case of BSD systems - fid = open("/dev/tty", 2); + fid = os_utils::open("/dev/tty", 2); if (fid >= 0) { ioctl(fid, TIOCNOTTY, 0); Modified: firebird/trunk/src/common/os/posix/guid.cpp =================================================================== --- firebird/trunk/src/common/os/posix/guid.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/os/posix/guid.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -30,6 +30,7 @@ #include "../common/os/guid.h" #include "fb_exception.h" +#include "../common/os/os_utils.h" #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> @@ -43,15 +44,7 @@ void GenerateRandomBytes(void* buffer, FB_SIZE_T size) { // do not use /dev/random because it may return lesser data than we need. - int fd = -1; - for (;;) - { - fd = open("/dev/urandom", O_RDONLY); - if (fd >= 0) - break; - if (errno != EINTR) - Firebird::system_call_failed::raise("open"); - } + int fd = os_utils::open("/dev/urandom", O_RDONLY); for (FB_SIZE_T offset = 0; offset < size; ) { int rc = read(fd, static_cast<char*>(buffer) + offset, size - offset); Modified: firebird/trunk/src/common/os/posix/os_utils.cpp =================================================================== --- firebird/trunk/src/common/os/posix/os_utils.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/os/posix/os_utils.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -58,6 +58,14 @@ #include <pwd.h> #endif +#ifdef HAVE_ACCEPT4 +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#endif +#include <sys/types.h> +#include <sys/socket.h> + using namespace Firebird; namespace os_utils @@ -117,6 +125,7 @@ } } // anonymous namespace + // create directory for lock files and set appropriate access rights void createLockDirectory(const char* pathname) { @@ -173,11 +182,7 @@ // open (or create if missing) and set appropriate access rights int openCreateSharedFile(const char* pathname, int flags) { - int fd; - do { - fd = ::open(pathname, flags | O_RDWR | O_CREAT, S_IREAD | S_IWRITE); - } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); - + int fd = os_utils::open(pathname, flags | O_RDWR | O_CREAT, S_IREAD | S_IWRITE); if (fd < 0) raiseError(fd, pathname); @@ -235,4 +240,41 @@ return true; } +// setting flag is not absolutely required, therefore ignore errors here +void setCloseOnExec(int fd) +{ + if (fd >= 0) + { + while (fcntl(fd, F_SETFD, O_CLOEXEC) < 0 && SYSCALL_INTERRUPTED(errno)) + ; + } +} + +// force file descriptor to have O_CLOEXEC set +int open(const char *pathname, int flags, mode_t mode) +{ + int fd; + do { + fd = ::open(pathname, flags | O_CLOEXEC, mode); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); + + if (fd < 0 && errno == EINVAL) // probably O_CLOEXEC not accepted + { + do { + fd = ::open(pathname, flags | O_CLOEXEC, mode); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); + } + + setCloseOnExec(fd); + return fd; +} + +FILE* fopen(const char *pathname, const char *mode) +{ + FILE* f = ::fopen(pathname, mode); // TODO: use open + fdopen to avoid races + if (f) + setCloseOnExec(fileno(f)); + return f; +} + } // namespace os_utils Modified: firebird/trunk/src/common/os/win32/os_utils.cpp =================================================================== --- firebird/trunk/src/common/os/win32/os_utils.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/os/win32/os_utils.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -303,4 +303,14 @@ return false; } +int open(const char *pathname, int flags, mode_t mode = 0666) +{ + return ::_open(char *pathname, flags, mode); +} + +FILE* fopen(const char *pathname, const char *mode) +{ + return ::fopen(pathname, mode); +} + } // namespace os_utils Modified: firebird/trunk/src/common/utils.cpp =================================================================== --- firebird/trunk/src/common/utils.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/common/utils.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -49,6 +49,7 @@ #include "../common/os/path_utils.h" #include "../common/os/fbsyslog.h" #include "../common/StatusArg.h" +#include "../common/os/os_utils.h" #include "../dsql/sqlda_pub.h" #ifdef WIN_NT @@ -734,7 +735,7 @@ f = stdin; } else { - f = fopen(name.c_str(), "rt"); + f = os_utils::fopen(name.c_str(), "rt"); } if (f && isatty(fileno(f))) { Modified: firebird/trunk/src/jrd/Optimizer.cpp =================================================================== --- firebird/trunk/src/jrd/Optimizer.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/Optimizer.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -2255,7 +2255,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " cost(%1.2f), selectivity(%1.10f), indexes(%d), matched(%d, %d)", candidate->cost, candidate->selectivity, candidate->indexes, candidate->matchedSegments, candidate->nonFullMatchedSegments); @@ -2289,7 +2289,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " retrieval candidates:\n"); fclose(opt_debug_file); const InversionCandidate* const* inversion = inversions->begin(); @@ -2314,7 +2314,7 @@ if (candidate) { - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " final candidate: "); fclose(opt_debug_file); printCandidate(candidate); @@ -3037,7 +3037,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " best order, streams: "); for (StreamType i = 0; i < optimizer->opt_best_count; i++) { @@ -3064,7 +3064,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " position %2.2d:", position); fprintf(opt_debug_file, " pos. cardinality(%10.2f) pos. cost(%10.2f)", positionCardinality, positionCost); fprintf(opt_debug_file, " cardinality(%10.2f) cost(%10.2f)", cardinality, cost); @@ -3095,7 +3095,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, " basestream %d, relationships: stream(cost)", stream); const IndexRelationship* const* relationships = processList->begin(); for (int i = 0; i < processList->getCount(); i++) @@ -3116,7 +3116,7 @@ * **************************************/ - FILE *opt_debug_file = fopen(OPTIMIZER_DEBUG_FILE, "a"); + FILE *opt_debug_file = os_utils::fopen(OPTIMIZER_DEBUG_FILE, "a"); fprintf(opt_debug_file, "Start join order: with stream(baseCost)"); bool firstStream = true; for (int i = 0; i < innerStreams.getCount(); i++) Modified: firebird/trunk/src/jrd/ext.cpp =================================================================== --- firebird/trunk/src/jrd/ext.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/ext.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -59,6 +59,7 @@ #include "../common/os/path_utils.h" #include "../common/classes/init.h" #include "../common/isc_f_proto.h" +#include "../common/os/os_utils.h" #if defined _MSC_VER && _MSC_VER < 1400 // NS: in VS2003 these only work with static CRT @@ -135,12 +136,12 @@ // RW mode. If the DB is ReadOnly, then open the external files only in // ReadOnly mode, thus being consistent. if (!dbb->readOnly()) - ext_file->ext_ifi = fopen(file_name, FOPEN_TYPE); + ext_file->ext_ifi = os_utils::fopen(file_name, FOPEN_TYPE); if (!ext_file->ext_ifi) { // could not open the file as read write attempt as read only - if (!(ext_file->ext_ifi = fopen(file_name, FOPEN_READ_ONLY))) + if (!(ext_file->ext_ifi = os_utils::fopen(file_name, FOPEN_READ_ONLY))) { ERR_post(Arg::Gds(isc_io_error) << Arg::Str("fopen") << Arg::Str(file_name) << Arg::Gds(isc_io_open_err) << SYS_ERR(errno)); Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/jrd.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -5196,7 +5196,7 @@ TEXT fname[MAXPATHLEN]; Firebird::string fname = fb_utils::getPrefix(IConfigManager::FB_DIR_LOG, "proc_info.log"); - FILE* fptr = fopen(fname.c_str(), "a+"); + FILE* fptr = os_utils::fopen(fname.c_str(), "a+"); if (!fptr) { gds__log("Failed to open %s\n", fname.c_str()); Modified: firebird/trunk/src/jrd/opt.cpp =================================================================== --- firebird/trunk/src/jrd/opt.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/opt.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -82,6 +82,7 @@ #include "../jrd/UserManagement.h" #include "../common/classes/array.h" #include "../common/classes/objects_array.h" +#include "../common/os/os_utils.h" #include "../jrd/recsrc/RecordSource.h" #include "../jrd/recsrc/Cursor.h" #include "../jrd/Mapping.h" @@ -466,7 +467,7 @@ #ifdef OPT_DEBUG if (opt_debug_flag != DEBUG_NONE && !opt_debug_file) - opt_debug_file = fopen("opt_debug.out", "w"); + opt_debug_file = os_utils::fopen("opt_debug.out", "w"); #endif // If there is a boolean, there is some work to be done. First, Modified: firebird/trunk/src/jrd/os/posix/unix.cpp =================================================================== --- firebird/trunk/src/jrd/os/posix/unix.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/os/posix/unix.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -67,6 +67,7 @@ #include "../jrd/ods_proto.h" #include "../jrd/os/pio_proto.h" #include "../common/classes/init.h" +#include "../common/os/os_utils.h" using namespace Jrd; using namespace Firebird; @@ -215,7 +216,7 @@ #endif #endif - const int desc = open(file_name.c_str(), flag, 0666); + const int desc = os_utils::open(file_name.c_str(), flag, 0666); if (desc == -1) { ERR_post(Arg::Gds(isc_io_error) << Arg::Str("open O_CREAT") << Arg::Str(file_name) << @@ -891,16 +892,7 @@ flag |= O_DIRECT; #endif - for (int i = 0; i < IO_RETRY; i++) - { - int desc = open(name, flag); - if (desc != -1) - return desc; - if (!SYSCALL_INTERRUPTED(errno)) - break; - } - - return -1; + return os_utils::open(name, flag); } @@ -1213,18 +1205,12 @@ static int raw_devices_unlink_database(const PathName& file_name) { char header[MIN_PAGE_SIZE]; - int desc = -1; - for (int i = 0; i < IO_RETRY; i++) + int desc = os_utils::open(file_name.c_str(), O_RDWR | O_BINARY); + if (desc < 0) { - if ((desc = open (file_name.c_str(), O_RDWR | O_BINARY)) != -1) - break; - - if (!SYSCALL_INTERRUPTED(errno)) - { - ERR_post(Arg::Gds(isc_io_error) << Arg::Str("open") << Arg::Str(file_name) << - Arg::Gds(isc_io_open_err) << Arg::Unix(errno)); - } + ERR_post(Arg::Gds(isc_io_error) << Arg::Str("open") << Arg::Str(file_name) << + Arg::Gds(isc_io_open_err) << Arg::Unix(errno)); } memset(header, 0xa5, sizeof(header)); Modified: firebird/trunk/src/jrd/svc.cpp =================================================================== --- firebird/trunk/src/jrd/svc.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/svc.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -63,6 +63,7 @@ #include "../jrd/EngineInterface.h" #include "../jrd/Mapping.h" #include "../common/classes/RefMutex.h" +#include "../common/os/os_utils.h" #include "../common/classes/DbImplementation.h" @@ -2194,7 +2195,7 @@ bool svc_started = false; Firebird::PathName name = fb_utils::getPrefix(IConfigManager::FB_DIR_LOG, LOGFILE); - FILE* file = fopen(name.c_str(), "r"); + FILE* file = os_utils::fopen(name.c_str(), "r"); try { Modified: firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp =================================================================== --- firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -208,7 +208,7 @@ } else { - m_cfg_file = ::open(cfg_file_name, O_RDWR | O_BINARY); + m_cfg_file = os_utils::open(cfg_file_name, O_RDWR | O_BINARY); if (m_cfg_file < 0) checkFileError(cfg_file_name, "open", isc_io_open_err); @@ -244,7 +244,7 @@ configFileName.insert(0, root); } - cfgFile = fopen(configFileName.c_str(), "rb"); + cfgFile = os_utils::fopen(configFileName.c_str(), "rb"); if (!cfgFile) { checkFileError(configFileName.c_str(), "fopen", isc_io_open_err); } Modified: firebird/trunk/src/lock/lock.cpp =================================================================== --- firebird/trunk/src/lock/lock.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/lock/lock.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -54,6 +54,7 @@ #include "../common/classes/semaphore.h" #include "../common/classes/init.h" #include "../common/classes/timestamp.h" +#include "../common/os/os_utils.h" #include <stdio.h> #include <errno.h> @@ -1621,7 +1622,7 @@ TEXT buffer[MAXPATHLEN]; gds__prefix_lock(buffer, "fb_lock_table.dump"); const TEXT* const lock_file = buffer; - FILE* const fd = fopen(lock_file, "wb"); + FILE* const fd = os_utils::fopen(lock_file, "wb"); if (fd) { FB_UNUSED(fwrite(header, 1, header->lhb_used, fd)); Modified: firebird/trunk/src/remote/SockAddr.h =================================================================== --- firebird/trunk/src/remote/SockAddr.h 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/SockAddr.h 2014-12-17 14:31:02 UTC (rev 60379) @@ -45,7 +45,6 @@ #include "../remote/remote.h" - class SockAddr { private: @@ -111,7 +110,7 @@ inline int SockAddr::accept(SOCKET s) { - return ::accept(s, (struct sockaddr*) data, &len); + return os_utils::accept(s, (struct sockaddr*) data, &len); } Modified: firebird/trunk/src/remote/inet.cpp =================================================================== --- firebird/trunk/src/remote/inet.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/inet.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -54,6 +54,7 @@ #include "../common/classes/timestamp.h" #include "../common/classes/init.h" #include "../common/ThreadStart.h" +#include "../common/os/os_utils.h" #ifdef HAVE_PWD_H #include <pwd.h> @@ -111,7 +112,6 @@ #include "../common/config/config.h" #include "../common/utils_proto.h" #include "../common/classes/ClumpletWriter.h" -#include "../common/os/os_utils.h" // Please review. Maybe not needed. See H_ERRNO in common.h. #if defined HPUX @@ -842,7 +842,7 @@ for (const addrinfo* pai = gai_result; pai; pai = pai->ai_next) { // Allocate a port block and initialize a socket for communications - port->port_handle = socket(pai->ai_family, pai->ai_socktype, pai->ai_protocol); + port->port_handle = os_utils::socket(pai->ai_family, pai->ai_socktype, pai->ai_protocol); if (port->port_handle == INVALID_SOCKET) { @@ -997,7 +997,7 @@ while (true) { - SOCKET s = accept(port->port_handle, NULL, NULL); + SOCKET s = os_utils::accept(port->port_handle, NULL, NULL); const int inetErrNo = INET_ERRNO; if (s == INVALID_SOCKET) { @@ -1371,7 +1371,7 @@ } } - const SOCKET n = accept(port->port_channel, NULL, NULL); + const SOCKET n = os_utils::accept(port->port_channel, NULL, NULL); inetErrNo = INET_ERRNO; if (n == INVALID_SOCKET) @@ -1416,7 +1416,7 @@ // Set up new socket - SOCKET n = socket(address.family(), SOCK_STREAM, 0); + SOCKET n = os_utils::socket(address.family(), SOCK_STREAM, 0); if (n == INVALID_SOCKET) { int savedError = INET_ERRNO; @@ -1465,7 +1465,7 @@ unsigned short aux_port = port->getPortConfig()->getRemoteAuxPort(); our_address.setPort(aux_port); // may be 0 - SOCKET n = socket(our_address.family(), SOCK_STREAM, 0); + SOCKET n = os_utils::socket(our_address.family(), SOCK_STREAM, 0); if (n == INVALID_SOCKET) { inet_error(false, port, "socket", isc_net_event_listen_err, INET_ERRNO); @@ -1966,7 +1966,7 @@ rem_port* const port = alloc_port(main_port); inet_ports->registerPort(port); - port->port_handle = accept(main_port->port_handle, NULL, NULL); + port->port_handle = os_utils::accept(main_port->port_handle, NULL, NULL); if (port->port_handle == INVALID_SOCKET) { inet_error(true, port, "accept", isc_net_connect_err, INET_ERRNO); @@ -3081,3 +3081,58 @@ **************************************/ tryStopMainThread = func; } + +namespace os_utils +{ + +// force socket descriptor to have O_CLOEXEC set +int socket(int domain, int type, int protocol) +{ +#ifdef WIN_NT + return ::socket(domain, type, protocol); +#else + int fd; + do { + fd = ::socket(domain, type | O_CLOEXEC, protocol); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); + + if (fd < 0 && errno == EINVAL) // probably O_CLOEXEC not accepted + { + do { + fd = ::socket(domain, type, protocol); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); + } + + setCloseOnExec(fd); + return fd; +#endif +} + +// force socket descriptor to have O_CLOEXEC set +int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) +{ +#ifdef WIN_NT + return ::accept(sockfd, addr, addrlen); +#else + int fd; +#ifdef HAVE_ACCEPT4 + do { + fd = ::accept4(sockfd, addr, addrlen, O_CLOEXEC); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); + + if (fd < 0 && errno == EINVAL) // probably O_CLOEXEC not accepted + { +#endif + do { + fd = ::accept(sockfd, addr, addrlen); + } while (fd < 0 && SYSCALL_INTERRUPTED(errno)); +#ifdef HAVE_ACCEPT4 + } +#endif + + setCloseOnExec(fd); + return fd; +#endif +} + +} // namespace os_utils Modified: firebird/trunk/src/remote/remote.h =================================================================== --- firebird/trunk/src/remote/remote.h 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/remote.h 2014-12-17 14:31:02 UTC (rev 60379) @@ -105,6 +105,17 @@ class Exception; } +#ifndef WIN_NT +typedef int SOCKET; +#endif + +namespace os_utils +{ + // force descriptor to have O_CLOEXEC set + SOCKET socket(int domain, int type, int protocol); + SOCKET accept(SOCKET sockfd, sockaddr *addr, socklen_t *addrlen); +} + struct rem_port; typedef Firebird::AutoPtr<UCHAR, Firebird::ArrayDelete<UCHAR> > UCharArrayAutoPtr; @@ -586,11 +597,6 @@ // Generalized port definition. -#ifndef WIN_NT -typedef int SOCKET; -#endif - - ////////////////////////////////////////////////////////////////// // fwd. decl. struct p_cnct; Modified: firebird/trunk/src/remote/server/os/posix/inet_server.cpp =================================================================== --- firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -40,6 +40,7 @@ #include "../common/classes/init.h" #include "../common/config/config.h" #include "../common/os/fbsyslog.h" +#include "../common/os/os_utils.h" #include <sys/param.h> #ifdef HAVE_SYS_TYPES_H @@ -425,7 +426,7 @@ //gds_alloc_report(0, __FILE__, __LINE__); Firebird::PathName name = fb_utils::getPrefix( Firebird::IConfigManager::FB_DIR_LOG, "memdebug.log"); - FILE* file = fopen(name.c_str(), "w+t"); + FILE* file = os_utils::fopen(name.c_str(), "w+t"); if (file) { fprintf(file, "Global memory pool allocated objects\n"); Modified: firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp =================================================================== --- firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -109,6 +109,7 @@ #include "firebird/Interface.h" #include "../common/classes/ImplementHelper.h" +#include "../common/os/os_utils.h" #include "../auth/trusted/AuthSspi.h" #include "../auth/SecurityDatabase/LegacyServer.h" #include "../auth/SecureRemotePassword/server/SrpServer.h" @@ -346,7 +347,7 @@ //gds_alloc_report(0, __FILE__, __LINE__); PathName name = fb_utils::getPrefix(IConfigManager::FB_DIR_LOG, "memdebug.log"); - FILE* file = fopen(name.c_str(), "w+t"); + FILE* file = os_utils::fopen(name.c_str(), "w+t"); if (file) { fprintf(file, "Global memory pool allocated objects\n"); Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/remote/server/server.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -73,6 +73,7 @@ #include "../auth/SecurityDatabase/LegacyHash.h" #include "../common/enc_proto.h" #include "../common/classes/InternalMessageBuffer.h" +#include "../common/os/os_utils.h" using namespace Firebird; @@ -637,12 +638,10 @@ firebirdPortMutex.printf(PORT_FILE, id); TEXT filename[MAXPATHLEN]; gds__prefix_lock(filename, firebirdPortMutex.c_str()); - while ((fd = open(filename, O_WRONLY | O_CREAT, 0666)) < 0) + fd = os_utils::open(filename, O_WRONLY | O_CREAT, 0666); + if (fd < 0) { - if (errno != EINTR) - { - system_call_failed::raise("open"); - } + system_call_failed::raise("open"); } struct flock lock; Modified: firebird/trunk/src/utilities/analyse.cpp =================================================================== --- firebird/trunk/src/utilities/analyse.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/utilities/analyse.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -329,7 +329,7 @@ * **************************************/ - if ((file = open(file_name, 2)) == -1) + if ((file = os_utils::open(file_name, 2)) == -1) db_error(errno); } Modified: firebird/trunk/src/utilities/gstat/dba.epp =================================================================== --- firebird/trunk/src/utilities/gstat/dba.epp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/utilities/gstat/dba.epp 2014-12-17 14:31:02 UTC (rev 60379) @@ -54,6 +54,7 @@ #include "../jrd/ods_proto.h" #include "../common/classes/MsgPrint.h" #include "../common/classes/UserBlob.h" +#include "../common/os/os_utils.h" using MsgFormat::SafeArg; @@ -1949,7 +1950,7 @@ fil->fil_fudge = 0; fil->fil_max_page = 0L; - if ((fil->fil_desc = open(file_name, O_RDONLY)) == -1) + if ((fil->fil_desc = os_utils::open(file_name, O_RDONLY)) == -1) { tddba->uSvc->setServiceStatus(GSTAT_MSG_FAC, 29, SafeArg() << file_name); // msg 29: Can't open database file %s Modified: firebird/trunk/src/utilities/nbackup/nbackup.cpp =================================================================== --- firebird/trunk/src/utilities/nbackup/nbackup.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/utilities/nbackup/nbackup.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -53,6 +53,7 @@ #include "../common/isc_f_proto.h" #include "../common/StatusArg.h" #include "../common/classes/objects_array.h" +#include "../common/os/os_utils.h" #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -457,7 +458,7 @@ if (dbase != INVALID_HANDLE_VALUE) return; #else - dbase = open(dbname.c_str(), O_RDWR | O_LARGEFILE); + dbase = os_utils::open(dbname.c_str(), O_RDWR | O_LARGEFILE); if (dbase >= 0) return; #endif @@ -497,11 +498,11 @@ #define O_DIRECT 0 #endif // O_DIRECT - dbase = open(dbname.c_str(), O_RDONLY | O_LARGEFILE | O_NOATIME | (direct_io ? O_DIRECT : 0)); + dbase = os_utils::open(dbname.c_str(), O_RDONLY | O_LARGEFILE | O_NOATIME | (direct_io ? O_DIRECT : 0)); if (dbase < 0) { // Non-root may fail when opening file of another user with O_NOATIME - dbase = open(dbname.c_str(), O_RDONLY | O_LARGEFILE | (direct_io ? O_DIRECT : 0)); + dbase = os_utils::open(dbname.c_str(), O_RDONLY | O_LARGEFILE | (direct_io ? O_DIRECT : 0)); } if (dbase < 0) { @@ -540,7 +541,7 @@ if (dbase != INVALID_HANDLE_VALUE) return; #else - dbase = open(dbname.c_str(), O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, 0660); + dbase = os_utils::open(dbname.c_str(), O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, 0660); if (dbase >= 0) return; #endif @@ -655,7 +656,7 @@ } else { - backup = open(nm.c_str(), O_RDONLY | O_LARGEFILE); + backup = os_utils::open(nm.c_str(), O_RDONLY | O_LARGEFILE); if (backup >= 0) return; } @@ -684,7 +685,7 @@ backup = 1; // Posix file handle for stdout return; } - backup = open(nm.c_str(), O_WRONLY | O_CREAT | O_EXCL | O_LARGEFILE, 0660); + backup = os_utils::open(nm.c_str(), O_WRONLY | O_CREAT | O_EXCL | O_LARGEFILE, 0660); if (backup >= 0) return; #endif Modified: firebird/trunk/src/yvalve/gds.cpp =================================================================== --- firebird/trunk/src/yvalve/gds.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/yvalve/gds.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -1077,7 +1077,7 @@ ReleaseMutex(CleanupTraceHandles::trace_mutex_handle); #else Firebird::PathName name = fb_utils::getPrefix(Firebird::IConfigManager::FB_DIR_LOG, LOGFILE); - int file = open(name.c_str(), O_CREAT | O_APPEND | O_WRONLY, 0660); + int file = os_utils::open(name.c_str(), O_CREAT | O_APPEND | O_WRONLY, 0660); if (file == -1) return; @@ -1186,7 +1186,7 @@ #ifdef WIN_NT WaitForSingleObject(CleanupTraceHandles::trace_mutex_handle, INFINITE); #endif - FILE* file = fopen(name.c_str(), "a"); + FILE* file = os_utils::fopen(name.c_str(), "a"); if (file != NULL) { #ifndef WIN_NT @@ -1252,7 +1252,7 @@ #ifdef WIN_NT WaitForSingleObject(CleanupTraceHandles::trace_mutex_handle, INFINITE); #endif - FILE* file = fopen(name.c_str(), "a"); + FILE* file = os_utils::fopen(name.c_str(), "a"); if (file != NULL) { TEXT buffer[MAXPATHLEN]; @@ -1585,7 +1585,7 @@ * and update a message handle. * **************************************/ - const int n = open(filename, O_RDONLY | O_BINARY, 0); + const int n = os_utils::open(filename, O_RDONLY | O_BINARY, 0); if (n < 0) return -2; @@ -2414,11 +2414,11 @@ if (stdio_flag) { - FILE* result = fopen(filename.c_str(), "w+b"); + FILE* result = os_utils::fopen(filename.c_str(), "w+b"); return result ? result : (void*) (IPTR) (-1); } - return (void*) (IPTR) open(filename.c_str(), O_RDWR | O_EXCL | O_TRUNC); + return (void*) (IPTR) os_utils::open(filename.c_str(), O_RDWR | O_EXCL | O_TRUNC); } catch (const Firebird::Exception&) { Modified: firebird/trunk/src/yvalve/utl.cpp =================================================================== --- firebird/trunk/src/yvalve/utl.cpp 2014-12-17 11:56:48 UTC (rev 60378) +++ firebird/trunk/src/yvalve/utl.cpp 2014-12-17 14:31:02 UTC (rev 60379) @@ -66,6 +66,7 @@ #include "../common/isc_f_proto.h" #include "../common/StatusHolder.h" #include "../common/classes/ImplementHelper.h" +#include "../common/os/os_utils.h" #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -316,7 +317,7 @@ if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) return FB_FALSE; - FILE* file = fopen(tmpf.c_str(), FOPEN_WRITE_TYPE_TEXT); + FILE* file = os_utils::fopen(tmpf.c_str(), FOPEN_WRITE_TYPE_TEXT); if (!file) { unlink(tmpf.c_str()); @@ -338,7 +339,7 @@ if (gds__edit(tmpf.c_str(), type)) { - if (!(file = fopen(tmpf.c_str(), FOPEN_READ_TYPE_TEXT))) + if (!(file = os_utils::fopen(tmpf.c_str(), FOPEN_READ_TYPE_TEXT))) { unlink(tmpf.c_str()); system_error::raise("fopen"); @@ -364,7 +365,7 @@ void UtlInterface::dumpBlob(IStatus* status, ISC_QUAD* blobId, IAttachment* att, ITransaction* tra, const char* file_name, FB_BOOLEAN txt) { - FILE* file = fopen(file_name, txt ? FOPEN_WRITE_TYPE_TEXT : FOPEN_WRITE_TYPE); + FILE* file = os_utils::fopen(file_name, txt ? FOPEN_WRITE_TYPE_TEXT : FOPEN_WRITE_TYPE); try { if (!file) @@ -397,7 +398,7 @@ * Load a blob with the contents of a file. * **************************************/ - FILE* file = fopen(file_name, txt ? FOPEN_READ_TYPE_TEXT : FOPEN_READ_TYPE); + FILE* file = os_utils::fopen(file_name, txt ? FOPEN_READ_TYPE_TEXT : FOPEN_READ_TYPE); try { if (!file) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-18 00:15:41
|
Revision: 60380 http://sourceforge.net/p/firebird/code/60380 Author: firebirds Date: 2014-12-18 00:15:38 +0000 (Thu, 18 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-17 14:31:02 UTC (rev 60379) +++ firebird/trunk/ChangeLog 2014-12-18 00:15:38 UTC (rev 60380) @@ -1,3 +1,113 @@ + 2014-12-17 14:31 alexpeshkoff + M configure.ac + M src/burp/burp.cpp + M src/burp/mvol.cpp + M src/burp/split/spit.cpp + M src/common/classes/TempFile.cpp + M src/common/classes/alloc.cpp + M src/common/config/config_file.cpp + M src/common/isc_file.cpp + M src/common/os/os_utils.h + M src/common/os/posix/divorce.cpp + M src/common/os/posix/guid.cpp + M src/common/os/posix/os_utils.cpp + M src/common/os/win32/os_utils.cpp + M src/common/utils.cpp + M src/jrd/Optimizer.cpp + M src/jrd/ext.cpp + M src/jrd/jrd.cpp + M src/jrd/opt.cpp + M src/jrd/os/posix/unix.cpp + M src/jrd/svc.cpp + M src/jrd/trace/TraceConfigStorage.cpp + M src/lock/lock.cpp + M src/remote/SockAddr.h + M src/remote/inet.cpp + M src/remote/remote.h + M src/remote/server/os/posix/inet_server.cpp + M src/remote/server/os/win32/srvr_w32.cpp + M src/remote/server/server.cpp + M src/utilities/analyse.cpp + M src/utilities/gstat/dba.epp + M src/utilities/nbackup/nbackup.cpp + M src/yvalve/gds.cpp + M src/yvalve/utl.cpp +Work in progress on CORE-3632: make all file descriptors, opened by firebird, close on exec() + + 2014-12-17 11:56 dimitr + M src/dsql/DdlNodes.epp +Fixed CORE-4622: Regression: Trigger with UPDATE OR INSERT statement and IIF() not working as expected. + + 2014-12-17 10:38 dimitr + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/parse.y +Fixed CORE-4161: User can not insert records into table with column "generated by default as identity" in its DDL. + + 2014-12-17 10:01 dimitr + M src/dsql/DdlNodes.epp +Fixed CORE-4280: FB3: Stored function accepts duplicate input arguments. + + 2014-12-17 07:41 dimitr + M src/jrd/met.epp +Fixed CORE-4472: Message "Modifying function <F> which is currently in use" when running script with AUTODDL=OFF and <F> is called from INTERNAL function declared in other unit. + + 2014-12-16 19:12 dimitr + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/ExprNodes.cpp + M src/dsql/StmtNodes.cpp + M src/dsql/dsql.h + M src/dsql/metd.epp + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql +Fixed CORE-4572: Incorrect error for PSQL function when the number of actual arguments does not match the number of formal arguments. + + 2014-12-16 17:33 dimitr + M src/dsql/parse.y +Fixed one more regression with explicit plans -- parser error for multiple entries inside the INDEX clause, e.g. SELECT * FROM T WHERE F1 = 0 AND F2 = 0 PLAN (T INDEX (IDX_F1, IDX_F2)). + + 2014-12-16 17:29 dimitr + M src/dsql/gen.cpp +Simplification. + + 2014-12-16 17:28 dimitr + M src/dsql/parse.y +Fixed CORE-4539: Server does not accept the right plan. + + 2014-12-16 14:39 alexpeshkoff + M src/alice/aliceswi.h + M src/alice/exe.cpp + M src/include/consts_pub.h + M src/jrd/dfw.epp + M src/jrd/dfw_proto.h + M src/jrd/jrd.cpp + M src/utilities/fbsvcmgr/fbsvcmgr.cpp +Fixed CORE-4571: Can't select from table with ICU column when database (.FDB) is created on LINUX with icu 4.2.1 and then copied to WINDOWS + + 2014-12-16 11:40 dimitr + M src/jrd/Optimizer.cpp +Postfix for CORE-1550: Unnecessary index scan happens when the same index is mapped to both WHERE and ORDER BY clauses. + + 2014-12-16 10:30 dimitr + M src/remote/server/os/posix/inet_server.cpp +This should fix CORE-4639: Linux server may reject connections with a transliteration error. + + 2014-12-16 05:02 mapopa + M src/common/sha.cpp +Page url changed , use archive.org url + + 2014-12-16 04:41 mapopa + M src/include/types_pub.h +16-bit platforms not supported + 2014-12-13 08:55 hvlad M src/jrd/GarbageCollector.cpp Fixed bug, noted by Claudio in fb-devel Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-17 14:31:02 UTC (rev 60379) +++ firebird/trunk/src/jrd/build_no.h 2014-12-18 00:15:38 UTC (rev 60380) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31474 + FORMAL BUILD NUMBER:31488 */ -#define PRODUCT_VER_STRING "3.0.0.31474" -#define FILE_VER_STRING "WI-T3.0.0.31474" -#define LICENSE_VER_STRING "WI-T3.0.0.31474" -#define FILE_VER_NUMBER 3, 0, 0, 31474 +#define PRODUCT_VER_STRING "3.0.0.31488" +#define FILE_VER_STRING "WI-T3.0.0.31488" +#define LICENSE_VER_STRING "WI-T3.0.0.31488" +#define FILE_VER_NUMBER 3, 0, 0, 31488 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31474" +#define FB_BUILD_NO "31488" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-17 14:31:02 UTC (rev 60379) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-18 00:15:38 UTC (rev 60380) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31474 +BuildNum=31488 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-12-18 16:54:53
|
Revision: 60389 http://sourceforge.net/p/firebird/code/60389 Author: alexpeshkoff Date: 2014-12-18 16:54:44 +0000 (Thu, 18 Dec 2014) Log Message: ----------- Changed struct DtcStart to interface. Make external programs build again with minimum changes. Modified Paths: -------------- firebird/trunk/examples/interfaces/01.create.cpp firebird/trunk/examples/interfaces/02.update.cpp firebird/trunk/examples/interfaces/03.select.cpp firebird/trunk/examples/interfaces/04.print_table.cpp firebird/trunk/src/include/firebird/FirebirdInterface.idl firebird/trunk/src/include/firebird/IdlFbInterfaces.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/Message.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/yvalve/DistributedTransaction.cpp firebird/trunk/src/yvalve/MasterImplementation.h firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/why.cpp Added Paths: ----------- firebird/trunk/examples/interfaces/ifaceExamples.h Modified: firebird/trunk/examples/interfaces/01.create.cpp =================================================================== --- firebird/trunk/examples/interfaces/01.create.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/examples/interfaces/01.create.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -33,26 +33,12 @@ * Contributor(s): ______________________________________. */ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> +#include "ifaceExamples.h" -#include <ibase.h> -#include <firebird/Interface.h> - -using namespace Firebird; - // Here we get access to master interface. This is main interface of firebird, // and the only one for getting which there is special function in our API. static IMaster* master = fb_get_master_interface(); -// Probably not best way of error processing, but it's OK for a sample -static void check(IStatus* s, const char* text) -{ - if (s->getStatus() & IStatus::FB_HAS_ERRORS) - throw text; -} - int main() { int rc = 0; Modified: firebird/trunk/examples/interfaces/02.update.cpp =================================================================== --- firebird/trunk/examples/interfaces/02.update.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/examples/interfaces/02.update.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -35,15 +35,8 @@ * Alex Peshkov, 2013 */ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> +#include "ifaceExamples.h" -#include <ibase.h> -#include <firebird/Interface.h> - -using namespace Firebird; - static IMaster* master = fb_get_master_interface(); int get_input(char*, double*); @@ -53,12 +46,6 @@ {0.05, 1.00, 0.075, 0.10, 0}; int Input_ptr = 0; -static void check(IStatus* s, const char* text) -{ - if (s->getStatus() & IStatus::FB_HAS_ERRORS) - throw text; -} - int main() { int rc = 0; Modified: firebird/trunk/examples/interfaces/03.select.cpp =================================================================== --- firebird/trunk/examples/interfaces/03.select.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/examples/interfaces/03.select.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -33,23 +33,10 @@ * Contributor(s): ______________________________________. */ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> +#include "ifaceExamples.h" -#include <ibase.h> -#include <firebird/Interface.h> - -using namespace Firebird; - static IMaster* master = fb_get_master_interface(); -static void check(IStatus* s, const char* text) -{ - if (s->getStatus() & IStatus::FB_HAS_ERRORS) - throw text; -} - int main() { int rc = 0; Modified: firebird/trunk/examples/interfaces/04.print_table.cpp =================================================================== --- firebird/trunk/examples/interfaces/04.print_table.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/examples/interfaces/04.print_table.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -32,23 +32,11 @@ * All Rights Reserved. * Contributor(s): ______________________________________. */ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <ibase.h> -#include <firebird/Interface.h> +#include "ifaceExamples.h" -using namespace Firebird; - static IMaster* master = fb_get_master_interface(); -static void check(IStatus* s, const char* text) -{ - if (s->getStatus() & IStatus::FB_HAS_ERRORS) - throw text; -} - struct MyField { const char* name; Added: firebird/trunk/examples/interfaces/ifaceExamples.h =================================================================== --- firebird/trunk/examples/interfaces/ifaceExamples.h (rev 0) +++ firebird/trunk/examples/interfaces/ifaceExamples.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -0,0 +1,60 @@ +/* + * PROGRAM: Object oriented API samples. + * MODULE: ifaceExamples.h + * DESCRIPTION: A number of common defines for all samples. + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alexander Peshkoff + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2014 Alexander Peshkoff <pes...@ma...> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include <ibase.h> +#include <firebird/Interface.h> + +using namespace Firebird; + +typedef FirebirdApi<class ExamplesPolicy> Api; +FB_USE_API(Api, I) + +// Dummy policy - to be enhanced +class ExamplesPolicy +{ +public: + template <unsigned V, typename T> + static inline bool checkVersion(T* versioned, IStatus* status) + { return true; } + static void checkException(Api::Status*) { } + static void catchException(Api::Status*) { } + typedef Api::Status* Status; +}; + + +// Declare function to get access to master interface. +DECLARE_GET_MASTER(ExamplesPolicy); + +// Probably not best way of error processing, but it's OK for a sample +static void check(IStatus* s, const char* text) +{ + if (s->getStatus() & IStatus::FB_HAS_ERRORS) + throw text; +} Property changes on: firebird/trunk/examples/interfaces/ifaceExamples.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/x-chdr \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: firebird/trunk/src/include/firebird/FirebirdInterface.idl =================================================================== --- firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-12-18 16:54:44 UTC (rev 60389) @@ -533,21 +533,22 @@ void setDbCryptCallback(Status status, CryptKeyCallback cryptCallback); } -/*** FIXME: -// DtcStart - structure to start transaction over >1 attachments (former TEB) -struct DtcStart +// Helper to start transaction over >1 attachments (former TEB) +interface DtcStart : Disposable { - Attachment attachment; - const uchar* tpb; - uint tpbLength; + void setComponent(Status status, Attachment att); + void setWithParam(Status status, Attachment att, uint length, const uchar* tpb); + uint getCount(Status status); + Attachment getAttachment(Status status, uint pos); + const uchar* getTpb(Status status, uint pos, uint* length); } -***/ // Distributed transactions coordinator interface Dtc : Versioned { - Transaction start(Status status, uint cnt, DtcStart* components); + Transaction start(Status status, DtcStart components); Transaction join(Status status, Transaction one, Transaction two); + DtcStart startBuilder(Status status); } Modified: firebird/trunk/src/include/firebird/IdlFbInterfaces.h =================================================================== --- firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -56,6 +56,7 @@ class Attachment; class Service; class Provider; + class DtcStart; class Dtc; class Auth; class Writer; @@ -2009,13 +2010,78 @@ } }; + class DtcStart : public Disposable + { + public: + struct VTable : public Disposable::VTable + { + void (CLOOP_CARG *setComponent)(DtcStart* self, Status* status, Attachment* att) throw(); + void (CLOOP_CARG *setWithParam)(DtcStart* self, Status* status, Attachment* att, unsigned length, const unsigned char* tpb) throw(); + unsigned (CLOOP_CARG *getCount)(DtcStart* self, Status* status) throw(); + Attachment* (CLOOP_CARG *getAttachment)(DtcStart* self, Status* status, unsigned pos) throw(); + const unsigned char* (CLOOP_CARG *getTpb)(DtcStart* self, Status* status, unsigned pos, unsigned* length) throw(); + }; + + protected: + DtcStart(DoNotInherit) + : Disposable(DoNotInherit()) + { + } + + ~DtcStart() + { + } + + public: + static const unsigned VERSION = 3; + + void setComponent(Status* status, Attachment* att) + { + typename Policy::Status status2(status); + static_cast<VTable*>(this->cloopVTable)->setComponent(this, status2, att); + Policy::checkException(status2); + } + + void setWithParam(Status* status, Attachment* att, unsigned length, const unsigned char* tpb) + { + typename Policy::Status status2(status); + static_cast<VTable*>(this->cloopVTable)->setWithParam(this, status2, att, length, tpb); + Policy::checkException(status2); + } + + unsigned getCount(Status* status) + { + typename Policy::Status status2(status); + unsigned ret = static_cast<VTable*>(this->cloopVTable)->getCount(this, status2); + Policy::checkException(status2); + return ret; + } + + Attachment* getAttachment(Status* status, unsigned pos) + { + typename Policy::Status status2(status); + Attachment* ret = static_cast<VTable*>(this->cloopVTable)->getAttachment(this, status2, pos); + Policy::checkException(status2); + return ret; + } + + const unsigned char* getTpb(Status* status, unsigned pos, unsigned* length) + { + typename Policy::Status status2(status); + const unsigned char* ret = static_cast<VTable*>(this->cloopVTable)->getTpb(this, status2, pos, length); + Policy::checkException(status2); + return ret; + } + }; + class Dtc : public Versioned { public: struct VTable : public Versioned::VTable { - Transaction* (CLOOP_CARG *start)(Dtc* self, Status* status, unsigned cnt, DtcStart* components) throw(); + Transaction* (CLOOP_CARG *start)(Dtc* self, Status* status, DtcStart* components) throw(); Transaction* (CLOOP_CARG *join)(Dtc* self, Status* status, Transaction* one, Transaction* two) throw(); + DtcStart* (CLOOP_CARG *startBuilder)(Dtc* self, Status* status) throw(); }; protected: @@ -2031,10 +2097,10 @@ public: static const unsigned VERSION = 2; - Transaction* start(Status* status, unsigned cnt, DtcStart* components) + Transaction* start(Status* status, DtcStart* components) { typename Policy::Status status2(status); - Transaction* ret = static_cast<VTable*>(this->cloopVTable)->start(this, status2, cnt, components); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->start(this, status2, components); Policy::checkException(status2); return ret; } @@ -2046,6 +2112,14 @@ Policy::checkException(status2); return ret; } + + DtcStart* startBuilder(Status* status) + { + typename Policy::Status status2(status); + DtcStart* ret = static_cast<VTable*>(this->cloopVTable)->startBuilder(this, status2); + Policy::checkException(status2); + return ret; + } }; class Auth : public PluginBase @@ -8636,6 +8710,141 @@ }; template <typename Name, typename Base> + class DtcStartBaseImpl : public Base + { + public: + typedef DtcStart Declaration; + + DtcStartBaseImpl(DoNotInherit = DoNotInherit()) + { + static struct VTableImpl : Base::VTable + { + VTableImpl() + { + this->version = Base::VERSION; + this->getModule = &Name::cloopgetModuleDispatcher; + this->dispose = &Name::cloopdisposeDispatcher; + this->setComponent = &Name::cloopsetComponentDispatcher; + this->setWithParam = &Name::cloopsetWithParamDispatcher; + this->getCount = &Name::cloopgetCountDispatcher; + this->getAttachment = &Name::cloopgetAttachmentDispatcher; + this->getTpb = &Name::cloopgetTpbDispatcher; + } + } vTable; + + this->cloopVTable = &vTable; + } + + static void CLOOP_CARG cloopsetComponentDispatcher(DtcStart* self, Status* status, Attachment* att) throw() + { + try + { + static_cast<Name*>(self)->Name::setComponent(status, att); + } + catch (...) + { + Policy::catchException(status); + } + } + + static void CLOOP_CARG cloopsetWithParamDispatcher(DtcStart* self, Status* status, Attachment* att, unsigned length, const unsigned char* tpb) throw() + { + try + { + static_cast<Name*>(self)->Name::setWithParam(status, att, length, tpb); + } + catch (...) + { + Policy::catchException(status); + } + } + + static unsigned CLOOP_CARG cloopgetCountDispatcher(DtcStart* self, Status* status) throw() + { + try + { + return static_cast<Name*>(self)->Name::getCount(status); + } + catch (...) + { + Policy::catchException(status); + return static_cast<unsigned>(0); + } + } + + static Attachment* CLOOP_CARG cloopgetAttachmentDispatcher(DtcStart* self, Status* status, unsigned pos) throw() + { + try + { + return static_cast<Name*>(self)->Name::getAttachment(status, pos); + } + catch (...) + { + Policy::catchException(status); + return static_cast<Attachment*>(0); + } + } + + static const unsigned char* CLOOP_CARG cloopgetTpbDispatcher(DtcStart* self, Status* status, unsigned pos, unsigned* length) throw() + { + try + { + return static_cast<Name*>(self)->Name::getTpb(status, pos, length); + } + catch (...) + { + Policy::catchException(status); + return static_cast<const unsigned char*>(0); + } + } + + static void CLOOP_CARG cloopdisposeDispatcher(Disposable* self) throw() + { + try + { + static_cast<Name*>(self)->Name::dispose(); + } + catch (...) + { + Policy::catchException(0); + } + } + + static PluginModule* CLOOP_CARG cloopgetModuleDispatcher(Versioned* self) throw() + { + try + { + return static_cast<Name*>(self)->Name::getModule(); + } + catch (...) + { + Policy::catchException(0); + return static_cast<PluginModule*>(0); + } + } + }; + + template <typename Name, typename Base = DisposableImpl<Name, Inherit<VersionedImpl<Name, Inherit<DtcStart> > > > > + class DtcStartImpl : public DtcStartBaseImpl<Name, Base> + { + protected: + DtcStartImpl(DoNotInherit = DoNotInherit()) + { + } + + public: + virtual ~DtcStartImpl() + { + } + + virtual void setComponent(Status* status, Attachment* att) = 0; + virtual void setWithParam(Status* status, Attachment* att, unsigned length, const unsigned char* tpb) = 0; + virtual unsigned getCount(Status* status) = 0; + virtual Attachment* getAttachment(Status* status, unsigned pos) = 0; + virtual const unsigned char* getTpb(Status* status, unsigned pos, unsigned* length) = 0; + }; + + template <typename Name, typename Base> class DtcBaseImpl : public Base { public: @@ -8651,17 +8860,18 @@ this->getModule = &Name::cloopgetModuleDispatcher; this->start = &Name::cloopstartDispatcher; this->join = &Name::cloopjoinDispatcher; + this->startBuilder = &Name::cloopstartBuilderDispatcher; } } vTable; this->cloopVTable = &vTable; } - static Transaction* CLOOP_CARG cloopstartDispatcher(Dtc* self, Status* status, unsigned cnt, DtcStart* components) throw() + static Transaction* CLOOP_CARG cloopstartDispatcher(Dtc* self, Status* status, DtcStart* components) throw() { try { - return static_cast<Name*>(self)->Name::start(status, cnt, components); + return static_cast<Name*>(self)->Name::start(status, components); } catch (...) { @@ -8683,6 +8893,19 @@ } } + static DtcStart* CLOOP_CARG cloopstartBuilderDispatcher(Dtc* self, Status* status) throw() + { + try + { + return static_cast<Name*>(self)->Name::startBuilder(status); + } + catch (...) + { + Policy::catchException(status); + return static_cast<DtcStart*>(0); + } + } + static PluginModule* CLOOP_CARG cloopgetModuleDispatcher(Versioned* self) throw() { try @@ -8710,8 +8933,9 @@ { } - virtual Transaction* start(Status* status, unsigned cnt, DtcStart* components) = 0; + virtual Transaction* start(Status* status, DtcStart* components) = 0; virtual Transaction* join(Status* status, Transaction* one, Transaction* two) = 0; + virtual DtcStart* startBuilder(Status* status) = 0; }; template <typename Name, typename Base> Modified: firebird/trunk/src/include/firebird/Interface.h =================================================================== --- firebird/trunk/src/include/firebird/Interface.h 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/include/firebird/Interface.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -42,12 +42,10 @@ { struct FbCryptKey; -struct DtcStart; #include "IdlFbInterfaces.h" #define FB_USE_API(name, prefix) \ - /* awk <FirebirdInterface.idl '($1 == "interface") {printf "\t\ttypedef name::%s prefix##%s;\n", $2, $2;}' */ \ typedef name::Versioned prefix##Versioned; \ typedef name::ReferenceCounted prefix##ReferenceCounted; \ typedef name::Disposable prefix##Disposable; \ @@ -75,6 +73,7 @@ typedef name::Attachment prefix##Attachment; \ typedef name::Service prefix##Service; \ typedef name::Provider prefix##Provider; \ + typedef name::DtcStart prefix##DtcStart; \ typedef name::Dtc prefix##Dtc; \ typedef name::Auth prefix##Auth; \ typedef name::Writer prefix##Writer; \ @@ -174,15 +173,6 @@ unsigned decryptLength; // Ignored when decryptKey is NULL }; -struct DtcStart -{ - IAttachment* attachment; - const unsigned char* tpb; - unsigned tpbLength; -}; - -typedef void PluginEntrypoint(IMaster* masterInterface); - #ifdef INCLUDE_Firebird_H // Building internal module // This item is for ISC API emulation only @@ -196,12 +186,13 @@ #define FB_PLUGIN_ENTRY_POINT firebird_plugin -extern "C" -{ - // Additional API function. - // Should be used only in non-plugin modules. - // All plugins including providers should use passed at init time interface instead. - Firebird::IMaster* ISC_EXPORT fb_get_master_interface(); -} +// Additional API function. +// Should be used only in non-plugin modules. +// All plugins including providers should use passed at init time interface instead. +#define DECLARE_GET_MASTER(P) extern "C" Firebird::FirebirdApi<P>::Master* ISC_EXPORT fb_get_master_interface(); +#ifdef INCLUDE_Firebird_H // Building internal module +DECLARE_GET_MASTER(Firebird::FirebirdPolicy) +#endif //INCLUDE_Firebird_H + #endif // FB_INCLUDE_INTERFACE Modified: firebird/trunk/src/include/firebird/Message.h =================================================================== --- firebird/trunk/src/include/firebird/Message.h 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/include/firebird/Message.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -30,6 +30,33 @@ #include <time.h> #include <string.h> +//---------------------------------------------------------------- +// This ifdef is a dirty hack to make tests (fbstuff) to compile +#ifndef INCLUDE_Firebird_H + +namespace Firebird +{ +typedef FirebirdApi<class TempPolicy> Api; +FB_USE_API(Api, I) + +class TempPolicy +{ +public: + template <unsigned V, typename T> + static inline bool checkVersion(T* versioned, IStatus* status) + { return true; } + static void checkException(Api::Status*) { } + static void catchException(Api::Status*) { } + typedef Api::Status* Status; +}; +} //namespace Firebird + +DECLARE_GET_MASTER(Firebird::TempPolicy) +#define INCLUDE_Firebird_H + +#endif +//- END OF HACK -------------------------------------------------- + #define FB_MESSAGE(name, fields) \ FB__MESSAGE_I(name, 2, FB_BOOST_PP_CAT(FB__MESSAGE_X fields, 0), ) Modified: firebird/trunk/src/include/firebird/UdrEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrEngine.h 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/include/firebird/UdrEngine.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -25,6 +25,34 @@ #include "./Interface.h" +//---------------------------------------------------------------- +// This ifdef is a dirty hack to make tests (fbstuff) to compile +#ifndef INCLUDE_Firebird_H + +namespace Firebird +{ +typedef FirebirdApi<class TempPolicy> Api; +FB_USE_API(Api, I) + +class TempPolicy +{ +public: + template <unsigned V, typename T> + static inline bool checkVersion(T* versioned, IStatus* status) + { return true; } + static void checkException(Api::Status*) { } + static void catchException(Api::Status*) { } + typedef Api::Status* Status; +}; +} //namespace Firebird + +DECLARE_GET_MASTER(Firebird::TempPolicy) +#define INCLUDE_Firebird_H + +#endif +//- END OF HACK -------------------------------------------------- + + #ifndef FB_EXPORTED #if defined(DARWIN) #define FB_EXPORTED __attribute__((visibility("default"))) Modified: firebird/trunk/src/yvalve/DistributedTransaction.cpp =================================================================== --- firebird/trunk/src/yvalve/DistributedTransaction.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/yvalve/DistributedTransaction.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -498,7 +498,7 @@ namespace Why { -YTransaction* Dtc::start(IStatus* status, unsigned int cnt, DtcStart* components) +YTransaction* Dtc::start(IStatus* status, IDtcStart* components) { try { @@ -506,26 +506,37 @@ RefPtr<DTransaction> dtransaction(new DTransaction); - for (unsigned int i = 0; i < cnt; ++i) + unsigned cnt = components->getCount(status); + if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) + status_exception::raise(status); + + for (unsigned i = 0; i < cnt; ++i) { - RefPtr<ITransaction> transaction(components[i].attachment-> - startTransaction(status, components[i].tpbLength, components[i].tpb)); + RefPtr<IAttachment> att(REF_NO_INCR, components->getAttachment(status, i)); + if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) + status_exception::raise(status); + unsigned tpbLen; + const unsigned char* tpb = components->getTpb(status, i, &tpbLen); if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) - return NULL; + status_exception::raise(status); - dtransaction->join(status, transaction); + ITransaction* started = att->startTransaction(status, tpbLen, tpb); + if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) + status_exception::raise(status); + dtransaction->join(status, started); if (status->getStatus() & Firebird::IStatus::FB_HAS_ERRORS) { - LocalStatus tmp; - dtransaction->rollback(&tmp); - return NULL; + started->release(); + status_exception::raise(status); } } + YTransaction* rc = new YTransaction(NULL, dtransaction); dtransaction->addRef(); - return new YTransaction(NULL, dtransaction); + components->dispose(); + return rc; } catch (const Exception& ex) { @@ -564,4 +575,114 @@ return NULL; } +class DtcStart : public DisposeIface<Api::DtcStartImpl<DtcStart> > +{ +public: + DtcStart() + : components(getPool()) + { } + + // IDtcStart implementation + void setComponent(IStatus* status, IAttachment* att) + { + this->setWithParam(status, att, 0, NULL); + } + + void setWithParam(IStatus* status, IAttachment* att, unsigned length, const unsigned char* tpb) + { + try + { + Component toAdd; + toAdd.att = att; + toAdd.tpbLen = length; + toAdd.tpb = tpb; + + components.add(toAdd); + att->addRef(); + } + catch (const Exception& ex) + { + ex.stuffException(status); + } + } + + unsigned getCount(IStatus*) + { + return components.getCount(); + } + + IAttachment* getAttachment(IStatus* status, unsigned pos) + { + try + { + errorOver(pos); + + components[pos].att->addRef(); + return components[pos].att; + } + catch (const Exception& ex) + { + ex.stuffException(status); + } + return NULL; + } + + const unsigned char* getTpb(IStatus* status, unsigned pos, unsigned* length) + { + try + { + errorOver(pos); + + *length = components[pos].tpbLen; + return components[pos].tpb; + } + catch (const Exception& ex) + { + ex.stuffException(status); + } + return NULL; + } + + void dispose() + { + for (unsigned i = 0; i < components.getCount(); ++i) + components[i].att->release(); + + delete this; + } + +private: + struct Component + { + IAttachment* att; + unsigned tpbLen; + const unsigned char* tpb; + }; + + HalfStaticArray<Component, 16> components; + + void errorOver(unsigned n) + { + // TODO: add component num & limit to the message + if (n >= components.getCount()) + (Arg::Gds(isc_random) << "Access to invalid component number in DtcStart").raise(); + } +}; + +IDtcStart* Dtc::startBuilder(IStatus* status) +{ + try + { + status->init(); + + return new DtcStart; + } + catch (const Exception& ex) + { + ex.stuffException(status); + } + + return NULL; +} + } // namespace Why Modified: firebird/trunk/src/yvalve/MasterImplementation.h =================================================================== --- firebird/trunk/src/yvalve/MasterImplementation.h 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/yvalve/MasterImplementation.h 2014-12-18 16:54:44 UTC (rev 60389) @@ -45,10 +45,10 @@ { public: // IDtc implementation - YTransaction* start(Firebird::IStatus* status, - unsigned int cnt, Firebird::DtcStart* components); + YTransaction* start(Firebird::IStatus* status, Firebird::IDtcStart* components); YTransaction* join(Firebird::IStatus* status, Firebird::ITransaction* one, Firebird::ITransaction* two); + Firebird::IDtcStart* startBuilder(Firebird::IStatus* status); }; class MasterImplementation : public Firebird::AutoIface<Firebird::Api::MasterImpl<MasterImplementation> > Modified: firebird/trunk/src/yvalve/PluginManager.cpp =================================================================== --- firebird/trunk/src/yvalve/PluginManager.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/yvalve/PluginManager.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -946,6 +946,7 @@ } RefPtr<PluginModule> rc(new PluginModule(module, info.curModule)); + typedef void PluginEntrypoint(IMaster* masterInterface); PluginEntrypoint* startModule; if (module->findSymbol(STRINGIZE(FB_PLUGIN_ENTRY_POINT), startModule)) { Modified: firebird/trunk/src/yvalve/why.cpp =================================================================== --- firebird/trunk/src/yvalve/why.cpp 2014-12-18 16:23:03 UTC (rev 60388) +++ firebird/trunk/src/yvalve/why.cpp 2014-12-18 16:54:44 UTC (rev 60389) @@ -3407,7 +3407,6 @@ StatusVector status(userStatus); TEB* vector = (TEB*) vec; YTransaction* multiTrans = NULL; - DtcStart* ds = NULL; try { @@ -3429,22 +3428,20 @@ return status[1]; } - HalfStaticArray<DtcStart, 16> dtcStartBuffer; - ds = dtcStartBuffer.getBuffer(count); - memset(ds, 0, sizeof(DtcStart) * count); - DtcStart* const end = ds + count; + IDtcStart* ds = MasterImplementation::dtc->startBuilder(&status); + if (status.getStatus() & IStatus::FB_HAS_ERRORS) + return status[1]; - for (DtcStart* p = ds; p < end; ++p, ++vector) + for (unsigned u = 0; u < count; ++u) { RefPtr<YAttachment> attachment(translateHandle(attachments, vector->teb_database)); - p->attachment = attachment; - attachment->addRef(); - p->tpbLength = vector->teb_tpb_length; - p->tpb = reinterpret_cast<const unsigned char*>(vector->teb_tpb); + ds->setWithParam(&status, attachment, vector->teb_tpb_length, + reinterpret_cast<const unsigned char*>(vector->teb_tpb)); + if (status.getStatus() & IStatus::FB_HAS_ERRORS) + return status[1]; } - multiTrans = MasterImplementation::dtc->start(&status, count, ds); - + multiTrans = MasterImplementation::dtc->start(&status, ds); if (multiTrans) *traHandle = multiTrans->getHandle(); } @@ -3458,17 +3455,6 @@ e.stuffException(&status); } - if (ds) - { - DtcStart* const end = ds + count; - - for (DtcStart* p = ds; p < end; ++p) - { - if (p->attachment) - p->attachment->release(); - } - } - return status[1]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-19 00:15:41
|
Revision: 60393 http://sourceforge.net/p/firebird/code/60393 Author: firebirds Date: 2014-12-19 00:15:32 +0000 (Fri, 19 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-18 20:39:12 UTC (rev 60392) +++ firebird/trunk/ChangeLog 2014-12-19 00:15:32 UTC (rev 60393) @@ -1,3 +1,67 @@ + 2014-12-18 17:54 dimitr + M src/isql/isql.epp +Simplified code and attempted a second-time solution for CORE-4259. + + 2014-12-18 16:54 alexpeshkoff + M examples/interfaces/01.create.cpp + M examples/interfaces/02.update.cpp + M examples/interfaces/03.select.cpp + M examples/interfaces/04.print_table.cpp + A examples/interfaces/ifaceExamples.h + M src/include/firebird/FirebirdInterface.idl + M src/include/firebird/IdlFbInterfaces.h + M src/include/firebird/Interface.h + M src/include/firebird/Message.h + M src/include/firebird/UdrEngine.h + M src/yvalve/DistributedTransaction.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/PluginManager.cpp + M src/yvalve/why.cpp +Changed struct DtcStart to interface. Make external programs build again with minimum changes. + + 2014-12-18 16:23 alexpeshkoff + M src/common/classes/SafeArg.h + M src/common/classes/array.h + M src/common/classes/fb_string.h + M src/common/classes/objects_array.h + M src/common/classes/stack.h + M src/common/classes/vector.h +getCount() in FB classes never throws exceptions + + 2014-12-18 16:20 alexpeshkoff + M builds/posix/prefix.linux_amd64 +Avoid annoying warning in remote.h + + 2014-12-18 10:58 hvlad + M src/auth/trusted/AuthSspi.cpp +Patch for mingw by Alexey Pavlov : Don't use hack for mingw-w64 + + 2014-12-18 10:56 hvlad + M src/common/common.h +Patch for mingw by Alexey Pavlov : Mingw also have posix threads library so to resolve conflict we need guard using posix threads for Windows. + + 2014-12-18 10:48 hvlad + M src/common/classes/locks.cpp + M src/common/os/win32/guid.cpp +Patch for mingw by Alexey Pavlov : Mingw compilers don't support Win98 + + 2014-12-18 10:38 hvlad + M src/common/classes/locks.cpp + M src/common/classes/locks.h +Patch for mingw by Alexey Pavlov : Fix using function pointer + + 2014-12-18 10:20 alexpeshkoff + M src/yvalve/gds.cpp + M src/yvalve/gds_proto.h +Patch from Alexey - marked unused function as NOT_USED_OR_REPLACED + + 2014-12-18 07:24 hvlad + M src/common/os/os_utils.h + M src/common/os/win32/os_utils.cpp + M src/remote/inet.cpp + M src/remote/remote.h +Fix Windows build + 2014-12-17 14:31 alexpeshkoff M configure.ac M src/burp/burp.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-18 20:39:12 UTC (rev 60392) +++ firebird/trunk/src/jrd/build_no.h 2014-12-19 00:15:32 UTC (rev 60393) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31488 + FORMAL BUILD NUMBER:31498 */ -#define PRODUCT_VER_STRING "3.0.0.31488" -#define FILE_VER_STRING "WI-T3.0.0.31488" -#define LICENSE_VER_STRING "WI-T3.0.0.31488" -#define FILE_VER_NUMBER 3, 0, 0, 31488 +#define PRODUCT_VER_STRING "3.0.0.31498" +#define FILE_VER_STRING "WI-T3.0.0.31498" +#define LICENSE_VER_STRING "WI-T3.0.0.31498" +#define FILE_VER_NUMBER 3, 0, 0, 31498 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31488" +#define FB_BUILD_NO "31498" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-18 20:39:12 UTC (rev 60392) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-19 00:15:32 UTC (rev 60393) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31488 +BuildNum=31498 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2014-12-19 15:24:57
|
Revision: 60397 http://sourceforge.net/p/firebird/code/60397 Author: asfernandes Date: 2014-12-19 15:24:44 +0000 (Fri, 19 Dec 2014) Log Message: ----------- Generate interfaces with I-prefix. Modified Paths: -------------- firebird/trunk/examples/dbcrypt/CryptApplication.cpp firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp firebird/trunk/examples/dbcrypt/DbCrypt.cpp firebird/trunk/examples/interfaces/ifaceExamples.h firebird/trunk/src/auth/AuthDbg.h firebird/trunk/src/auth/SecureRemotePassword/client/SrpClient.cpp firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp firebird/trunk/src/auth/SecurityDatabase/LegacyClient.h firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.h firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp firebird/trunk/src/auth/trusted/AuthSspi.h firebird/trunk/src/common/Auth.h firebird/trunk/src/common/MsgMetadata.h firebird/trunk/src/common/StatusHolder.h firebird/trunk/src/common/classes/ImplementHelper.h firebird/trunk/src/common/config/config.h firebird/trunk/src/common/isc_sync.cpp firebird/trunk/src/common/security.h firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp firebird/trunk/src/include/firebird/IdlFbInterfaces.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/Message.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/include/gen/ids.h firebird/trunk/src/isql/show.epp firebird/trunk/src/jrd/Database.h firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/UserManagement.cpp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/trace/TraceConfigStorage.h firebird/trunk/src/jrd/trace/TraceObjects.cpp firebird/trunk/src/jrd/trace/TraceObjects.h firebird/trunk/src/plugins/crypt/arc4/Arc4.cpp firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/utilities/gsec/gsec.cpp firebird/trunk/src/utilities/ntrace/PluginLogWriter.h firebird/trunk/src/utilities/ntrace/TracePluginImpl.h firebird/trunk/src/utilities/ntrace/traceplugin.cpp firebird/trunk/src/yvalve/DistributedTransaction.cpp firebird/trunk/src/yvalve/MasterImplementation.cpp firebird/trunk/src/yvalve/MasterImplementation.h firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/PluginManager.h firebird/trunk/src/yvalve/YObjects.h firebird/trunk/src/yvalve/utl.cpp firebird/trunk/src/yvalve/why.cpp Modified: firebird/trunk/examples/dbcrypt/CryptApplication.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptApplication.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/examples/dbcrypt/CryptApplication.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -34,7 +34,7 @@ using namespace Firebird; -class CryptKey : public Api::CryptKeyCallbackImpl<CryptKey> +class CryptKey : public Api::ICryptKeyCallbackImpl<CryptKey> { public: unsigned int callback(unsigned int, const void*, unsigned int length, void* buffer) Modified: firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -44,7 +44,7 @@ IMaster* master = NULL; IPluginManager* pluginManager = NULL; -class PluginModule : public Api::PluginModuleImpl<PluginModule> +class PluginModule : public Api::IPluginModuleImpl<PluginModule> { public: PluginModule() @@ -82,7 +82,7 @@ PluginModule module; -class CryptKeyHolder : public Api::KeyHolderPluginImpl<CryptKeyHolder> +class CryptKeyHolder : public Api::IKeyHolderPluginImpl<CryptKeyHolder> { public: explicit CryptKeyHolder(IPluginConfig* cnf) throw() @@ -136,7 +136,7 @@ } private: - class CallbackInterface : public Api::CryptKeyCallbackImpl<CallbackInterface> + class CallbackInterface : public Api::ICryptKeyCallbackImpl<CallbackInterface> { public: explicit CallbackInterface(CryptKeyHolder* p) @@ -235,7 +235,7 @@ return &callbackInterface; } -class Factory : public Api::PluginFactoryImpl<Factory> +class Factory : public Api::IPluginFactoryImpl<Factory> { public: IPluginModule* getModule() Modified: firebird/trunk/examples/dbcrypt/DbCrypt.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -41,7 +41,7 @@ IMaster* master = NULL; IPluginManager* pluginManager = NULL; -class PluginModule : public Api::PluginModuleImpl<PluginModule> +class PluginModule : public Api::IPluginModuleImpl<PluginModule> { public: PluginModule() @@ -79,7 +79,7 @@ PluginModule module; -class DbCrypt : public Api::DbCryptPluginImpl<DbCrypt> +class DbCrypt : public Api::IDbCryptPluginImpl<DbCrypt> { public: explicit DbCrypt(IPluginConfig* cnf) throw() @@ -243,7 +243,7 @@ noKeyError(status); } -class Factory : public Api::PluginFactoryImpl<Factory> +class Factory : public Api::IPluginFactoryImpl<Factory> { public: IPluginModule* getModule() Modified: firebird/trunk/examples/interfaces/ifaceExamples.h =================================================================== --- firebird/trunk/examples/interfaces/ifaceExamples.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/examples/interfaces/ifaceExamples.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -34,7 +34,7 @@ using namespace Firebird; typedef FirebirdApi<class ExamplesPolicy> Api; -FB_USE_API(Api, I) +FB_USE_API(Api) // Dummy policy - to be enhanced class ExamplesPolicy @@ -43,9 +43,9 @@ template <unsigned V, typename T> static inline bool checkVersion(T* versioned, IStatus* status) { return true; } - static void checkException(Api::Status*) { } - static void catchException(Api::Status*) { } - typedef Api::Status* Status; + static void checkException(Api::IStatus*) { } + static void catchException(Api::IStatus*) { } + typedef Api::IStatus* IStatus; }; Modified: firebird/trunk/src/auth/AuthDbg.h =================================================================== --- firebird/trunk/src/auth/AuthDbg.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/AuthDbg.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -46,7 +46,7 @@ // The idea of debug plugin is to send some data from server to client, // modify them on client and return result (which becomes login name) to the server -class DebugServer FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ServerImpl<DebugServer> > +class DebugServer FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IServerImpl<DebugServer> > { public: explicit DebugServer(Firebird::IPluginConfig*); @@ -60,7 +60,7 @@ Firebird::RefPtr<Firebird::IConfig> config; }; -class DebugClient FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ClientImpl<DebugClient> > +class DebugClient FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IClientImpl<DebugClient> > { public: DebugClient(Firebird::IPluginConfig*); Modified: firebird/trunk/src/auth/SecureRemotePassword/client/SrpClient.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/client/SrpClient.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecureRemotePassword/client/SrpClient.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -34,7 +34,7 @@ namespace Auth { -class SrpClient FB_FINAL : public StdPlugin<Api::ClientImpl<SrpClient> > +class SrpClient FB_FINAL : public StdPlugin<Api::IClientImpl<SrpClient> > { public: explicit SrpClient(IPluginConfig*) Modified: firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -60,7 +60,7 @@ namespace Auth { -class SrpManagement FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ManagementImpl<SrpManagement> > +class SrpManagement FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IManagementImpl<SrpManagement> > { public: explicit SrpManagement(Firebird::IPluginConfig* par) Modified: firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -48,7 +48,7 @@ namespace Auth { -class SrpServer FB_FINAL : public StdPlugin<Api::ServerImpl<SrpServer> > +class SrpServer FB_FINAL : public StdPlugin<Api::IServerImpl<SrpServer> > { public: explicit SrpServer(IPluginConfig* par) Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyClient.h =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyClient.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyClient.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -35,7 +35,7 @@ // Required to stop analyzing rest of plugins before first roundtrip to server // if legacy login is present in DPB -class SecurityDatabaseClient FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ClientImpl<SecurityDatabaseClient> > +class SecurityDatabaseClient FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IClientImpl<SecurityDatabaseClient> > { public: explicit SecurityDatabaseClient(Firebird::IPluginConfig*) Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.h =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -33,7 +33,7 @@ namespace Auth { -class SecurityDatabaseManagement FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ManagementImpl<SecurityDatabaseManagement> > +class SecurityDatabaseManagement FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IManagementImpl<SecurityDatabaseManagement> > { public: explicit SecurityDatabaseManagement(Firebird::IPluginConfig* par); Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -123,7 +123,7 @@ namespace Auth { -class SecurityDatabaseServer FB_FINAL : public Firebird::StdPlugin<Firebird::Api::ServerImpl<SecurityDatabaseServer> > +class SecurityDatabaseServer FB_FINAL : public Firebird::StdPlugin<Firebird::Api::IServerImpl<SecurityDatabaseServer> > { public: explicit SecurityDatabaseServer(Firebird::IPluginConfig* p) @@ -138,7 +138,7 @@ Firebird::RefPtr<Firebird::IPluginConfig> iParameter; }; -class SecurityDatabase FB_FINAL : public Firebird::RefCntIface<Firebird::Api::TimerImpl<SecurityDatabase> > +class SecurityDatabase FB_FINAL : public Firebird::RefCntIface<Firebird::Api::ITimerImpl<SecurityDatabase> > { public: int verify(IWriter* authBlock, IServerBlock* sBlock); Modified: firebird/trunk/src/auth/trusted/AuthSspi.h =================================================================== --- firebird/trunk/src/auth/trusted/AuthSspi.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/auth/trusted/AuthSspi.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -100,7 +100,7 @@ bool getLogin(Firebird::string& login, bool& wh); }; -class WinSspiServer : public Firebird::StdPlugin<Firebird::Api::ServerImpl<WinSspiServer> > +class WinSspiServer : public Firebird::StdPlugin<Firebird::Api::IServerImpl<WinSspiServer> > { public: // IServer implementation @@ -114,7 +114,7 @@ AuthSspi sspi; }; -class WinSspiClient : public Firebird::StdPlugin<Firebird::Api::ClientImpl<WinSspiClient> > +class WinSspiClient : public Firebird::StdPlugin<Firebird::Api::IClientImpl<WinSspiClient> > { public: // IClient implementation Modified: firebird/trunk/src/common/Auth.h =================================================================== --- firebird/trunk/src/common/Auth.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/Auth.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -39,7 +39,7 @@ namespace Auth { -class WriterImplementation : public Firebird::AutoIface<Firebird::Api::WriterImpl<WriterImplementation> > +class WriterImplementation : public Firebird::AutoIface<Firebird::Api::IWriterImpl<WriterImplementation> > { public: WriterImplementation(); Modified: firebird/trunk/src/common/MsgMetadata.h =================================================================== --- firebird/trunk/src/common/MsgMetadata.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/MsgMetadata.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -38,7 +38,7 @@ class StatementMetadata; class MetadataFromBlr; -class MsgMetadata : public RefCntIface<Api::MessageMetadataImpl<MsgMetadata> > +class MsgMetadata : public RefCntIface<Api::IMessageMetadataImpl<MsgMetadata> > { friend class MetadataBuilder; friend class StatementMetadata; @@ -278,7 +278,7 @@ unsigned length; }; -//class AttMetadata : public Api::MessageMetadataBaseImpl<AttMetadata, MsgMetadata> +//class AttMetadata : public Api::IMessageMetadataBaseImpl<AttMetadata, MsgMetadata> class AttMetadata : public MsgMetadata { public: @@ -292,7 +292,7 @@ RefPtr<RefCounted> attachment; }; -class MetadataBuilder FB_FINAL : public RefCntIface<Api::MetadataBuilderImpl<MetadataBuilder> > +class MetadataBuilder FB_FINAL : public RefCntIface<Api::IMetadataBuilderImpl<MetadataBuilder> > { public: explicit MetadataBuilder(const MsgMetadata* from); Modified: firebird/trunk/src/common/StatusHolder.h =================================================================== --- firebird/trunk/src/common/StatusHolder.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/StatusHolder.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -37,7 +37,7 @@ namespace Firebird { template <class Final> -class BaseStatus : public Api::StatusImpl<Final> +class BaseStatus : public Api::IStatusImpl<Final> { public: // IStatus implementation Modified: firebird/trunk/src/common/classes/ImplementHelper.h =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/classes/ImplementHelper.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -135,7 +135,7 @@ // Trivial factory template <class P> -class SimpleFactoryBase : public AutoIface<Api::PluginFactoryImpl<SimpleFactoryBase<P> > > +class SimpleFactoryBase : public AutoIface<Api::IPluginFactoryImpl<SimpleFactoryBase<P> > > { public: IPluginBase* createPlugin(IStatus* status, IPluginConfig* factoryParameter) @@ -266,7 +266,7 @@ // when yvalve is starting fb_shutdown(). This causes almost unavoidable segfault. // To avoid it this class is added - it detects spontaneous (not by PluginManager) // module unload and notifies PluginManager about this said fact. -class UnloadDetectorHelper FB_FINAL : public VersionedIface<Api::PluginModuleImpl<UnloadDetectorHelper> > +class UnloadDetectorHelper FB_FINAL : public VersionedIface<Api::IPluginModuleImpl<UnloadDetectorHelper> > { public: typedef void VoidNoParam(); Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/config/config.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -339,7 +339,7 @@ }; // Implementation of interface to access master configuration file -class FirebirdConf FB_FINAL : public Firebird::RefCntIface<Firebird::Api::FirebirdConfImpl<FirebirdConf> > +class FirebirdConf FB_FINAL : public Firebird::RefCntIface<Firebird::Api::IFirebirdConfImpl<FirebirdConf> > { public: FirebirdConf(Config* existingConfig) Modified: firebird/trunk/src/common/isc_sync.cpp =================================================================== --- firebird/trunk/src/common/isc_sync.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/isc_sync.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -952,7 +952,7 @@ namespace { -class TimerEntry FB_FINAL : public Firebird::RefCntIface<Firebird::Api::TimerImpl<TimerEntry> > +class TimerEntry FB_FINAL : public Firebird::RefCntIface<Firebird::Api::ITimerImpl<TimerEntry> > { public: TimerEntry(int id, USHORT num) Modified: firebird/trunk/src/common/security.h =================================================================== --- firebird/trunk/src/common/security.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/common/security.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -31,7 +31,7 @@ namespace Auth { -class CharField : public Firebird::AutoIface<Firebird::Api::CharUserFieldImpl<CharField> > +class CharField : public Firebird::AutoIface<Firebird::Api::ICharUserFieldImpl<CharField> > { public: CharField() @@ -96,7 +96,7 @@ Firebird::string value; }; -class IntField : public Firebird::AutoIface<Firebird::Api::IntUserFieldImpl<IntField> > +class IntField : public Firebird::AutoIface<Firebird::Api::IIntUserFieldImpl<IntField> > { public: IntField() @@ -151,7 +151,7 @@ typedef Firebird::Array<UCHAR> AuthenticationBlock; -class UserData : public Firebird::VersionedIface<Firebird::Api::UserImpl<UserData> > +class UserData : public Firebird::VersionedIface<Firebird::Api::IUserImpl<UserData> > { public: UserData() Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp =================================================================== --- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2014-12-19 15:24:44 UTC (rev 60397) @@ -684,7 +684,7 @@ using namespace Firebird; -class DummyMasterImpl : public FirebirdApi<FirebirdPolicy>::MasterImpl<DummyMasterImpl> +class DummyMasterImpl : public FirebirdApi<FirebirdPolicy>::IMasterImpl<DummyMasterImpl> { public: // IMaster implementation (almost dummy, for boot build) Modified: firebird/trunk/src/include/firebird/IdlFbInterfaces.h =================================================================== --- firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-12-19 14:49:44 UTC (rev 60396) +++ firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-12-19 15:24:44 UTC (rev 60397) @@ -3,6 +3,8 @@ #ifndef IDL_FB_INTERFACES_H #define IDL_FB_INTERFACES_H +#include <stdint.h> + #ifndef CLOOP_CARG #define CLOOP_CARG #endif @@ -29,133 +31,133 @@ public: // Forward interfaces declarations - class Versioned; - class ReferenceCounted; - class Disposable; - class Status; - class Master; - class PluginBase; - class PluginSet; - class ConfigEntry; - class Config; - class FirebirdConf; - class PluginConfig; - class PluginFactory; - class PluginModule; - class PluginManager; - class ConfigManager; - class EventCallback; - class Blob; - class Transaction; - class MessageMetadata; - class MetadataBuilder; - class ResultSet; - class Statement; - class Request; - class Events; - class Attachment; - class Service; - class Provider; - class DtcStart; - class Dtc; - class Auth; - class Writer; - class ServerBlock; - class ClientBlock; - class Server; - class Client; - class UserField; - class CharUserField; - class IntUserField; - class User; - class ListUsers; - class LogonInfo; - class Management; - class WireCryptPlugin; - class CryptKeyCallback; - class KeyHolderPlugin; - class DbCryptPlugin; - class ExternalContext; - class ExternalResultSet; - class ExternalFunction; - class ExternalProcedure; - class ExternalTrigger; - class RoutineMetadata; - class ExternalEngine; - class Timer; - class TimerControl; - class VersionCallback; - class Utl; - class TraceConnection; - class TraceDatabaseConnection; - class TraceTransaction; - class TraceParams; - class TraceStatement; - class TraceSQLStatement; - class TraceBLRStatement; - class TraceDYNRequest; - class TraceContextVariable; - class TraceProcedure; - class TraceFunction; - class TraceTrigger; - class TraceServiceConnection; - class TraceStatusVector; - class TraceSweepInfo; - class TraceLogWriter; - class TraceInitInfo; - class TracePlugin; - class TraceFactory; + class IVersioned; + class IReferenceCounted; + class IDisposable; + class IStatus; + class IMaster; + class IPluginBase; + class IPluginSet; + class IConfigEntry; + class IConfig; + class IFirebirdConf; + class IPluginConfig; + class IPluginFactory; + class IPluginModule; + class IPluginManager; + class IConfigManager; + class IEventCallback; + class IBlob; + class ITransaction; + class IMessageMetadata; + class IMetadataBuilder; + class IResultSet; + class IStatement; + class IRequest; + class IEvents; + class IAttachment; + class IService; + class IProvider; + class IDtcStart; + class IDtc; + class IAuth; + class IWriter; + class IServerBlock; + class IClientBlock; + class IServer; + class IClient; + class IUserField; + class ICharUserField; + class IIntUserField; + class IUser; + class IListUsers; + class ILogonInfo; + class IManagement; + class IWireCryptPlugin; + class ICryptKeyCallback; + class IKeyHolderPlugin; + class IDbCryptPlugin; + class IExternalContext; + class IExternalResultSet; + class IExternalFunction; + class IExternalProcedure; + class IExternalTrigger; + class IRoutineMetadata; + class IExternalEngine; + class ITimer; + class ITimerControl; + class IVersionCallback; + class IUtl; + class ITraceConnection; + class ITraceDatabaseConnection; + class ITraceTransaction; + class ITraceParams; + class ITraceStatement; + class ITraceSQLStatement; + class ITraceBLRStatement; + class ITraceDYNRequest; + class ITraceContextVariable; + class ITraceProcedure; + class ITraceFunction; + class ITraceTrigger; + class ITraceServiceConnection; + class ITraceStatusVector; + class ITraceSweepInfo; + class ITraceLogWriter; + class ITraceInitInfo; + class ITracePlugin; + class ITraceFactory; // Interfaces declarations - class Versioned + class IVersioned { public: struct VTable { void* cloopDummy[1]; uintptr_t version; - PluginModule* (CLOOP_CARG *getModule)(Versioned* self) throw(); + IPluginModule* (CLOOP_CARG *getModule)(IVersioned* self) throw(); }; void* cloopDummy[1]; VTable* cloopVTable; protected: - Versioned(DoNotInherit) + IVersioned(DoNotInherit) { } - ~Versioned() + ~IVersioned() { } public: static const unsigned VERSION = 1; - PluginModule* getModule() + IPluginModule* getModule() { - PluginModule* ret = static_cast<VTable*>(this->cloopVTable)->getModule(this); + IPluginModule* ret = static_cast<VTable*>(this->cloopVTable)->getModule(this); return ret; } }; - class ReferenceCounted : public Versioned + class IReferenceCounted : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - void (CLOOP_CARG *addRef)(ReferenceCounted* self) throw(); - int (CLOOP_CARG *release)(ReferenceCounted* self) throw(); + void (CLOOP_CARG *addRef)(IReferenceCounted* self) throw(); + int (CLOOP_CARG *release)(IReferenceCounted* self) throw(); }; protected: - ReferenceCounted(DoNotInherit) - : Versioned(DoNotInherit()) + IReferenceCounted(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~ReferenceCounted() + ~IReferenceCounted() { } @@ -174,21 +176,21 @@ } }; - class Disposable : public Versioned + class IDisposable : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - void (CLOOP_CARG *dispose)(Disposable* self) throw(); + void (CLOOP_CARG *dispose)(IDisposable* self) throw(); }; protected: - Disposable(DoNotInherit) - : Versioned(DoNotInherit()) + IDisposable(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~Disposable() + ~IDisposable() { } @@ -201,28 +203,28 @@ } }; - class Status : public Disposable + class IStatus : public IDisposable { public: - struct VTable : public Disposable::VTable + struct VTable : public IDisposable::VTable { - void (CLOOP_CARG *init)(Status* self) throw(); - unsigned (CLOOP_CARG *getStatus)(const Status* self) throw(); - void (CLOOP_CARG *setErrors2)(Status* self, unsigned length, const intptr_t* value) throw(); - void (CLOOP_CARG *setWarnings2)(Status* self, unsigned length, const intptr_t* value) throw(); - void (CLOOP_CARG *setErrors)(Status* self, const intptr_t* value) throw(); - void (CLOOP_CARG *setWarnings)(Status* self, const intptr_t* value) throw(); - const intptr_t* (CLOOP_CARG *getErrors)(const Status* self) throw(); - const intptr_t* (CLOOP_CARG *getWarnings)(const Status* self) throw(); + void (CLOOP_CARG *init)(IStatus* self) throw(); + unsigned (CLOOP_CARG *getStatus)(const IStatus* self) throw(); + void (CLOOP_CARG *setErrors2)(IStatus* self, unsigned length, const intptr_t* value) throw(); + void (CLOOP_CARG *setWarnings2)(IStatus* self, unsigned length, const intptr_t* value) throw(); + void (CLOOP_CARG *setErrors)(IStatus* self, const intptr_t* value) throw(); + void (CLOOP_CARG *setWarnings)(IStatus* self, const intptr_t* value) throw(); + const intptr_t* (CLOOP_CARG *getErrors)(const IStatus* self) throw(); + const intptr_t* (CLOOP_CARG *getWarnings)(const IStatus* self) throw(); }; protected: - Status(DoNotInherit) - : Disposable(DoNotInherit()) + IStatus(DoNotInherit) + : IDisposable(DoNotInherit()) { } - ~Status() + ~IStatus() { } @@ -280,54 +282,54 @@ } }; - class Master : public Versioned + class IMaster : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - Status* (CLOOP_CARG *getStatus)(Master* self) throw(); - Provider* (CLOOP_CARG *getDispatcher)(Master* self) throw(); - PluginManager* (CLOOP_CARG *getPluginManager)(Master* self) throw(); - const char* (CLOOP_CARG *circularAlloc)(Master* self, const char* s, unsigned len, intptr_t thr) throw(); - TimerControl* (CLOOP_CARG *getTimerControl)(Master* self) throw(); - Dtc* (CLOOP_CARG *getDtc)(Master* self) throw(); - Attachment* (CLOOP_CARG *registerAttachment)(Master* self, Provider* provider, Attachment* attachment) throw(); - Transaction* (CLOOP_CARG *registerTransaction)(Master* self, Attachment* attachment, Transaction* transaction) throw(); - int (CLOOP_CARG *same)(Master* self, Versioned* first, Versioned* second) throw(); - MetadataBuilder* (CLOOP_CARG *getMetadataBuilder)(Master* self, Status* status, unsigned fieldCount) throw(); - int (CLOOP_CARG *serverMode)(Master* self, int mode) throw(); - Utl* (CLOOP_CARG *getUtlInterface)(Master* self) throw(); - ConfigManager* (CLOOP_CARG *getConfigManager)(Master* self) throw(); + IStatus* (CLOOP_CARG *getStatus)(IMaster* self) throw(); + IProvider* (CLOOP_CARG *getDispatcher)(IMaster* self) throw(); + IPluginManager* (CLOOP_CARG *getPluginManager)(IMaster* self) throw(); + const char* (CLOOP_CARG *circularAlloc)(IMaster* self, const char* s, unsigned len, intptr_t thr) throw(); + ITimerControl* (CLOOP_CARG *getTimerControl)(IMaster* self) throw(); + IDtc* (CLOOP_CARG *getDtc)(IMaster* self) throw(); + IAttachment* (CLOOP_CARG *registerAttachment)(IMaster* self, IProvider* provider, IAttachment* attachment) throw(); + ITransaction* (CLOOP_CARG *registerTransaction)(IMaster* self, IAttachment* attachment, ITransaction* transaction) throw(); + int (CLOOP_CARG *same)(IMaster* self, IVersioned* first, IVersioned* second) throw(); + IMetadataBuilder* (CLOOP_CARG *getMetadataBuilder)(IMaster* self, IStatus* status, unsigned fieldCount) throw(); + int (CLOOP_CARG *serverMode)(IMaster* self, int mode) throw(); + IUtl* (CLOOP_CARG *getUtlInterface)(IMaster* self) throw(); + IConfigManager* (CLOOP_CARG *getConfigManager)(IMaster* self) throw(); }; protected: - Master(DoNotInherit) - : Versioned(DoNotInherit()) + IMaster(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~Master() + ~IMaster() { } public: static const unsigned VERSION = 2; - Status* getStatus() + IStatus* getStatus() { - Status* ret = static_cast<VTable*>(this->cloopVTable)->getStatus(this); + IStatus* ret = static_cast<VTable*>(this->cloopVTable)->getStatus(this); return ret; } - Provider* getDispatcher() + IProvider* getDispatcher() { - Provider* ret = static_cast<VTable*>(this->cloopVTable)->getDispatcher(this); + IProvider* ret = static_cast<VTable*>(this->cloopVTable)->getDispatcher(this); return ret; } - PluginManager* getPluginManager() + IPluginManager* getPluginManager() { - PluginManager* ret = static_cast<VTable*>(this->cloopVTable)->getPluginManager(this); + IPluginManager* ret = static_cast<VTable*>(this->cloopVTable)->getPluginManager(this); return ret; } @@ -337,40 +339,40 @@ return ret; } - TimerControl* getTimerControl() + ITimerControl* getTimerControl() { - TimerControl* ret = static_cast<VTable*>(this->cloopVTable)->getTimerControl(this); + ITimerControl* ret = static_cast<VTable*>(this->cloopVTable)->getTimerControl(this); return ret; } - Dtc* getDtc() + IDtc* getDtc() { - Dtc* ret = static_cast<VTable*>(this->cloopVTable)->getDtc(this); + IDtc* ret = static_cast<VTable*>(this->cloopVTable)->getDtc(this); return ret; } - Attachment* registerAttachment(Provider* provider, Attachment* attachment) + IAttachment* registerAttachment(IProvider* provider, IAttachment* attachment) { - Attachment* ret = static_cast<VTable*>(this->cloopVTable)->registerAttachment(this, provider, attachment); + IAttachment* ret = static_cast<VTable*>(this->cloopVTable)->registerAttachment(this, provider, attachment); return ret; } - Transaction* registerTransaction(Attachment* attachment, Transaction* transaction) + ITransaction* registerTransaction(IAttachment* attachment, ITransaction* transaction) { - Transaction* ret = static_cast<VTable*>(this->cloopVTable)->registerTransaction(this, attachment, transaction); + ITransaction* ret = static_cast<VTable*>(this->cloopVTable)->registerTransaction(this, attachment, transaction); return ret; } - int same(Versioned* first, Versioned* second) + int same(IVersioned* first, IVersioned* second) { int ret = static_cast<VTable*>(this->cloopVTable)->same(this, first, second); return ret; } - MetadataBuilder* getMetadataBuilder(Status* status, unsigned fieldCount) + IMetadataBuilder* getMetadataBuilder(IStatus* status, unsigned fieldCount) { - typename Policy::Status status2(status); - MetadataBuilder* ret = static_cast<VTable*>(this->cloopVTable)->getMetadataBuilder(this, status2, fieldCount); + typename Policy::IStatus status2(status); + IMetadataBuilder* ret = static_cast<VTable*>(this->cloopVTable)->getMetadataBuilder(this, status2, fieldCount); Policy::checkException(status2); return ret; } @@ -381,72 +383,72 @@ return ret; } - Utl* getUtlInterface() + IUtl* getUtlInterface() { - Utl* ret = static_cast<VTable*>(this->cloopVTable)->getUtlInterface(this); + IUtl* ret = static_cast<VTable*>(this->cloopVTable)->getUtlInterface(this); return ret; } - ConfigManager* getConfigManager() + IConfigManager* getConfigManager() { - ConfigManager* ret = static_cast<VTable*>(this->cloopVTable)->getConfigManager(this); + IConfigManager* ret = static_cast<VTable*>(this->cloopVTable)->getConfigManager(this); return ret; } }; - class PluginBase : public ReferenceCounted + class IPluginBase : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - void (CLOOP_CARG *setOwner)(PluginBase* self, ReferenceCounted* r) throw(); - ReferenceCounted* (CLOOP_CARG *getOwner)(PluginBase* self) throw(); + void (CLOOP_CARG *setOwner)(IPluginBase* self, IReferenceCounted* r) throw(); + IReferenceCounted* (CLOOP_CARG *getOwner)(IPluginBase* self) throw(); }; protected: - PluginBase(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IPluginBase(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~PluginBase() + ~IPluginBase() { } public: static const unsigned VERSION = 3; - void setOwner(ReferenceCounted* r) + void setOwner(IReferenceCounted* r) { static_cast<VTable*>(this->cloopVTable)->setOwner(this, r); } - ReferenceCounted* getOwner() + IReferenceCounted* getOwner() { - ReferenceCounted* ret = static_cast<VTable*>(this->cloopVTable)->getOwner(this); + IReferenceCounted* ret = static_cast<VTable*>(this->cloopVTable)->getOwner(this); return ret; } }; - class PluginSet : public ReferenceCounted + class IPluginSet : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - const char* (CLOOP_CARG *getName)(const PluginSet* self) throw(); - const char* (CLOOP_CARG *getModuleName)(const PluginSet* self) throw(); - PluginBase* (CLOOP_CARG *getPlugin)(PluginSet* self, Status* status) throw(); - void (CLOOP_CARG *next)(PluginSet* self, Status* status) throw(); - void (CLOOP_CARG *set)(PluginSet* self, Status* status, const char* s) throw(); + const char* (CLOOP_CARG *getName)(const IPluginSet* self) throw(); + const char* (CLOOP_CARG *getModuleName)(const IPluginSet* self) throw(); + IPluginBase* (CLOOP_CARG *getPlugin)(IPluginSet* self, IStatus* status) throw(); + void (CLOOP_CARG *next)(IPluginSet* self, IStatus* status) throw(); + void (CLOOP_CARG *set)(IPluginSet* self, IStatus* status, const char* s) throw(); }; protected: - PluginSet(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IPluginSet(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~PluginSet() + ~IPluginSet() { } @@ -465,48 +467,48 @@ return ret; } - PluginBase* getPlugin(Status* status) + IPluginBase* getPlugin(IStatus* status) { - typename Policy::Status status2(status); - PluginBase* ret = static_cast<VTable*>(this->cloopVTable)->getPlugin(this, status2); + typename Policy::IStatus status2(status); + IPluginBase* ret = static_cast<VTable*>(this->cloopVTable)->getPlugin(this, status2); Policy::checkException(status2); return ret; } - void next(Status* status) + void next(IStatus* status) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->next(this, status2); Policy::checkException(status2); } - void set(Status* status, const char* s) + void set(IStatus* status, const char* s) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->set(this, status2, s); Policy::checkException(status2); } }; - class ConfigEntry : public ReferenceCounted + class IConfigEntry : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - const char* (CLOOP_CARG *getName)(ConfigEntry* self) throw(); - const char* (CLOOP_CARG *getValue)(ConfigEntry* self) throw(); - ISC_INT64 (CLOOP_CARG *getIntValue)(ConfigEntry* self) throw(); - FB_BOOLEAN (CLOOP_CARG *getBoolValue)(ConfigEntry* self) throw(); - Config* (CLOOP_CARG *getSubConfig)(ConfigEntry* self, Status* status) throw(); + const char* (CLOOP_CARG *getName)(IConfigEntry* self) throw(); + const char* (CLOOP_CARG *getValue)(IConfigEntry* self) throw(); + ISC_INT64 (CLOOP_CARG *getIntValue)(IConfigEntry* self) throw(); + FB_BOOLEAN (CLOOP_CARG *getBoolValue)(IConfigEntry* self) throw(); + IConfig* (CLOOP_CARG *getSubConfig)(IConfigEntry* self, IStatus* status) throw(); }; protected: - ConfigEntry(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IConfigEntry(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~ConfigEntry() + ~IConfigEntry() { } @@ -537,81 +539,81 @@ return ret; } - Config* getSubConfig(Status* status) + IConfig* getSubConfig(IStatus* status) { - typename Policy::Status status2(status); - Config* ret = static_cast<VTable*>(this->cloopVTable)->getSubConfig(this, status2); + typename Policy::IStatus status2(status); + IConfig* ret = static_cast<VTable*>(this->cloopVTable)->getSubConfig(this, status2); Policy::checkException(status2); return ret; } }; - class Config : public ReferenceCounted + class IConfig : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - ConfigEntry* (CLOOP_CARG *find)(Config* self, Status* status, const char* name) throw(); - ConfigEntry* (CLOOP_CARG *findValue)(Config* self, Status* status, const char* name, const char* value) throw(); - ConfigEntry* (CLOOP_CARG *findPos)(Config* self, Status* status, const char* name, unsigned pos) throw(); + IConfigEntry* (CLOOP_CARG *find)(IConfig* self, IStatus* status, const char* name) throw(); + IConfigEntry* (CLOOP_CARG *findValue)(IConfig* self, IStatus* status, const char* name, const char* value) throw(); + IConfigEntry* (CLOOP_CARG *findPos)(IConfig* self, IStatus* status, const char* name, unsigned pos) throw(); }; protected: - Config(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IConfig(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~Config() + ~IConfig() { } public: static const unsigned VERSION = 3; - ConfigEntry* find(Status* status, const char* name) + IConfigEntry* find(IStatus* status, const char* name) { - typename Policy::Status status2(status); - ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->find(this, status2, name); + typename Policy::IStatus status2(status); + IConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->find(this, status2, name); Policy::checkException(status2); return ret; } - ConfigEntry* findValue(Status* status, const char* name, const char* value) + IConfigEntry* findValue(IStatus* status, const char* name, const char* value) { - typename Policy::Status status2(status); - ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findValue(this, status2, name, value); + typename Policy::IStatus status2(status); + IConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findValue(this, status2, name, value); Policy::checkException(status2); return ret; } - ConfigEntry* findPos(Status* status, const char* name, unsigned pos) + IConfigEntry* findPos(IStatus* status, const char* name, unsigned pos) { - typename Policy::Status status2(status); - ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findPos(this, status2, name, pos); + typename Policy::IStatus status2(status); + IConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findPos(this, status2, name, pos); Policy::checkException(status2); return ret; } }; - class FirebirdConf : public ReferenceCounted + class IFirebirdConf : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - unsigned (CLOOP_CARG *getKey)(FirebirdConf* self, const char* name) throw(); - ISC_INT64 (CLOOP_CARG *asInteger)(FirebirdConf* self, unsigned key) throw(); - const char* (CLOOP_CARG *asString)(FirebirdConf* self, unsigned key) throw(); - FB_BOOLEAN (CLOOP_CARG *asBoolean)(FirebirdConf* self, unsigned key) throw(); + unsigned (CLOOP_CARG *getKey)(IFirebirdConf* self, const char* name) throw(); + ISC_INT64 (CLOOP_CARG *asInteger)(IFirebirdConf* self, unsigned key) throw(); + const char* (CLOOP_CARG *asString)(IFirebirdConf* self, unsigned key) throw(); + FB_BOOLEAN (CLOOP_CARG *asBoolean)(IFirebirdConf* self, unsigned key) throw(); }; protected: - FirebirdConf(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IFirebirdConf(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~FirebirdConf() + ~IFirebirdConf() { } @@ -643,24 +645,24 @@ } }; - class PluginConfig : public ReferenceCounted + class IPluginConfig : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - const char* (CLOOP_CARG *getConfigFileName)(PluginConfig* self) throw(); - Config* (CLOOP_CARG *getDefaultConfig)(PluginConfig* self, Status* status) throw(); - FirebirdConf* (CLOOP_CARG *getFirebirdConf)(PluginConfig* self, Status* status) throw(); - void (CLOOP_CARG *setReleaseDelay)(PluginConfig* self, Status* status, ISC_UINT64 microSeconds) throw(); + const char* (CLOOP_CARG *getConfigFileName)(IPluginConfig* self) throw(); + IConfig* (CLOOP_CARG *getDefaultConfig)(IPluginConfig* self, IStatus* status) throw(); + IFirebirdConf* (CLOOP_CARG *getFirebirdConf)(IPluginConfig* self, IStatus* status) throw(); + void (CLOOP_CARG *setReleaseDelay)(IPluginConfig* self, IStatus* status, ISC_UINT64 microSeconds) throw(); }; protected: - PluginConfig(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IPluginConfig(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~PluginConfig() + ~IPluginConfig() { } @@ -673,75 +675,75 @@ return ret; } - Config* getDefaultConfig(Status* status) + IConfig* getDefaultConfig(IStatus* status) { - typename Policy::Status status2(status); - Config* ret = static_cast<VTable*>(this->cloopVTable)->getDefaultConfig(this, status2); + typename Policy::IStatus status2(status); + IConfig* ret = static_cast<VTable*>(this->cloopVTable)->getDefaultConfig(this, status2); Policy::checkException(status2); return ret; } - FirebirdConf* getFirebirdConf(Status* status) + IFirebirdConf* getFirebirdConf(IStatus* status) { - typename Policy::Status status2(status); - FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this, status2); + typename Policy::IStatus status2(status); + IFirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this, status2); Policy::checkException(status2); return ret; } - void setReleaseDelay(Status* status, ISC_UINT64 microSeconds) + void setReleaseDelay(IStatus* status, ISC_UINT64 microSeconds) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->setReleaseDelay(this, status2, microSeconds); Policy::checkException(status2); } }; - class PluginFactory : public Versioned + class IPluginFactory : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - PluginBase* (CLOOP_CARG *createPlugin)(PluginFactory* self, Status* status, PluginConfig* factoryParameter) throw(); + IPluginBase* (CLOOP_CARG *createPlugin)(IPluginFactory* self, IStatus* status, IPluginConfig* factoryParameter) throw(); }; protected: - PluginFactory(DoNotInherit) - : Versioned(DoNotInherit()) + IPluginFactory(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~PluginFactory() + ~IPluginFactory() { } public: static const unsigned VERSION = 2; - PluginBase* createPlugin(Status* status, PluginConfig* factoryParameter) + IPluginBase* createPlugin(IStatus* status, IPluginConfig* factoryParameter) { - typename Policy::Status status2(status); - PluginBase* ret = static_cast<VTable*>(this->cloopVTable)->createPlugin(this, status2, factoryParameter); + typename Policy::IStatus status2(status); + IPluginBase* ret = static_cast<VTable*>(this->cloopVTable)->createPlugin(this, status2, factoryParameter); Policy::checkException(status2); return ret; } }; - class PluginModule : public Versioned + class IPluginModule : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - void (CLOOP_CARG *doClean)(PluginModule* self) throw(); + void (CLOOP_CARG *doClean)(IPluginModule* self) throw(); }; protected: - PluginModule(DoNotInherit) - : Versioned(DoNotInherit()) + IPluginModule(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~PluginModule() + ~IPluginModule() { } @@ -754,26 +756,26 @@ } }; - class PluginManager : public Versioned + class IPluginManager : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - void (CLOOP_CARG *registerPluginFactory)(PluginManager* self, unsigned pluginType, const char* defaultName, PluginFactory* factory) throw(); - void (CLOOP_CARG *registerModule)(PluginManager* self, PluginModule* cleanup) throw(); - void (CLOOP_CARG *unregisterModule)(PluginManager* self, PluginModule* cleanup) throw(); - PluginSet* (CLOOP_CARG *getPlugins)(PluginManager* self, Status* status, unsigned pluginType, const char* namesList, FirebirdConf* firebirdConf) throw(); - Config* (CLOOP_CARG *getConfig)(PluginManager* self, Status* status, const char* filename) throw(); - void (CLOOP_CARG *releasePlugin)(PluginManager* self, PluginBase* plugin) throw(); + void (CLOOP_CARG *registerPluginFactory)(IPluginManager* self, unsigned pluginType, const char* defaultName, IPluginFactory* factory) throw(); + void (CLOOP_CARG *registerModule)(IPluginManager* self, IPluginModule* cleanup) throw(); + void (CLOOP_CARG *unregisterModule)(IPluginManager* self, IPluginModule* cleanup) throw(); + IPluginSet* (CLOOP_CARG *getPlugins)(IPluginManager* self, IStatus* status, unsigned pluginType, const char* namesList, IFirebirdConf* firebirdConf) throw(); + IConfig* (CLOOP_CARG *getConfig)(IPluginManager* self, IStatus* status, const char* filename) throw(); + void (CLOOP_CARG *releasePlugin)(IPluginManager* self, IPluginBase* plugin) throw(); }; protected: - PluginManager(DoNotInherit) - : Versioned(DoNotInherit()) + IPluginManager(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~PluginManager() + ~IPluginManager() { } @@ -792,63 +794,63 @@ static const unsigned KeyHolder = 10; static const unsigned MaxType = 11; - void registerPluginFactory(unsigned pluginType, const char* defaultName, PluginFactory* factory) + void registerPluginFactory(unsigned pluginType, const char* defaultName, IPluginFactory* factory) { static_cast<VTable*>(this->cloopVTable)->registerPluginFactory(this, pluginType, defaultName, factory); } - void registerModule(PluginModule* cleanup) + void registerModule(IPluginModule* cleanup) { static_cast<VTable*>(this->cloopVTable)->registerModule(this, cleanup); } - void unregisterModule(PluginModule* cleanup) + void unregisterModule(IPluginModule* cleanup) { static_cast<VTable*>(this->cloopVTable)->unregisterModule(this, cleanup); } - PluginSet* getPlugins(Status* status, unsigned pluginType, const char* namesList, FirebirdConf* firebirdConf) + IPluginSet* getPlugins(IStatus* status, unsigned pluginType, const char* namesList, IFirebirdConf* firebirdConf) { - typename Policy::Status status2(status); - PluginSet* ret = static_cast<VTable*>(this->cloopVTable)->getPlugins(this, status2, pluginType, namesList, firebirdConf); + typename Policy::IStatus status2(status); + IPluginSet* ret = static_cast<VTable*>(this->cloopVTable)->getPlugins(this, status2, pluginType, namesList, firebirdConf); Policy::checkException(status2); return ret; } - Config* getConfig(Status* status, const char* filename) + IConfig* getConfig(IStatus* status, const char* filename) { - typename Policy::Status status2(status); - Config* ret = static_cast<VTable*>(this->cloopVTable)->getConfig(this, status2, filename); + typename Policy::IStatus status2(status); + IConfig* ret = static_cast<VTable*>(this->cloopVTable)->getConfig(this, status2, filename); Policy::checkException(status2); return ret; } - void releasePlugin(PluginBase* plugin) + void releasePlugin(IPluginBase* plugin) { static_cast<VTable*>(this->cloopVTable)->releasePlugin(this, plugin); } }; - class ConfigManager : public Versioned + class IConfigManager : public IVersioned { public: - struct VTable : public Versioned::VTable + struct VTable : public IVersioned::VTable { - const char* (CLOOP_CARG *getDirectory)(ConfigManager* self, unsigned code) throw(); - FirebirdConf* (CLOOP_CARG *getFirebirdConf)(ConfigManager* self) throw(); - FirebirdConf* (CLOOP_CARG *getDatabaseConf)(ConfigManager* self, const char* dbName) throw(); - Config* (CLOOP_CARG *getPluginConfig)(ConfigManager* self, const char* configuredPlugin) throw(); - const char* (CLOOP_CARG *getInstallDirectory)(ConfigManager* self) throw(); - const char* (CLOOP_CARG *getRootDirectory)(ConfigManager* self) throw(); + const char* (CLOOP_CARG *getDirectory)(IConfigManager* self, unsigned code) throw(); + IFirebirdConf* (CLOOP_CARG *getFirebirdConf)(IConfigManager* self) throw(); + IFirebirdConf* (CLOOP_CARG *getDatabaseConf)(IConfigManager* self, const char* dbName) throw(); + IConfig* (CLOOP_CARG *getPluginConfig)(IConfigManager* self, const char* configuredPlugin) throw(); + const char* (CLOOP_CARG *getInstallDirectory)(IConfigManager* self) throw(); + const char* (CLOOP_CARG *getRootDirectory)(IConfigManager* self) throw(); }; protected: - ConfigManager(DoNotInherit) - : Versioned(DoNotInherit()) + IConfigManager(DoNotInherit) + : IVersioned(DoNotInherit()) { } - ~ConfigManager() + ~IConfigManager() { } @@ -880,21 +882,21 @@ return ret; } - FirebirdConf* getFirebirdConf() + IFirebirdConf* getFirebirdConf() { - FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this); + IFirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this); return ret; } - FirebirdConf* getDatabaseConf(const char* dbName) + IFirebirdConf* getDatabaseConf(const char* dbName) { - FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getDatabaseConf(this, dbName); + IFirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getDatabaseConf(this, dbName); return ret; } - Config* getPluginConfig(const char* configuredPlugin) + IConfig* getPluginConfig(const char* configuredPlugin) { - Config* ret = static_cast<VTable*>(this->cloopVTable)->getPluginConfig(this, configuredPlugin); + IConfig* ret = static_cast<VTable*>(this->cloopVTable)->getPluginConfig(this, configuredPlugin); return ret; } @@ -911,21 +913,21 @@ } }; - class EventCallback : public ReferenceCounted + class IEventCallback : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - void (CLOOP_CARG *eventCallbackFunction)(EventCallback* self, unsigned length, const unsigned char* events) throw(); + void (CLOOP_CARG *eventCallbackFunction)(IEventCallback* self, unsigned length, const unsigned char* events) throw(); }; protected: - EventCallback(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IEventCallback(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~EventCallback() + ~IEventCallback() { } @@ -938,583 +940,583 @@ } }; - class Blob : public ReferenceCounted + class IBlob : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - void (CLOOP_CARG *getInfo)(Blob* self, Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) throw(); - int (CLOOP_CARG *getSegment)(Blob* self, Status* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) throw(); - void (CLOOP_CARG *putSegment)(Blob* self, Status* status, unsigned length, const void* buffer) throw(); - void (CLOOP_CARG *cancel)(Blob* self, Status* status) throw(); - void (CLOOP_CARG *close)(Blob* self, Status* status) throw(); - int (CLOOP_CARG *seek)(Blob* self, Status* status, int mode, int offset) throw(); + void (CLOOP_CARG *getInfo)(IBlob* self, IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) throw(); + int (CLOOP_CARG *getSegment)(IBlob* self, IStatus* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) throw(); + void (CLOOP_CARG *putSegment)(IBlob* self, IStatus* status, unsigned length, const void* buffer) throw(); + void (CLOOP_CARG *cancel)(IBlob* self, IStatus* status) throw(); + void (CLOOP_CARG *close)(IBlob* self, IStatus* status) throw(); + int (CLOOP_CARG *seek)(IBlob* self, IStatus* status, int mode, int offset) throw(); }; protected: - Blob(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + IBlob(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~Blob() + ~IBlob() { } public: static const unsigned VERSION = 3; - void getInfo(Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) + void getInfo(IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); } - int getSegment(Status* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) + int getSegment(IStatus* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->getSegment(this, status2, bufferLength, buffer, segmentLength); Policy::checkException(status2); return ret; } - void putSegment(Status* status, unsigned length, const void* buffer) + void putSegment(IStatus* status, unsigned length, const void* buffer) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->putSegment(this, status2, length, buffer); Policy::checkException(status2); } - void cancel(Status* status) + void cancel(IStatus* status) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->cancel(this, status2); Policy::checkException(status2); } - void close(Status* status) + void close(IStatus* status) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->close(this, status2); Policy::checkException(status2); } - int seek(Status* status, int mode, int offset) + int seek(IStatus* status, int mode, int offset) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->seek(this, status2, mode, offset); Policy::checkException(status2); return ret; } }; - class Transaction : public ReferenceCounted + class ITransaction : public IReferenceCounted { public: - struct VTable : public ReferenceCounted::VTable + struct VTable : public IReferenceCounted::VTable { - void (CLOOP_CARG *getInfo)(Transaction* self, Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) throw(); - void (CLOOP_CARG *prepare)(Transaction* self, Status* status, unsigned msgLength, const unsigned char* message) throw(); - void (CLOOP_CARG *commit)(Transaction* self, Status* status) throw(); - void (CLOOP_CARG *commitRetaining)(Transaction* self, Status* status) throw(); - void (CLOOP_CARG *rollback)(Transaction* self, Status* status) throw(); - void (CLOOP_CARG *rollbackRetaining)(Transaction* self, Status* status) throw(); - void (CLOOP_CARG *disconnect)(Transaction* self, Status* status) throw(); - Transaction* (CLOOP_CARG *join)(Transaction* self, Status* status, Transaction* transaction) throw(); - Transaction* (CLOOP_CARG *validate)(Transaction* self, Status* status, Attachment* attachment) throw(); - Transaction* (CLOOP_CARG *enterDtc)(Transaction* self, Status* status) throw(); + void (CLOOP_CARG *getInfo)(ITransaction* self, IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) throw(); + void (CLOOP_CARG *prepare)(ITransaction* self, IStatus* status, unsigned msgLength, const unsigned char* message) throw(); + void (CLOOP_CARG *commit)(ITransaction* self, IStatus* status) throw(); + void (CLOOP_CARG *commitRetaining)(ITransaction* self, IStatus* status) throw(); + void (CLOOP_CARG *rollback)(ITransaction* self, IStatus* status) throw(); + void (CLOOP_CARG *rollbackRetaining)(ITransaction* self, IStatus* status) throw(); + void (CLOOP_CARG *disconnect)(ITransaction* self, IStatus* status) throw(); + ITransaction* (CLOOP_CARG *join)(ITransaction* self, IStatus* status, ITransaction* transaction) throw(); + ITransaction* (CLOOP_CARG *validate)(ITransaction* self, IStatus* status, IAttachment* attachment) throw(); + ITransaction* (CLOOP_CARG *enterDtc)(ITransaction* self, IStatus* status) throw(); }; protected: - Transaction(DoNotInherit) - : ReferenceCounted(DoNotInherit()) + ITransaction(DoNotInherit) + : IReferenceCounted(DoNotInherit()) { } - ~Transaction() + ~ITransaction() { } public: static const unsigned VERSION = 3; - void getInfo(Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) + void getInfo(IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); } - void prepare(Status* status, unsigned msgLength, const unsigned char* message) + void prepare(IStatus* status, unsigned msgLength, const unsigned char* message) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->prepare(this, status2, msgLength, message); Policy::checkException(status2); } - void commit(Status* status) + void commit(IStatus* status) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->commit(this, status2); Policy::checkException(status2); } - void commitRetaining(Status* status) + void commitRetaining(IStatus* status) { - typename Policy::Status status2(status); + typename Policy::IStatus status2(status); static_cast<VTable*>(this->cloopVTable)->commitRetaining(this,... [truncated message content] |
From: <fir...@us...> - 2014-12-20 00:22:20
|
Revision: 60402 http://sourceforge.net/p/firebird/code/60402 Author: firebirds Date: 2014-12-20 00:22:08 +0000 (Sat, 20 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-19 15:43:27 UTC (rev 60401) +++ firebird/trunk/ChangeLog 2014-12-20 00:22:08 UTC (rev 60402) @@ -1,3 +1,70 @@ + 2014-12-19 15:43 alexpeshkoff + M src/common/classes/init.cpp +Fixed CORE-3632: Crash after calling fork in a process, using embedded firebird library + + 2014-12-19 15:28 asfernandes + M src/yvalve/gds.cpp +Warnings. + + 2014-12-19 15:24 asfernandes + M examples/dbcrypt/CryptApplication.cpp + M examples/dbcrypt/CryptKeyHolder.cpp + M examples/dbcrypt/DbCrypt.cpp + M examples/interfaces/ifaceExamples.h + M src/auth/AuthDbg.h + M src/auth/SecureRemotePassword/client/SrpClient.cpp + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp + M src/auth/SecureRemotePassword/server/SrpServer.cpp + M src/auth/SecurityDatabase/LegacyClient.h + M src/auth/SecurityDatabase/LegacyManagement.h + M src/auth/SecurityDatabase/LegacyServer.cpp + M src/auth/trusted/AuthSspi.h + M src/common/Auth.h + M src/common/MsgMetadata.h + M src/common/StatusHolder.h + M src/common/classes/ImplementHelper.h + M src/common/config/config.h + M src/common/isc_sync.cpp + M src/common/security.h + M src/gpre/boot/gpre_meta_boot.cpp + M src/include/firebird/IdlFbInterfaces.h + M src/include/firebird/Interface.h + M src/include/firebird/Message.h + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/include/gen/ids.h + M src/isql/show.epp + M src/jrd/Database.h + M src/jrd/EngineInterface.h + M src/jrd/ExtEngineManager.h + M src/jrd/UserManagement.cpp + M src/jrd/jrd.cpp + M src/jrd/trace/TraceConfigStorage.h + M src/jrd/trace/TraceObjects.cpp + M src/jrd/trace/TraceObjects.h + M src/plugins/crypt/arc4/Arc4.cpp + M src/plugins/udr_engine/UdrEngine.cpp + M src/remote/client/interface.cpp + M src/remote/remote.h + M src/remote/server/server.cpp + M src/utilities/gsec/gsec.cpp + M src/utilities/ntrace/PluginLogWriter.h + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/ntrace/traceplugin.cpp + M src/yvalve/DistributedTransaction.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/PluginManager.cpp + M src/yvalve/PluginManager.h + M src/yvalve/YObjects.h + M src/yvalve/utl.cpp + M src/yvalve/why.cpp +Generate interfaces with I-prefix. + + 2014-12-19 08:52 dimitr + M src/gpre/languages/fbrmclib.cpp +Applied patch by Alexey Pavlov. + 2014-12-18 17:54 dimitr M src/isql/isql.epp Simplified code and attempted a second-time solution for CORE-4259. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-19 15:43:27 UTC (rev 60401) +++ firebird/trunk/src/jrd/build_no.h 2014-12-20 00:22:08 UTC (rev 60402) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31498 + FORMAL BUILD NUMBER:31502 */ -#define PRODUCT_VER_STRING "3.0.0.31498" -#define FILE_VER_STRING "WI-T3.0.0.31498" -#define LICENSE_VER_STRING "WI-T3.0.0.31498" -#define FILE_VER_NUMBER 3, 0, 0, 31498 +#define PRODUCT_VER_STRING "3.0.0.31502" +#define FILE_VER_STRING "WI-T3.0.0.31502" +#define LICENSE_VER_STRING "WI-T3.0.0.31502" +#define FILE_VER_NUMBER 3, 0, 0, 31502 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31498" +#define FB_BUILD_NO "31502" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-19 15:43:27 UTC (rev 60401) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-20 00:22:08 UTC (rev 60402) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31498 +BuildNum=31502 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-22 00:15:12
|
Revision: 60407 http://sourceforge.net/p/firebird/code/60407 Author: firebirds Date: 2014-12-22 00:15:05 +0000 (Mon, 22 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-21 19:30:06 UTC (rev 60406) +++ firebird/trunk/ChangeLog 2014-12-22 00:15:05 UTC (rev 60407) @@ -1,3 +1,45 @@ + 2014-12-21 19:30 dimitr + M src/jrd/RecordSourceNodes.cpp + M src/jrd/opt.cpp + M src/jrd/opt_proto.h +Correction for the prior commit. + + 2014-12-21 19:16 dimitr + M src/jrd/Optimizer.cpp + M src/jrd/Optimizer.h + M src/jrd/RecordSourceNodes.cpp + M src/jrd/opt.cpp + M src/jrd/opt_proto.h +Small refactoring. + + 2014-12-21 13:45 dimitr + M src/gpre/c_cxx.cpp + M src/gpre/cme.cpp + M src/gpre/cmp.cpp + M src/gpre/gpre.h + M src/gpre/hsh.h + M src/gpre/languages/ada.cpp + M src/gpre/languages/cob.cpp + M src/gpre/languages/ftn.cpp + M src/gpre/languages/pas.cpp + M src/gpre/languages/rmc.cpp + M src/gpre/msc.cpp + M src/gpre/msc_proto.h + M src/gpre/par.cpp + M src/gpre/sqe.cpp + M src/gpre/sqe_proto.h + M src/gpre/sql.cpp + M src/gpre/words.h +Front-ported CORE-4437 and CORE-4438. + + 2014-12-21 01:54 asfernandes + M src/common/os/os_utils.h + M src/common/os/posix/os_utils.cpp + M src/common/os/win32/os_utils.cpp + M src/jrd/dfw.epp + M src/remote/remote.h +Misc. + 2014-12-19 15:43 alexpeshkoff M src/common/classes/init.cpp Fixed CORE-3632: Crash after calling fork in a process, using embedded firebird library Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-21 19:30:06 UTC (rev 60406) +++ firebird/trunk/src/jrd/build_no.h 2014-12-22 00:15:05 UTC (rev 60407) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31502 + FORMAL BUILD NUMBER:31506 */ -#define PRODUCT_VER_STRING "3.0.0.31502" -#define FILE_VER_STRING "WI-T3.0.0.31502" -#define LICENSE_VER_STRING "WI-T3.0.0.31502" -#define FILE_VER_NUMBER 3, 0, 0, 31502 +#define PRODUCT_VER_STRING "3.0.0.31506" +#define FILE_VER_STRING "WI-T3.0.0.31506" +#define LICENSE_VER_STRING "WI-T3.0.0.31506" +#define FILE_VER_NUMBER 3, 0, 0, 31506 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31502" +#define FB_BUILD_NO "31506" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-21 19:30:06 UTC (rev 60406) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-22 00:15:05 UTC (rev 60407) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31502 +BuildNum=31506 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-23 00:16:53
|
Revision: 60417 http://sourceforge.net/p/firebird/code/60417 Author: firebirds Date: 2014-12-23 00:16:31 +0000 (Tue, 23 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-22 16:19:44 UTC (rev 60416) +++ firebird/trunk/ChangeLog 2014-12-23 00:16:31 UTC (rev 60417) @@ -1,3 +1,31 @@ + 2014-12-22 16:19 alexpeshkoff + M src/auth/SecurityDatabase/LegacyServer.cpp +Fixed CORE-4646: Attach failure when using LegacyAuth on server and default configuration on client + + 2014-12-22 14:41 hvlad + M src/include/firebird/IdlFbInterfaces.h +Fixed compilation errors + + 2014-12-22 09:47 hvlad + M src/common/classes/init.cpp +Fixed Windows build + + 2014-12-22 09:45 hvlad + M src/gpre/languages/ada.cpp + M src/gpre/languages/cob.cpp + M src/gpre/languages/ftn.cpp + M src/gpre/languages/rmc.cpp +Fix compilation errors + + 2014-12-22 09:17 alexpeshkoff + M src/jrd/jrd.cpp +Added forgotten security check - thanks to Adriano + + 2014-12-22 08:51 dimitr + M src/remote/inet.cpp + M src/remote/server/os/win32/srvr_w32.cpp +Patches by Alexey Pavlov. + 2014-12-21 19:30 dimitr M src/jrd/RecordSourceNodes.cpp M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-22 16:19:44 UTC (rev 60416) +++ firebird/trunk/src/jrd/build_no.h 2014-12-23 00:16:31 UTC (rev 60417) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31506 + FORMAL BUILD NUMBER:31512 */ -#define PRODUCT_VER_STRING "3.0.0.31506" -#define FILE_VER_STRING "WI-T3.0.0.31506" -#define LICENSE_VER_STRING "WI-T3.0.0.31506" -#define FILE_VER_NUMBER 3, 0, 0, 31506 +#define PRODUCT_VER_STRING "3.0.0.31512" +#define FILE_VER_STRING "WI-T3.0.0.31512" +#define LICENSE_VER_STRING "WI-T3.0.0.31512" +#define FILE_VER_NUMBER 3, 0, 0, 31512 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31506" +#define FB_BUILD_NO "31512" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-22 16:19:44 UTC (rev 60416) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-23 00:16:31 UTC (rev 60417) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31506 +BuildNum=31512 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-25 00:13:31
|
Revision: 60429 http://sourceforge.net/p/firebird/code/60429 Author: firebirds Date: 2014-12-25 00:13:28 +0000 (Thu, 25 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-24 15:23:42 UTC (rev 60428) +++ firebird/trunk/ChangeLog 2014-12-25 00:13:28 UTC (rev 60429) @@ -1,3 +1,23 @@ + 2014-12-24 15:23 alexpeshkoff + M doc/sql.extensions/README.user_management +Documentation changes for CORE-4607: Add support for having >1 UserManager in firebird.conf and use them from SQL + + 2014-12-24 14:50 alexpeshkoff + M src/common/classes/fb_string.h + M src/common/security.cpp + M src/common/security.h + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/dsql/parse.y + M src/include/gen/ids.h + M src/jrd/UserManagement.cpp + M src/jrd/UserManagement.h + M src/jrd/fields.h + M src/jrd/names.h + M src/jrd/relations.h + M src/yvalve/PluginManager.cpp +Implemented CORE-4607: Add support for having >1 UserManager in firebird.conf and use them from SQL + 2014-12-22 16:19 alexpeshkoff M src/auth/SecurityDatabase/LegacyServer.cpp Fixed CORE-4646: Attach failure when using LegacyAuth on server and default configuration on client Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-24 15:23:42 UTC (rev 60428) +++ firebird/trunk/src/jrd/build_no.h 2014-12-25 00:13:28 UTC (rev 60429) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31512 + FORMAL BUILD NUMBER:31514 */ -#define PRODUCT_VER_STRING "3.0.0.31512" -#define FILE_VER_STRING "WI-T3.0.0.31512" -#define LICENSE_VER_STRING "WI-T3.0.0.31512" -#define FILE_VER_NUMBER 3, 0, 0, 31512 +#define PRODUCT_VER_STRING "3.0.0.31514" +#define FILE_VER_STRING "WI-T3.0.0.31514" +#define LICENSE_VER_STRING "WI-T3.0.0.31514" +#define FILE_VER_NUMBER 3, 0, 0, 31514 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31512" +#define FB_BUILD_NO "31514" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-24 15:23:42 UTC (rev 60428) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-25 00:13:28 UTC (rev 60429) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31512 +BuildNum=31514 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-12-26 14:10:41
|
Revision: 60432 http://sourceforge.net/p/firebird/code/60432 Author: alexpeshkoff Date: 2014-12-26 14:10:39 +0000 (Fri, 26 Dec 2014) Log Message: ----------- Fixed CORE-4651: CREATE DATABASE fails for the user having RDB$ADMIN rights in security database Modified Paths: -------------- firebird/trunk/doc/sql.extensions/README.ddl.txt firebird/trunk/src/dsql/parse.y firebird/trunk/src/isql/isql.epp firebird/trunk/src/jrd/DbCreators.cpp firebird/trunk/src/jrd/DbCreators.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/yvalve/preparse.cpp Modified: firebird/trunk/doc/sql.extensions/README.ddl.txt =================================================================== --- firebird/trunk/doc/sql.extensions/README.ddl.txt 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/doc/sql.extensions/README.ddl.txt 2014-12-26 14:10:39 UTC (rev 60432) @@ -462,3 +462,16 @@ Also, the name RDB$GENERATORS does not refer anymore to an invisible system generator. The name can be applied to an user generator. + + +18) Added ROLE clause to CREATE DATABASE statement. +(Alex Peshkov) + +For 3.0, setting role when creating database may affect user rights to create databases. +This can happen if user is granted (in appropriate security database) system role RDB$ADMIN +or some ordinary role which in turn is granted CREATE DATABASE right. When using API call +IProvider::createDatabase (or isc_create_database) there are no problems with placing +isc_dpb_sql_role_name tag with required value into DPB, but CREATE DATABASE statement +missed ROLE clause before 3.0. + +ISQL now also takes into an account global role setting when creating databases. Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/dsql/parse.y 2014-12-26 14:10:39 UTC (rev 60432) @@ -1841,6 +1841,7 @@ db_initial_option($alterDatabaseNode) : KW_PAGE_SIZE equals pos_short_integer | USER utf_string + | ROLE utf_string | PASSWORD utf_string | SET NAMES utf_string | LENGTH equals long_integer page_noise Modified: firebird/trunk/src/isql/isql.epp =================================================================== --- firebird/trunk/src/isql/isql.epp 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/isql/isql.epp 2014-12-26 14:10:39 UTC (rev 60432) @@ -342,7 +342,7 @@ static bool check_timestamp(const tm& times, const int msec); static size_t chop_at(char target[], const size_t size); static void col_check(const TEXT*, unsigned*); -static void copy_str(TEXT**, const TEXT**, bool*, const TEXT* const, +static void copy_str(Firebird::string&, const TEXT**, bool*, const TEXT* const, const TEXT* const, literal_string_type); static processing_state copy_table(TEXT*, TEXT*, TEXT*); static processing_state create_db(const TEXT*, TEXT*); @@ -3458,7 +3458,7 @@ } -static void copy_str(TEXT** output_str, +static void copy_str(Firebird::string& output_str, const TEXT** input_str, bool* done, const TEXT* const str_begin, @@ -3510,47 +3510,33 @@ int slen = 0; const TEXT* b1; - TEXT* temp_str = *output_str; const TEXT* temp_local_stmt_str = *input_str; switch (str_flag) { case SINGLE_QUOTED_STRING: slen = str_end - temp_local_stmt_str; - if (temp_str != temp_local_stmt_str) - { - strncpy(temp_str, temp_local_stmt_str, slen); - } - *output_str = temp_str + slen; + output_str.append(temp_local_stmt_str, slen); *input_str = str_end; break; case DOUBLE_QUOTED_STRING: slen = str_begin - temp_local_stmt_str; - if (temp_str != temp_local_stmt_str) - { - strncpy(temp_str, temp_local_stmt_str, slen); - } - temp_str += slen; - *temp_str = SINGLE_QUOTE; - temp_str++; + output_str.append(temp_local_stmt_str, slen); + output_str += SINGLE_QUOTE; b1 = str_begin + 1; while (b1 < str_end) { - *temp_str = *b1; - temp_str++; + output_str += *b1; switch (*b1) { case SINGLE_QUOTE: - *temp_str = SINGLE_QUOTE; - temp_str++; + output_str += SINGLE_QUOTE; break; case DBL_QUOTE: b1++; if (*b1 != DBL_QUOTE) { - temp_str--; - *temp_str = SINGLE_QUOTE; - temp_str++; + output_str[output_str.length() - 1] = SINGLE_QUOTE; b1--; } break; @@ -3559,20 +3545,12 @@ } b1++; } - *output_str = temp_str; *input_str = b1; break; case NO_MORE_STRING: - slen = static_cast<int>(strlen(temp_local_stmt_str)); - if (temp_str != temp_local_stmt_str) - { - strncpy(temp_str, temp_local_stmt_str, slen); - } - temp_str += slen; - *temp_str = '\0'; + output_str += temp_local_stmt_str; *done = true; - *output_str = temp_str; - *input_str = temp_local_stmt_str + slen; + *input_str = temp_local_stmt_str + strlen(temp_local_stmt_str); break; default: break; @@ -3690,6 +3668,16 @@ } +static void appendClause(Firebird::string& to, const char* label, const TEXT* value) +{ + to += ' '; + to += label; + to += " \'"; + to += value; + to += "\' "; +} + + static processing_state create_db(const TEXT* statement, TEXT* d_name) { /************************************** @@ -3704,8 +3692,9 @@ * * Parameters: statement == the entire statement for processing. * - * Note: SQL ROLE settings are ignored - the newly created database - * will not have any roles defined in it. + * Note: SQL ROLE setting must be taken into an account no matter + * that the newly created database will not have any roles defined + * in it. Role may affect right to create new database. * **************************************/ processing_state ret = SKIP; @@ -3713,146 +3702,81 @@ // Disconnect from the database and cleanup ISQL_disconnect_database(false); - SLONG arglength = static_cast<SLONG>(strlen(statement) + strlen(isqlGlob.User) + strlen(Password) + 24); - if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) - arglength += static_cast<SLONG>(strlen(setValues.ISQL_charset) + strlen(" SET NAMES \'\' ")); - TEXT* local_statement = (TEXT*) ISQL_ALLOC(arglength + 1); - if (!local_statement) - return (FAIL); - TEXT usr[USER_LENGTH]; - TEXT psw[PASSWORD_LENGTH]; + for (int createWithoutRole = 0; createWithoutRole < 2; ++createWithoutRole) + { + ret = SKIP; + TEXT usr[USER_LENGTH]; + TEXT psw[PASSWORD_LENGTH]; + TEXT role[ROLE_LENGTH]; - strcpy(local_statement, statement); + Firebird::string local_statement(statement); - TEXT quote = DBL_QUOTE; - const TEXT* p = NULL; + TEXT quote = DBL_QUOTE; + const TEXT* p = NULL; - // If there is a user parameter, we will set it into the create stmt. - if (global_usr || global_psw || - (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET))) - { - strip_quotes(isqlGlob.User, usr); - strip_quotes(Password, psw); - // Look for the quotes on the database name and find the close quotes. - // Use '"' first, if not successful try '''. - // CVC: Again, this is wrong with embedded quotes. - // Maybe IUTILS_remove_and_unescape_quotes coupled with IUTILS_copy_SQL_id could work. - const TEXT* q = strchr(statement, quote); - if (!q) + // If there is a user parameter, we will set it into the create stmt. + if (global_usr || global_psw || + (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET))) { - quote = SINGLE_QUOTE; - q = strchr(statement, quote); - } + strip_quotes(isqlGlob.User, usr); + strip_quotes(Password, psw); + strip_quotes(isqlGlob.Role, role); + // Look for the quotes on the database name and find the close quotes. + // Use '"' first, if not successful try '''. + // CVC: Again, this is wrong with embedded quotes. + // Maybe IUTILS_remove_and_unescape_quotes coupled with IUTILS_copy_SQL_id could work. + const TEXT* q = strchr(statement, quote); + if (!q) + { + quote = SINGLE_QUOTE; + q = strchr(statement, quote); + } - if (q) - { - // Set quote to match open quote - quote = *q; - q++; - p = strchr(q, quote); - if (p) + if (q) { - p++; - const ptrdiff_t slen = p - statement; - local_statement[slen] = '\0'; - if (isqlGlob.SQL_dialect == 1) + // Set quote to match open quote + quote = *q; + q++; + p = strchr(q, quote); + if (p) { - if (global_usr) - sprintf(local_statement + strlen(local_statement), - " USER \'%s\' ", usr); - if (global_psw) - sprintf(local_statement + strlen(local_statement), - " PASSWORD \'%s\' ", psw); - if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) - sprintf(local_statement + strlen(local_statement), - " SET NAMES \'%s\' ", setValues.ISQL_charset); - sprintf(local_statement + strlen(local_statement), "%s", p); + p++; + const ptrdiff_t slen = p - statement; + local_statement.resize(slen); + if (isqlGlob.SQL_dialect == 1) + { + if (global_usr) + appendClause(local_statement, "USER", usr); + if (global_psw) + appendClause(local_statement, "PASSWORD", psw); + if (global_role && createWithoutRole == 0) + appendClause(local_statement, "ROLE", role); + if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) + appendClause(local_statement, "SET NAMES", setValues.ISQL_charset); + local_statement += p; + } } } } - } - SLONG cnt = 0; - if ((isqlGlob.SQL_dialect == 0) || (isqlGlob.SQL_dialect > 1)) - { - const TEXT* q = strchr(statement, SINGLE_QUOTE); - while (q) + SLONG cnt = 0; + if ((isqlGlob.SQL_dialect == 0) || (isqlGlob.SQL_dialect > 1)) { - cnt++; - const TEXT* l = q + 1; - q = strchr(l, SINGLE_QUOTE); - } - - TEXT* new_local_statement = NULL; - if (cnt > 0) - { - arglength = static_cast<SLONG>(strlen(statement) + - strlen(isqlGlob.User) + strlen(Password) + 24 + 2 * cnt); - - if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) - arglength += static_cast<SLONG>(strlen(setValues.ISQL_charset) + strlen(" SET NAMES \'\' ")); - new_local_statement = (TEXT*) ISQL_ALLOC(arglength + 1); - - if (!new_local_statement) + const TEXT* q = strchr(statement, SINGLE_QUOTE); + while (q) { - ISQL_FREE(local_statement); - return (FAIL); + cnt++; + const TEXT* l = q + 1; + q = strchr(l, SINGLE_QUOTE); } - } - TEXT errbuf[MSG_LENGTH]; + Firebird::string new_local_statement; + TEXT errbuf[MSG_LENGTH]; - TEXT* temp_str; - if (new_local_statement) - temp_str = new_local_statement; - else - temp_str = local_statement; - - const TEXT* temp_local_stmt_str = local_statement; - bool done = false; - while (!done) - { - const TEXT* str_begin = NULL; - const TEXT* str_end = NULL; - literal_string_type str_flag = INIT_STR_FLAG; - get_str(temp_local_stmt_str, &str_begin, &str_end, &str_flag); - if (str_flag == INCOMPLETE_STRING) + const TEXT* temp_local_stmt_str = local_statement.c_str(); + bool done = false; + while (!done) { - IUTILS_msg_get(INCOMPLETE_STR, errbuf, SafeArg() << "create database statement"); - STDERROUT(errbuf); - ISQL_FREE(local_statement); - if (new_local_statement) - ISQL_FREE(new_local_statement); - return (FAIL); - } - copy_str(&temp_str, &temp_local_stmt_str, &done, str_begin, str_end, str_flag); - } - - if (new_local_statement) - temp_str = new_local_statement; - else - temp_str = local_statement; - - if (global_usr) - sprintf(temp_str + strlen(temp_str), " USER \'%s\' ", usr); - - if (global_psw) - sprintf(temp_str + strlen(temp_str), " PASSWORD \'%s\' ", psw); - - if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) - sprintf(temp_str + strlen(temp_str), " SET NAMES \'%s\' ", setValues.ISQL_charset); - - if (new_local_statement) - temp_str = new_local_statement + strlen(new_local_statement); - else - temp_str = local_statement + strlen(local_statement); - - if (p && strlen(p) > 0) - { - temp_local_stmt_str = p; - bool done2 = false; - while (!done2) - { const TEXT* str_begin = NULL; const TEXT* str_end = NULL; literal_string_type str_flag = INIT_STR_FLAG; @@ -3861,33 +3785,63 @@ { IUTILS_msg_get(INCOMPLETE_STR, errbuf, SafeArg() << "create database statement"); STDERROUT(errbuf); - ISQL_FREE(local_statement); - if (new_local_statement) - ISQL_FREE(new_local_statement); return (FAIL); } - copy_str(&temp_str, &temp_local_stmt_str, &done2, - str_begin, str_end, str_flag); + copy_str(new_local_statement, &temp_local_stmt_str, &done, str_begin, str_end, str_flag); } + + if (global_usr) + appendClause(new_local_statement, "USER", usr); + if (global_psw) + appendClause(new_local_statement, "PASSWORD", psw); + if (global_role && createWithoutRole == 0) + appendClause(new_local_statement, "ROLE", role); + if (*setValues.ISQL_charset && strcmp(setValues.ISQL_charset, DEFCHARSET)) + appendClause(new_local_statement, "SET NAMES", setValues.ISQL_charset); + + if (p && strlen(p) > 0) + { + temp_local_stmt_str = p; + bool done2 = false; + while (!done2) + { + const TEXT* str_begin = NULL; + const TEXT* str_end = NULL; + literal_string_type str_flag = INIT_STR_FLAG; + get_str(temp_local_stmt_str, &str_begin, &str_end, &str_flag); + if (str_flag == INCOMPLETE_STRING) + { + IUTILS_msg_get(INCOMPLETE_STR, errbuf, SafeArg() << "create database statement"); + STDERROUT(errbuf); + return (FAIL); + } + copy_str(new_local_statement, &temp_local_stmt_str, &done2, str_begin, str_end, str_flag); + } + } + + local_statement = new_local_statement; } - if (new_local_statement) + // execute the create statement + // If the isqlGlob.SQL_dialect is not set or set to 2, create the database + // as a dialect 3 database. + unsigned dialect = + (isqlGlob.SQL_dialect == 0 || isqlGlob.SQL_dialect == SQL_DIALECT_V6_TRANSITION) ? + requested_SQL_dialect : isqlGlob.SQL_dialect; + DB = Firebird::UtlInterfacePtr()->executeCreateDatabase(fbStatus, local_statement.length(), + local_statement.c_str(), dialect, NULL); + + if ((!DB) && (createWithoutRole == 0) && (fbStatus->getErrors()[1] == isc_dsql_error)) { - ISQL_FREE(local_statement); - local_statement = new_local_statement; + // OLd server failed to parse ROLE clause + continue; } - } - // execute the create statement - // If the isqlGlob.SQL_dialect is not set or set to 2, create the database - // as a dialect 3 database. - unsigned dialect = - (isqlGlob.SQL_dialect == 0 || isqlGlob.SQL_dialect == SQL_DIALECT_V6_TRANSITION) ? - requested_SQL_dialect : isqlGlob.SQL_dialect; - DB = Firebird::UtlInterfacePtr()->executeCreateDatabase(fbStatus, 0, local_statement, dialect, NULL); - if (ISQL_errmsg(fbStatus)) - { - ret = FAIL; + if (ISQL_errmsg(fbStatus)) + { + ret = FAIL; + } + break; } if (DB) @@ -4022,8 +3976,6 @@ } - if (local_statement) - ISQL_FREE(local_statement); return (ret); } Modified: firebird/trunk/src/jrd/DbCreators.cpp =================================================================== --- firebird/trunk/src/jrd/DbCreators.cpp 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/jrd/DbCreators.cpp 2014-12-26 14:10:39 UTC (rev 60432) @@ -100,10 +100,10 @@ namespace Jrd { -bool checkCreateDatabaseGrant(Firebird::string& userName, Firebird::string& trustedRole, - const char* securityDb) +bool checkCreateDatabaseGrant(const string& userName, const string& trustedRole, + const string& sqlRole, const char* securityDb) { - if (userName == SYSDBA_USER_NAME || trustedRole == ADMIN_ROLE) + if (userName == SYSDBA_USER_NAME) return true; RefPtr<IAttachment> att; @@ -111,6 +111,46 @@ if (!openDb(securityDb, att, tra)) return false; + string role(sqlRole); + if (role.hasData()) + { + role.upper(); + + // We need to check is admin role granted to userName in security DB + const char* sql = "select count(*) from RDB$USER_PRIVILEGES " + "where RDB$USER = ? and RDB$RELATION_NAME = ? and RDB$PRIVILEGE = 'M'"; + + Message prm; + Field<Varying> u(prm, MAX_SQL_IDENTIFIER_LEN); + Field<Varying> r(prm, MAX_SQL_IDENTIFIER_LEN); + u = userName.c_str(); + r = role.c_str(); + + Message result; + Field<ISC_INT64> cnt(result); + + LocalStatus st; + att->execute(&st, tra, 0, sql, SQL_DIALECT_V6, prm.getMetadata(), prm.getBuffer(), + result.getMetadata(), result.getBuffer()); + + if (st.getStatus() & IStatus::FB_HAS_ERRORS) + { + // isc_dsql_relation_err when exec SQL - i.e. table RDB$USER_PRIVILEGES + // is missing due to non-FB security DB + if (!fb_utils::containsErrorCode(st.getErrors(), isc_dsql_relation_err)) + check("IAttachment::execute", &st); + + role = ""; + } + else if (cnt == 0) + role = ""; + } + else + role = trustedRole; + + if (role == ADMIN_ROLE) + return true; + Message gr; Field<ISC_SHORT> uType(gr); Field<Varying> u(gr, MAX_SQL_IDENTIFIER_LEN); @@ -118,8 +158,8 @@ Field<Varying> r(gr, MAX_SQL_IDENTIFIER_LEN); uType = obj_user; u = userName.c_str(); - rType = trustedRole.hasData() ? obj_sql_role : 255; - r = trustedRole.c_str(); + rType = role.hasData() ? obj_sql_role : 255; + r = role.c_str(); Message result; Field<ISC_INT64> cnt(result); Modified: firebird/trunk/src/jrd/DbCreators.h =================================================================== --- firebird/trunk/src/jrd/DbCreators.h 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/jrd/DbCreators.h 2014-12-26 14:10:39 UTC (rev 60432) @@ -36,8 +36,8 @@ namespace Jrd { -bool checkCreateDatabaseGrant(Firebird::string& userName, Firebird::string& trustedRole, - const char* securityDb); +bool checkCreateDatabaseGrant(const Firebird::string& userName, const Firebird::string& trustedRole, + const Firebird::string& sqlRole, const char* securityDb); class DbCreatorsScan: public VirtualTableScan { Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/jrd/jrd.cpp 2014-12-26 14:10:39 UTC (rev 60432) @@ -7128,7 +7128,7 @@ if (creating && config) // when config is NULL we are in error handler { - if (!checkCreateDatabaseGrant(name, trusted_role, (*config)->getSecurityDatabase())) + if (!checkCreateDatabaseGrant(name, trusted_role, options.dpb_role_name, (*config)->getSecurityDatabase())) (Arg::Gds(isc_no_priv) << "CREATE" << "DATABASE" << aliasName).raise(); } } Modified: firebird/trunk/src/yvalve/preparse.cpp =================================================================== --- firebird/trunk/src/yvalve/preparse.cpp 2014-12-26 12:27:40 UTC (rev 60431) +++ firebird/trunk/src/yvalve/preparse.cpp 2014-12-26 14:10:39 UTC (rev 60432) @@ -46,7 +46,8 @@ PP_PAGES = 8, PP_PAGE = 9, PP_SET = 10, - PP_NAMES = 11 + PP_NAMES = 11, + PP_ROLE = 12 }; @@ -79,6 +80,7 @@ {"PAGE", 4, PP_PAGE}, {"SET", 3, PP_SET}, {"NAMES", 5, PP_NAMES}, + {"ROLE", 4, PP_ROLE}, {"", 0, 0} }; @@ -214,6 +216,17 @@ matched = true; break; + case PP_ROLE: + if (get_token(status, STRING, false, &stmt, stmt_end, token)) + { + get_out = true; + break; + } + + dpb.insertString(isc_dpb_sql_role_name, token); + matched = true; + break; + case PP_SET: if (get_token(status, SYMBOL, false, &stmt, stmt_end, token) || token.length() != pp_symbols[PP_NAMES].length || This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-27 00:13:57
|
Revision: 60436 http://sourceforge.net/p/firebird/code/60436 Author: firebirds Date: 2014-12-27 00:13:46 +0000 (Sat, 27 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-26 16:06:57 UTC (rev 60435) +++ firebird/trunk/ChangeLog 2014-12-27 00:13:46 UTC (rev 60436) @@ -1,3 +1,21 @@ + 2014-12-26 15:32 alexpeshkoff + M src/auth/SecurityDatabase/LegacyManagement.epp +Fixed CORE-4652: Legacy user manager ignores explicitly set SQL role + + 2014-12-26 15:04 alexpeshkoff + M src/isql/show.epp +Skip system attachmnets in SHOW USERS + + 2014-12-26 14:10 alexpeshkoff + M doc/sql.extensions/README.ddl.txt + M src/dsql/parse.y + M src/isql/isql.epp + M src/jrd/DbCreators.cpp + M src/jrd/DbCreators.h + M src/jrd/jrd.cpp + M src/yvalve/preparse.cpp +Fixed CORE-4651: CREATE DATABASE fails for the user having RDB$ADMIN rights in security database + 2014-12-24 15:23 alexpeshkoff M doc/sql.extensions/README.user_management Documentation changes for CORE-4607: Add support for having >1 UserManager in firebird.conf and use them from SQL Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-26 16:06:57 UTC (rev 60435) +++ firebird/trunk/src/jrd/build_no.h 2014-12-27 00:13:46 UTC (rev 60436) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31514 + FORMAL BUILD NUMBER:31517 */ -#define PRODUCT_VER_STRING "3.0.0.31514" -#define FILE_VER_STRING "WI-T3.0.0.31514" -#define LICENSE_VER_STRING "WI-T3.0.0.31514" -#define FILE_VER_NUMBER 3, 0, 0, 31514 +#define PRODUCT_VER_STRING "3.0.0.31517" +#define FILE_VER_STRING "WI-T3.0.0.31517" +#define LICENSE_VER_STRING "WI-T3.0.0.31517" +#define FILE_VER_NUMBER 3, 0, 0, 31517 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31514" +#define FB_BUILD_NO "31517" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-26 16:06:57 UTC (rev 60435) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-27 00:13:46 UTC (rev 60436) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31514 +BuildNum=31517 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-30 00:16:08
|
Revision: 60453 http://sourceforge.net/p/firebird/code/60453 Author: firebirds Date: 2014-12-30 00:16:00 +0000 (Tue, 30 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-29 21:15:54 UTC (rev 60452) +++ firebird/trunk/ChangeLog 2014-12-30 00:16:00 UTC (rev 60453) @@ -1,3 +1,60 @@ + 2014-12-29 21:15 dimitr + M src/jrd/RecordNumber.h + M src/jrd/dpm.epp + M src/utilities/gstat/dba.epp +Type correctness (mostly signed->unsigned adjustments). + + 2014-12-29 18:04 alexpeshkoff + M src/yvalve/why.cpp +Fixed my severe bug in one of previous commits + + 2014-12-29 17:40 dimitr + M src/jrd/RecordNumber.h + M src/jrd/Relation.h + M src/jrd/dpm.epp + M src/utilities/gstat/dba.epp +This commit is expected to fix CORE-4384: Problems when a table grows beyond 65535 pointer pages. Testing would be appreciated. + + 2014-12-29 16:39 alexpeshkoff + M builds/install/misc/firebird.conf.in +Completed fix for CORE-4605: Rename CryptPlugin parameter in config file + + 2014-12-29 16:15 alexpeshkoff + M src/remote/SockAddr.h + M src/remote/inet.cpp +Cleanup - remove debris of pre-firebird authentication + + 2014-12-29 15:48 dimitr + M src/remote/server/server.cpp +Cleanup. + + 2014-12-29 15:45 dimitr + M src/dsql/dsql.cpp + M src/remote/server/server.cpp +Cleaned up the API from the legacy crap (fortunately, not needed these days). + + 2014-12-29 12:00 starodubov + M src/jrd/trace/TraceObjects.h + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Revert fix for CORE-4654, because it depends on unsupported compiler + + 2014-12-29 11:08 starodubov + M builds/win32/msvc8/common.vcproj + M builds/win32/msvc8/firebird2.vsprops + M builds/win32/msvc8/gpre_common.vcproj + M builds/win32/msvc9/common.vcproj + M builds/win32/msvc9/engine.vcproj + M builds/win32/msvc9/firebird2.vsprops + M builds/win32/msvc9/gpre_common.vcproj +Fixed builds for msvc8 and msvc9 (CORE-4655) + + 2014-12-29 10:56 starodubov + M src/jrd/trace/TraceObjects.h + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Fixed POSIX build (CORE-4654) + 2014-12-26 15:32 alexpeshkoff M src/auth/SecurityDatabase/LegacyManagement.epp Fixed CORE-4652: Legacy user manager ignores explicitly set SQL role Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-29 21:15:54 UTC (rev 60452) +++ firebird/trunk/src/jrd/build_no.h 2014-12-30 00:16:00 UTC (rev 60453) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31517 + FORMAL BUILD NUMBER:31527 */ -#define PRODUCT_VER_STRING "3.0.0.31517" -#define FILE_VER_STRING "WI-T3.0.0.31517" -#define LICENSE_VER_STRING "WI-T3.0.0.31517" -#define FILE_VER_NUMBER 3, 0, 0, 31517 +#define PRODUCT_VER_STRING "3.0.0.31527" +#define FILE_VER_STRING "WI-T3.0.0.31527" +#define LICENSE_VER_STRING "WI-T3.0.0.31527" +#define FILE_VER_NUMBER 3, 0, 0, 31527 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31517" +#define FB_BUILD_NO "31527" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-29 21:15:54 UTC (rev 60452) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-30 00:16:00 UTC (rev 60453) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31517 +BuildNum=31527 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-31 00:13:46
|
Revision: 60460 http://sourceforge.net/p/firebird/code/60460 Author: firebirds Date: 2014-12-31 00:13:44 +0000 (Wed, 31 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-12-30 18:44:56 UTC (rev 60459) +++ firebird/trunk/ChangeLog 2014-12-31 00:13:44 UTC (rev 60460) @@ -1,3 +1,12 @@ + 2014-12-30 15:18 alexpeshkoff + M src/common/IntlParametersBlock.cpp + M src/common/IntlParametersBlock.h +Fixed CORE-4610: Add a tag name to diagnostics when trasliteration errors in Parameter Block values occur + + 2014-12-30 08:17 starodubov + M src/jrd/vio.cpp +Fixed CORE-4656: Server could hang during chasing dead record version + 2014-12-29 21:15 dimitr M src/jrd/RecordNumber.h M src/jrd/dpm.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-12-30 18:44:56 UTC (rev 60459) +++ firebird/trunk/src/jrd/build_no.h 2014-12-31 00:13:44 UTC (rev 60460) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31527 + FORMAL BUILD NUMBER:31529 */ -#define PRODUCT_VER_STRING "3.0.0.31527" -#define FILE_VER_STRING "WI-T3.0.0.31527" -#define LICENSE_VER_STRING "WI-T3.0.0.31527" -#define FILE_VER_NUMBER 3, 0, 0, 31527 +#define PRODUCT_VER_STRING "3.0.0.31529" +#define FILE_VER_STRING "WI-T3.0.0.31529" +#define LICENSE_VER_STRING "WI-T3.0.0.31529" +#define FILE_VER_NUMBER 3, 0, 0, 31529 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31527" +#define FB_BUILD_NO "31529" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-12-30 18:44:56 UTC (rev 60459) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-31 00:13:44 UTC (rev 60460) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31527 +BuildNum=31529 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |