From: <fir...@us...> - 2010-11-16 03:16:05
|
Revision: 51921 http://firebird.svn.sourceforge.net/firebird/?rev=51921&view=rev Author: firebirds Date: 2010-11-16 03:15:58 +0000 (Tue, 16 Nov 2010) 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 2010-11-15 17:03:30 UTC (rev 51920) +++ firebird/trunk/ChangeLog 2010-11-16 03:15:58 UTC (rev 51921) @@ -1,3 +1,7 @@ + 2010-11-15 17:03 alexpeshkoff + M src/burp/burp.cpp +Fixed assertion + 2010-11-14 22:31 asfernandes M src/dsql/AggNodes.cpp M src/dsql/BoolNodes.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-15 17:03:30 UTC (rev 51920) +++ firebird/trunk/src/jrd/build_no.h 2010-11-16 03:15:58 UTC (rev 51921) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28893 + FORMAL BUILD NUMBER:28894 */ -#define PRODUCT_VER_STRING "3.0.0.28893" -#define FILE_VER_STRING "WI-T3.0.0.28893" -#define LICENSE_VER_STRING "WI-T3.0.0.28893" -#define FILE_VER_NUMBER 3, 0, 0, 28893 +#define PRODUCT_VER_STRING "3.0.0.28894" +#define FILE_VER_STRING "WI-T3.0.0.28894" +#define LICENSE_VER_STRING "WI-T3.0.0.28894" +#define FILE_VER_NUMBER 3, 0, 0, 28894 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28893" +#define FB_BUILD_NO "28894" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-15 17:03:30 UTC (rev 51920) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-16 03:15:58 UTC (rev 51921) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28893 +BuildNum=28894 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...> - 2010-11-19 03:14:47
|
Revision: 51931 http://firebird.svn.sourceforge.net/firebird/?rev=51931&view=rev Author: firebirds Date: 2010-11-19 03:14:40 +0000 (Fri, 19 Nov 2010) 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 2010-11-18 16:19:35 UTC (rev 51930) +++ firebird/trunk/ChangeLog 2010-11-19 03:14:40 UTC (rev 51931) @@ -1,3 +1,19 @@ + 2010-11-18 15:06 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-3227 - ASCII_VAL() fails if argument contains multi-byte character anywhere + + 2010-11-18 14:53 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-3228 - RIGHT() fails with multibyte text blobs > 1024 chars + + 2010-11-18 14:26 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-3244 - POSITION: Wrong result with '' if third argument present + + 2010-11-18 11:40 dimitr + M src/common/isc_file.cpp +Front ported CORE-3059: RemoteFileOpenAbility fails on Windows. + 2010-11-15 17:03 alexpeshkoff M src/burp/burp.cpp Fixed assertion Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-18 16:19:35 UTC (rev 51930) +++ firebird/trunk/src/jrd/build_no.h 2010-11-19 03:14:40 UTC (rev 51931) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28894 + FORMAL BUILD NUMBER:28898 */ -#define PRODUCT_VER_STRING "3.0.0.28894" -#define FILE_VER_STRING "WI-T3.0.0.28894" -#define LICENSE_VER_STRING "WI-T3.0.0.28894" -#define FILE_VER_NUMBER 3, 0, 0, 28894 +#define PRODUCT_VER_STRING "3.0.0.28898" +#define FILE_VER_STRING "WI-T3.0.0.28898" +#define LICENSE_VER_STRING "WI-T3.0.0.28898" +#define FILE_VER_NUMBER 3, 0, 0, 28898 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28894" +#define FB_BUILD_NO "28898" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-18 16:19:35 UTC (rev 51930) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-19 03:14:40 UTC (rev 51931) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28894 +BuildNum=28898 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...> - 2010-11-20 03:15:39
|
Revision: 51946 http://firebird.svn.sourceforge.net/firebird/?rev=51946&view=rev Author: firebirds Date: 2010-11-20 03:15:32 +0000 (Sat, 20 Nov 2010) 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 2010-11-20 00:43:16 UTC (rev 51945) +++ firebird/trunk/ChangeLog 2010-11-20 03:15:32 UTC (rev 51946) @@ -1,3 +1,36 @@ + 2010-11-20 00:43 asfernandes + M src/jrd/SysFunction.cpp +Correction for CORE-3244 + + 2010-11-19 17:35 alexpeshkoff + M src/common/cvt.cpp +Correction for improvement CORE-3248: Set unused bytes of varchar values in message buffer to 0 + + 2010-11-19 17:32 alexpeshkoff + M src/jrd/jrd.cpp +cleanup + + 2010-11-19 17:09 alexpeshkoff + M src/common/config/config_file.cpp +misc + + 2010-11-19 15:47 hvlad + M src/dsql/ExprNodes.cpp +Fixed compiler errors + + 2010-11-19 15:12 alexpeshkoff + M src/burp/burp.cpp + M src/burp/burp.h +Fixed CORE-3249: gbak file is not truncated during backup operation + + 2010-11-19 15:11 alexpeshkoff + M src/remote/protocol.cpp +Improvement CORE-3248: Set unused bytes of varchar values in message buffer to 0 + + 2010-11-19 14:37 hvlad + M src/dsql/dsql.cpp +Fixed bug CORE-3219 : trace manager crash server with DSQL_unprepare + 2010-11-18 15:06 asfernandes M src/jrd/SysFunction.cpp Fixed CORE-3227 - ASCII_VAL() fails if argument contains multi-byte character anywhere Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-20 00:43:16 UTC (rev 51945) +++ firebird/trunk/src/jrd/build_no.h 2010-11-20 03:15:32 UTC (rev 51946) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28898 + FORMAL BUILD NUMBER:28906 */ -#define PRODUCT_VER_STRING "3.0.0.28898" -#define FILE_VER_STRING "WI-T3.0.0.28898" -#define LICENSE_VER_STRING "WI-T3.0.0.28898" -#define FILE_VER_NUMBER 3, 0, 0, 28898 +#define PRODUCT_VER_STRING "3.0.0.28906" +#define FILE_VER_STRING "WI-T3.0.0.28906" +#define LICENSE_VER_STRING "WI-T3.0.0.28906" +#define FILE_VER_NUMBER 3, 0, 0, 28906 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28898" +#define FB_BUILD_NO "28906" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-20 00:43:16 UTC (rev 51945) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-20 03:15:32 UTC (rev 51946) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28898 +BuildNum=28906 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...> - 2010-11-21 03:13:35
|
Revision: 51949 http://firebird.svn.sourceforge.net/firebird/?rev=51949&view=rev Author: firebirds Date: 2010-11-21 03:13:28 +0000 (Sun, 21 Nov 2010) 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 2010-11-21 02:36:57 UTC (rev 51948) +++ firebird/trunk/ChangeLog 2010-11-21 03:13:28 UTC (rev 51949) @@ -1,3 +1,8 @@ + 2010-11-21 02:36 asfernandes + M src/burp/burp.cpp + M src/common/config/config_file.cpp +Misc + 2010-11-20 00:43 asfernandes M src/jrd/SysFunction.cpp Correction for CORE-3244 Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-21 02:36:57 UTC (rev 51948) +++ firebird/trunk/src/jrd/build_no.h 2010-11-21 03:13:28 UTC (rev 51949) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28906 + FORMAL BUILD NUMBER:28907 */ -#define PRODUCT_VER_STRING "3.0.0.28906" -#define FILE_VER_STRING "WI-T3.0.0.28906" -#define LICENSE_VER_STRING "WI-T3.0.0.28906" -#define FILE_VER_NUMBER 3, 0, 0, 28906 +#define PRODUCT_VER_STRING "3.0.0.28907" +#define FILE_VER_STRING "WI-T3.0.0.28907" +#define LICENSE_VER_STRING "WI-T3.0.0.28907" +#define FILE_VER_NUMBER 3, 0, 0, 28907 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28906" +#define FB_BUILD_NO "28907" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-21 02:36:57 UTC (rev 51948) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-21 03:13:28 UTC (rev 51949) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28906 +BuildNum=28907 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...> - 2010-11-22 03:14:21
|
Revision: 51956 http://firebird.svn.sourceforge.net/firebird/?rev=51956&view=rev Author: firebirds Date: 2010-11-22 03:14:14 +0000 (Mon, 22 Nov 2010) 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 2010-11-21 21:22:20 UTC (rev 51955) +++ firebird/trunk/ChangeLog 2010-11-22 03:14:14 UTC (rev 51956) @@ -1,3 +1,82 @@ + 2010-11-21 21:22 asfernandes + M src/common/os/guid.h +Fixed a source of many warnings when using clang + + 2010-11-21 21:21 asfernandes + M src/misc/writeBuildNum.sh +Make clang build work + + 2010-11-21 03:47 asfernandes + M src/dsql/AggNodes.cpp + M src/dsql/AggNodes.h + M src/dsql/BoolNodes.cpp + M src/dsql/BoolNodes.h + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/Nodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/dsql/Visitors.h + M src/dsql/WinNodes.cpp + M src/dsql/WinNodes.h + M src/dsql/pass1.cpp + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/jrd/Function.epp + M src/jrd/Function.h + M src/jrd/JrdStatement.cpp + M src/jrd/Optimizer.cpp + M src/jrd/Optimizer.h + M src/jrd/RecordSourceNodes.cpp + M src/jrd/RecordSourceNodes.h + M src/jrd/Relation.h + M src/jrd/SysFunction.cpp + M src/jrd/SysFunction.h + M src/jrd/blb.cpp + M src/jrd/blb_proto.h + M src/jrd/btr.cpp + M src/jrd/btr.h + M src/jrd/btr_proto.h + M src/jrd/cmp.cpp + M src/jrd/cmp_proto.h + M src/jrd/dfw.epp + M src/jrd/evl.cpp + M src/jrd/evl_proto.h + M src/jrd/exe.cpp + M src/jrd/exe.h + M src/jrd/exe_proto.h + M src/jrd/execute_statement.cpp + M src/jrd/extds/ExtDS.cpp + M src/jrd/fun.epp + M src/jrd/fun_proto.h + M src/jrd/jrd.h + M src/jrd/met.epp + M src/jrd/opt.cpp + M src/jrd/par.cpp + M src/jrd/par_proto.h + M src/jrd/pcmet.epp + M src/jrd/recsrc/AggregatedStream.cpp + M src/jrd/recsrc/FirstRowsStream.cpp + M src/jrd/recsrc/HashJoin.cpp + M src/jrd/recsrc/MergeJoin.cpp + M src/jrd/recsrc/ProcedureScan.cpp + M src/jrd/recsrc/RecordSource.h + M src/jrd/recsrc/RecursiveStream.cpp + M src/jrd/recsrc/SkipRowsStream.cpp + M src/jrd/recsrc/SortedStream.cpp + M src/jrd/recsrc/Union.cpp + M src/jrd/recsrc/WindowedStream.cpp + M src/jrd/req.h + M src/jrd/trace/TraceJrdHelpers.h + M src/jrd/trace/TraceObjects.cpp + M src/jrd/trace/TraceObjects.h + M src/misc/blrtable.cpp +Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod. +Store ValueExprNodes instead of jrd_nod in the metadata cache. +Make RecordSourceNode child of ExprNode as they share most operations. +Get rid of the JRD visitors in favor of direct calls. +Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes. + 2010-11-21 02:36 asfernandes M src/burp/burp.cpp M src/common/config/config_file.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-21 21:22:20 UTC (rev 51955) +++ firebird/trunk/src/jrd/build_no.h 2010-11-22 03:14:14 UTC (rev 51956) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28907 + FORMAL BUILD NUMBER:28910 */ -#define PRODUCT_VER_STRING "3.0.0.28907" -#define FILE_VER_STRING "WI-T3.0.0.28907" -#define LICENSE_VER_STRING "WI-T3.0.0.28907" -#define FILE_VER_NUMBER 3, 0, 0, 28907 +#define PRODUCT_VER_STRING "3.0.0.28910" +#define FILE_VER_STRING "WI-T3.0.0.28910" +#define LICENSE_VER_STRING "WI-T3.0.0.28910" +#define FILE_VER_NUMBER 3, 0, 0, 28910 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28907" +#define FB_BUILD_NO "28910" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-21 21:22:20 UTC (rev 51955) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-22 03:14:14 UTC (rev 51956) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28907 +BuildNum=28910 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...> - 2010-11-23 03:14:42
|
Revision: 51962 http://firebird.svn.sourceforge.net/firebird/?rev=51962&view=rev Author: firebirds Date: 2010-11-23 03:14:35 +0000 (Tue, 23 Nov 2010) 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 2010-11-22 23:47:16 UTC (rev 51961) +++ firebird/trunk/ChangeLog 2010-11-23 03:14:35 UTC (rev 51962) @@ -1,3 +1,15 @@ + 2010-11-22 23:47 asfernandes + M src/dsql/ExprNodes.cpp +Misc + + 2010-11-22 15:44 alexpeshkoff + M src/common/common.h +Damyan's patch for MIPSEB + + 2010-11-22 08:23 alexpeshkoff + M src/common/isc_sync.cpp +This should fix first problem in BSD build + 2010-11-21 21:22 asfernandes M src/common/os/guid.h Fixed a source of many warnings when using clang Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-22 23:47:16 UTC (rev 51961) +++ firebird/trunk/src/jrd/build_no.h 2010-11-23 03:14:35 UTC (rev 51962) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28910 + FORMAL BUILD NUMBER:28913 */ -#define PRODUCT_VER_STRING "3.0.0.28910" -#define FILE_VER_STRING "WI-T3.0.0.28910" -#define LICENSE_VER_STRING "WI-T3.0.0.28910" -#define FILE_VER_NUMBER 3, 0, 0, 28910 +#define PRODUCT_VER_STRING "3.0.0.28913" +#define FILE_VER_STRING "WI-T3.0.0.28913" +#define LICENSE_VER_STRING "WI-T3.0.0.28913" +#define FILE_VER_NUMBER 3, 0, 0, 28913 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28910" +#define FB_BUILD_NO "28913" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-22 23:47:16 UTC (rev 51961) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-23 03:14:35 UTC (rev 51962) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28910 +BuildNum=28913 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...> - 2010-11-24 03:15:44
|
Revision: 51967 http://firebird.svn.sourceforge.net/firebird/?rev=51967&view=rev Author: firebirds Date: 2010-11-24 03:15:37 +0000 (Wed, 24 Nov 2010) 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 2010-11-23 14:30:39 UTC (rev 51966) +++ firebird/trunk/ChangeLog 2010-11-24 03:15:37 UTC (rev 51967) @@ -1,3 +1,16 @@ + 2010-11-23 14:30 asfernandes + M src/dsql/ExprNodes.h +Correction + + 2010-11-23 12:56 alexpeshkoff + M src/remote/server/os/posix/inet_server.cpp +Remove restriction on username, as it was discussed in devel + + 2010-11-23 09:43 alexpeshkoff + M builds/posix/Makefile.in + M builds/posix/make.defaults +Better handling of absolute and relative paths + 2010-11-22 23:47 asfernandes M src/dsql/ExprNodes.cpp Misc Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-23 14:30:39 UTC (rev 51966) +++ firebird/trunk/src/jrd/build_no.h 2010-11-24 03:15:37 UTC (rev 51967) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28913 + FORMAL BUILD NUMBER:28916 */ -#define PRODUCT_VER_STRING "3.0.0.28913" -#define FILE_VER_STRING "WI-T3.0.0.28913" -#define LICENSE_VER_STRING "WI-T3.0.0.28913" -#define FILE_VER_NUMBER 3, 0, 0, 28913 +#define PRODUCT_VER_STRING "3.0.0.28916" +#define FILE_VER_STRING "WI-T3.0.0.28916" +#define LICENSE_VER_STRING "WI-T3.0.0.28916" +#define FILE_VER_NUMBER 3, 0, 0, 28916 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28913" +#define FB_BUILD_NO "28916" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-23 14:30:39 UTC (rev 51966) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-24 03:15:37 UTC (rev 51967) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28913 +BuildNum=28916 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...> - 2010-11-25 15:48:45
|
Revision: 51978 http://firebird.svn.sourceforge.net/firebird/?rev=51978&view=rev Author: alexpeshkoff Date: 2010-11-25 15:48:37 +0000 (Thu, 25 Nov 2010) Log Message: ----------- Check for presence of sync functions Modified Paths: -------------- firebird/trunk/configure.in firebird/trunk/src/burp/burp.h Modified: firebird/trunk/configure.in =================================================================== --- firebird/trunk/configure.in 2010-11-25 12:23:46 UTC (rev 51977) +++ firebird/trunk/configure.in 2010-11-25 15:48:37 UTC (rev 51978) @@ -794,6 +794,7 @@ AC_CHECK_FUNCS(semtimedop) AC_CHECK_FUNCS(fegetenv) AC_CHECK_FUNCS(strerror_r) +AC_CHECK_FUNCS(fdatasync fsync) dnl AC_CHECK_FUNCS(AO_compare_and_swap_full) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <atomic_ops.h>]], [[AO_T x; AO_compare_and_swap_full(&x, 0, 0); return 0;]])], Modified: firebird/trunk/src/burp/burp.h =================================================================== --- firebird/trunk/src/burp/burp.h 2010-11-25 12:23:46 UTC (rev 51977) +++ firebird/trunk/src/burp/burp.h 2010-11-25 15:48:37 UTC (rev 51978) @@ -782,7 +782,11 @@ inline static void flush_platf(DESC file) { +#if defined(HAVE_FDATASYNC) fdatasync(file); +#elif defined(HAVE_FSYNC) + fsync(file); +#endif } #endif // WIN_NT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2010-11-26 03:41:51
|
Revision: 51980 http://firebird.svn.sourceforge.net/firebird/?rev=51980&view=rev Author: firebirds Date: 2010-11-26 03:41:43 +0000 (Fri, 26 Nov 2010) 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 2010-11-25 15:50:13 UTC (rev 51979) +++ firebird/trunk/ChangeLog 2010-11-26 03:41:43 UTC (rev 51980) @@ -1,3 +1,26 @@ + 2010-11-25 15:48 alexpeshkoff + M configure.in + M src/burp/burp.h +Check for presence of sync functions + + 2010-11-25 12:22 alexpeshkoff + M src/auth/SecurityDatabase/pwd.cpp + M src/jrd/cvt.cpp + M src/jrd/cvt_proto.h +Fixed CORE-3259: Deadlock and sefgault when processing ctrl-C in user code + + 2010-11-25 10:53 hvlad + M src/jrd/idx.cpp +Frontport fix for bug CORE-3188 : page 0 is of wrong type (expected 6, found 1) + + 2010-11-24 16:00 dimitr + M src/jrd/Function.epp +Fixed assertion when restoring a database having expression insides referencing non-existent UDFs. + + 2010-11-24 15:55 dimitr + M src/jrd/grant.epp +Fixed inability to restore privileges granted to roles. + 2010-11-23 14:30 asfernandes M src/dsql/ExprNodes.h Correction Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-25 15:50:13 UTC (rev 51979) +++ firebird/trunk/src/jrd/build_no.h 2010-11-26 03:41:43 UTC (rev 51980) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28916 + FORMAL BUILD NUMBER:28921 */ -#define PRODUCT_VER_STRING "3.0.0.28916" -#define FILE_VER_STRING "WI-T3.0.0.28916" -#define LICENSE_VER_STRING "WI-T3.0.0.28916" -#define FILE_VER_NUMBER 3, 0, 0, 28916 +#define PRODUCT_VER_STRING "3.0.0.28921" +#define FILE_VER_STRING "WI-T3.0.0.28921" +#define LICENSE_VER_STRING "WI-T3.0.0.28921" +#define FILE_VER_NUMBER 3, 0, 0, 28921 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28916" +#define FB_BUILD_NO "28921" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-25 15:50:13 UTC (rev 51979) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-26 03:41:43 UTC (rev 51980) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28916 +BuildNum=28921 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...> - 2010-11-27 03:48:00
|
Revision: 51987 http://firebird.svn.sourceforge.net/firebird/?rev=51987&view=rev Author: firebirds Date: 2010-11-27 03:47:52 +0000 (Sat, 27 Nov 2010) 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 2010-11-26 16:56:26 UTC (rev 51986) +++ firebird/trunk/ChangeLog 2010-11-27 03:47:52 UTC (rev 51987) @@ -1,3 +1,11 @@ + 2010-11-26 16:54 alexpeshkoff + M src/burp/OdsDetection.epp + M src/burp/backup.epp + M src/burp/burp.cpp + M src/burp/burp_proto.h + M src/burp/restore.epp +Fixed CORE-3261: Assertion when running restore service + 2010-11-25 15:48 alexpeshkoff M configure.in M src/burp/burp.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-26 16:56:26 UTC (rev 51986) +++ firebird/trunk/src/jrd/build_no.h 2010-11-27 03:47:52 UTC (rev 51987) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28921 + FORMAL BUILD NUMBER:28922 */ -#define PRODUCT_VER_STRING "3.0.0.28921" -#define FILE_VER_STRING "WI-T3.0.0.28921" -#define LICENSE_VER_STRING "WI-T3.0.0.28921" -#define FILE_VER_NUMBER 3, 0, 0, 28921 +#define PRODUCT_VER_STRING "3.0.0.28922" +#define FILE_VER_STRING "WI-T3.0.0.28922" +#define LICENSE_VER_STRING "WI-T3.0.0.28922" +#define FILE_VER_NUMBER 3, 0, 0, 28922 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28921" +#define FB_BUILD_NO "28922" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-26 16:56:26 UTC (rev 51986) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-27 03:47:52 UTC (rev 51987) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28921 +BuildNum=28922 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...> - 2010-11-28 03:45:58
|
Revision: 51990 http://firebird.svn.sourceforge.net/firebird/?rev=51990&view=rev Author: firebirds Date: 2010-11-28 03:45:52 +0000 (Sun, 28 Nov 2010) 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 2010-11-27 13:54:57 UTC (rev 51989) +++ firebird/trunk/ChangeLog 2010-11-28 03:45:52 UTC (rev 51990) @@ -1,3 +1,7 @@ + 2010-11-27 13:54 asfernandes + M src/auth/SecurityDatabase/pwd.cpp +Misc + 2010-11-26 16:54 alexpeshkoff M src/burp/OdsDetection.epp M src/burp/backup.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-27 13:54:57 UTC (rev 51989) +++ firebird/trunk/src/jrd/build_no.h 2010-11-28 03:45:52 UTC (rev 51990) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28922 + FORMAL BUILD NUMBER:28923 */ -#define PRODUCT_VER_STRING "3.0.0.28922" -#define FILE_VER_STRING "WI-T3.0.0.28922" -#define LICENSE_VER_STRING "WI-T3.0.0.28922" -#define FILE_VER_NUMBER 3, 0, 0, 28922 +#define PRODUCT_VER_STRING "3.0.0.28923" +#define FILE_VER_STRING "WI-T3.0.0.28923" +#define LICENSE_VER_STRING "WI-T3.0.0.28923" +#define FILE_VER_NUMBER 3, 0, 0, 28923 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28922" +#define FB_BUILD_NO "28923" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-27 13:54:57 UTC (rev 51989) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-28 03:45:52 UTC (rev 51990) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28922 +BuildNum=28923 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...> - 2010-11-29 02:17:13
|
Revision: 51995 http://firebird.svn.sourceforge.net/firebird/?rev=51995&view=rev Author: asfernandes Date: 2010-11-29 02:17:04 +0000 (Mon, 29 Nov 2010) Log Message: ----------- Refactored the support for blr_handler, blr_loop, blr_exec_sql, blr_exec_into, blr_exec_stmt, blr_start_savepoint, blr_end_savepoint, blr_store, blr_store2, blr_erase, blr_modify, blr_modify2, blr_exec_proc, blr_exec_proc2, blr_exec_pid, blr_dcl_cursor, blr_cursor_stmt, blr_set_generator, blr_receive, blr_stall, blr_select, blr_block, blr_error_handler, blr_label, blr_leave, blr_continue and the source info node. Modified Paths: -------------- firebird/trunk/builds/win32/msvc10/engine.vcxproj firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters firebird/trunk/builds/win32/msvc7/engine.vcproj firebird/trunk/builds/win32/msvc7/engine_classic.vcproj firebird/trunk/builds/win32/msvc7/engine_embed.vcproj firebird/trunk/builds/win32/msvc8/engine.vcproj firebird/trunk/builds/win32/msvc9/engine.vcproj firebird/trunk/src/dsql/DdlNodes.epp firebird/trunk/src/dsql/Nodes.h firebird/trunk/src/dsql/StmtNodes.cpp firebird/trunk/src/dsql/StmtNodes.h firebird/trunk/src/dsql/Visitors.h firebird/trunk/src/dsql/parse.y firebird/trunk/src/dsql/pass1.cpp firebird/trunk/src/jrd/JrdStatement.cpp firebird/trunk/src/jrd/JrdStatement.h firebird/trunk/src/jrd/cmp.cpp firebird/trunk/src/jrd/cmp_proto.h firebird/trunk/src/jrd/exe.cpp firebird/trunk/src/jrd/exe.h firebird/trunk/src/jrd/exe_proto.h firebird/trunk/src/jrd/extds/ExtDS.cpp firebird/trunk/src/jrd/extds/ExtDS.h firebird/trunk/src/jrd/extds/IscDS.cpp firebird/trunk/src/jrd/extds/IscDS.h firebird/trunk/src/jrd/inf.cpp firebird/trunk/src/jrd/nod.h firebird/trunk/src/jrd/par.cpp firebird/trunk/src/jrd/par_proto.h firebird/trunk/src/misc/blrtable.cpp Removed Paths: ------------- firebird/trunk/src/jrd/execute_statement.cpp firebird/trunk/src/jrd/execute_statement.h Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -76,7 +76,6 @@ <ClCompile Include="..\..\..\src\jrd\event.cpp" /> <ClCompile Include="..\..\..\src\jrd\evl.cpp" /> <ClCompile Include="..\..\..\src\jrd\exe.cpp" /> - <ClCompile Include="..\..\..\src\jrd\execute_statement.cpp" /> <ClCompile Include="..\..\..\src\jrd\ext.cpp" /> <ClCompile Include="..\..\..\src\jrd\extds\ExtDS.cpp" /> <ClCompile Include="..\..\..\src\jrd\extds\InternalDS.cpp" /> @@ -237,7 +236,6 @@ <ClInclude Include="..\..\..\src\jrd\evl_proto.h" /> <ClInclude Include="..\..\..\src\jrd\evl_string.h" /> <ClInclude Include="..\..\..\src\jrd\exe.h" /> - <ClInclude Include="..\..\..\src\jrd\execute_statement.h" /> <ClInclude Include="..\..\..\src\jrd\exe_proto.h" /> <ClInclude Include="..\..\..\src\jrd\ext.h" /> <ClInclude Include="..\..\..\src\jrd\extds\ExtDS.h" /> @@ -562,4 +560,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> \ No newline at end of file +</Project> Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2010-11-29 02:17:04 UTC (rev 51995) @@ -258,9 +258,6 @@ <ClCompile Include="..\..\..\src\jrd\exe.cpp"> <Filter>JRD files</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\jrd\execute_statement.cpp"> - <Filter>JRD files</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\jrd\ext.cpp"> <Filter>JRD files</Filter> </ClCompile> @@ -740,9 +737,6 @@ <ClInclude Include="..\..\..\src\jrd\exe_proto.h"> <Filter>Header files</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\jrd\execute_statement.h"> - <Filter>Header files</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\jrd\ext.h"> <Filter>Header files</Filter> </ClInclude> @@ -1096,4 +1090,4 @@ <Filter>Resource files</Filter> </ResourceCompile> </ItemGroup> -</Project> \ No newline at end of file +</Project> Modified: firebird/trunk/builds/win32/msvc7/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine.vcproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc7/engine.vcproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -107,8 +107,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe.cpp"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.cpp"> - </File> <File RelativePath="..\..\..\src\jrd\ext.cpp"> </File> <File RelativePath="..\..\..\src\jrd\extds\ExtDS.cpp"> @@ -371,8 +369,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe_proto.h"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.h"> - </File> <File RelativePath="..\..\..\src\jrd\ext.h"> </File> <File RelativePath="..\..\..\src\jrd\ext_proto.h"> @@ -649,4 +645,4 @@ </Files> <Globals> </Globals> -</VisualStudioProject> \ No newline at end of file +</VisualStudioProject> Modified: firebird/trunk/builds/win32/msvc7/engine_classic.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine_classic.vcproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc7/engine_classic.vcproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -107,8 +107,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe.cpp"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.cpp"> - </File> <File RelativePath="..\..\..\src\jrd\ext.cpp"> </File> <File RelativePath="..\..\..\src\jrd\extds\ExtDS.cpp"> @@ -371,8 +369,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe_proto.h"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.h"> - </File> <File RelativePath="..\..\..\src\jrd\ext.h"> </File> <File RelativePath="..\..\..\src\jrd\ext_proto.h"> @@ -647,4 +643,4 @@ </Files> <Globals> </Globals> -</VisualStudioProject> \ No newline at end of file +</VisualStudioProject> Modified: firebird/trunk/builds/win32/msvc7/engine_embed.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine_embed.vcproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc7/engine_embed.vcproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -107,8 +107,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe.cpp"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.cpp"> - </File> <File RelativePath="..\..\..\src\jrd\ext.cpp"> </File> <File RelativePath="..\..\..\src\jrd\extds\ExtDS.cpp"> @@ -371,8 +369,6 @@ </File> <File RelativePath="..\..\..\src\jrd\exe_proto.h"> </File> - <File RelativePath="..\..\..\src\jrd\execute_statement.h"> - </File> <File RelativePath="..\..\..\src\jrd\ext.h"> </File> <File RelativePath="..\..\..\src\jrd\ext_proto.h"> @@ -647,4 +643,4 @@ </Files> <Globals> </Globals> -</VisualStudioProject> \ No newline at end of file +</VisualStudioProject> Modified: firebird/trunk/builds/win32/msvc8/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc8/engine.vcproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc8/engine.vcproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -400,10 +400,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\execute_statement.cpp" - > - </File> - <File RelativePath="..\..\..\src\jrd\ext.cpp" > </File> @@ -1108,10 +1104,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\execute_statement.h" - > - </File> - <File RelativePath="..\..\..\src\dsql\ExprNodes.h" > </File> Modified: firebird/trunk/builds/win32/msvc9/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc9/engine.vcproj 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/builds/win32/msvc9/engine.vcproj 2010-11-29 02:17:04 UTC (rev 51995) @@ -400,10 +400,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\execute_statement.cpp" - > - </File> - <File RelativePath="..\..\..\src\jrd\ext.cpp" > </File> @@ -1108,10 +1104,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\execute_statement.h" - > - </File> - <File RelativePath="..\..\..\src\dsql\ExprNodes.h" > </File> Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/src/dsql/DdlNodes.epp 2010-11-29 02:17:04 UTC (rev 51995) @@ -8058,7 +8058,7 @@ bool found = false; - for (; search < end; ++search, replaceFields ? ++replace : NULL) + for (; search < end; ++search, replace += (replaceFields ? 1 : 0)) { const dsql_str* replaceName = NULL; if (replaceFields) Modified: firebird/trunk/src/dsql/Nodes.h =================================================================== --- firebird/trunk/src/dsql/Nodes.h 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/src/dsql/Nodes.h 2010-11-29 02:17:04 UTC (rev 51995) @@ -24,6 +24,7 @@ #define DSQL_NODES_H #include "../common/common.h" +#include "../jrd/jrd.h" #include "../dsql/DsqlCompilerScratch.h" #include "../dsql/node.h" #include "../dsql/Visitors.h" @@ -799,13 +800,129 @@ class StmtNode : public DmlNode { public: - explicit StmtNode(MemoryPool& pool) + enum Type + { + TYPE_BLOCK, + TYPE_CONTINUE_LEAVE, + TYPE_CURSOR_STMT, + TYPE_DECLARE_CURSOR, + TYPE_ERASE, + TYPE_ERROR_HANDLER, + TYPE_EXCEPTION, + TYPE_EXEC_BLOCK, + TYPE_EXEC_PROCEDURE, + TYPE_EXEC_STATEMENT, + TYPE_EXIT, + TYPE_IF, + TYPE_IN_AUTO_TRANS, + TYPE_FOR, + TYPE_HANDLER, + TYPE_LABEL, + TYPE_LOOP, + TYPE_MERGE, + TYPE_MODIFY, + TYPE_POST_EVENT, + TYPE_RECEIVE, + TYPE_RETURN, + TYPE_SAVEPOINT, + TYPE_SAVEPOINT_ENCLOSE, + TYPE_SELECT, + TYPE_SET_GENERATOR, + TYPE_SOURCE_INFO, + TYPE_STALL, + TYPE_STORE, + TYPE_SUSPEND, + TYPE_USER_SAVEPOINT + }; + + enum WhichTrigger + { + ALL_TRIGS = 0, + PRE_TRIG = 1, + POST_TRIG = 2 + }; + + struct ExeState + { + ExeState(thread_db* tdbb) + : oldPool(tdbb->getDefaultPool()), + oldRequest(tdbb->getRequest()), + errorPending(false), + catchDisabled(false), + whichEraseTrig(ALL_TRIGS), + whichStoTrig(ALL_TRIGS), + whichModTrig(ALL_TRIGS), + topNode(NULL), + prevNode(NULL) + { + } + + MemoryPool* oldPool; // Save the old pool to restore on exit. + jrd_req* oldRequest; // Save the old request to restore on exit. + bool errorPending; // Is there an error pending to be handled? + bool catchDisabled; // Catch errors so we can unwind cleanly. + WhichTrigger whichEraseTrig; + WhichTrigger whichStoTrig; + WhichTrigger whichModTrig; + const jrd_nod* topNode; + const jrd_nod* prevNode; + }; + +public: + explicit StmtNode(Type aType, MemoryPool& pool) : DmlNode(pool), + type(aType), node(NULL) { } -public: + template <typename T> T* as() + { + return type == T::TYPE ? static_cast<T*>(this) : NULL; + } + + template <typename T> const T* as() const + { + return type == T::TYPE ? static_cast<const T*>(this) : NULL; + } + + template <typename T> bool is() const + { + return type == T::TYPE; + } + + template <typename T, typename LegacyType> static T* as(LegacyType* node) + { + StmtNode* obj = T::fromLegacy(node); + return obj ? obj->as<T>() : NULL; + } + + template <typename T, typename LegacyType> static const T* as(const LegacyType* node) + { + const StmtNode* obj = T::fromLegacy(node); + return obj ? obj->as<T>() : NULL; + } + + template <typename T, typename LegacyType> static bool is(const LegacyType* node) + { + const StmtNode* obj = T::fromLegacy(node); + return obj ? obj->is<T>() : false; + } + + static const StmtNode* fromLegacy(const StmtNode* node) + { + return node; + } + + static StmtNode* fromLegacy(StmtNode* node) + { + return node; + } + + static StmtNode* fromLegacy(const dsql_nod* node); + static const StmtNode* fromLegacy(const jrd_nod* node); + static StmtNode* fromLegacy(jrd_nod* node); + jrd_nod* getNode() { return node; @@ -820,8 +937,11 @@ { } - virtual const jrd_nod* execute(thread_db* tdbb, jrd_req* request) const = 0; + virtual const jrd_nod* execute(thread_db* tdbb, jrd_req* request, ExeState* exeState) const = 0; +public: + const Type type; + protected: NestConst<jrd_nod> node; }; @@ -832,8 +952,8 @@ class DsqlOnlyStmtNode : public StmtNode { public: - explicit DsqlOnlyStmtNode(MemoryPool& pool) - : StmtNode(pool) + explicit DsqlOnlyStmtNode(Type aType, MemoryPool& pool) + : StmtNode(aType, pool) { } @@ -850,7 +970,7 @@ return this; } - const jrd_nod* execute(thread_db* /*tdbb*/, jrd_req* /*request*/) const + const jrd_nod* execute(thread_db* /*tdbb*/, jrd_req* /*request*/, ExeState* /*exeState*/) const { fb_assert(false); return NULL; @@ -859,11 +979,11 @@ // This class (via the make method) does the job that pass1_savepoint does for the legacy nodes. -class SavepointEncloseNode : public DsqlOnlyStmtNode +class SavepointEncloseNode : public TypedNode<DsqlOnlyStmtNode, StmtNode::TYPE_SAVEPOINT_ENCLOSE> { public: explicit SavepointEncloseNode(MemoryPool& pool, StmtNode* aStmt) - : DsqlOnlyStmtNode(pool), + : TypedNode<DsqlOnlyStmtNode, StmtNode::TYPE_SAVEPOINT_ENCLOSE>(pool), stmt(aStmt) { } Modified: firebird/trunk/src/dsql/StmtNodes.cpp =================================================================== --- firebird/trunk/src/dsql/StmtNodes.cpp 2010-11-28 19:51:03 UTC (rev 51994) +++ firebird/trunk/src/dsql/StmtNodes.cpp 2010-11-29 02:17:04 UTC (rev 51995) @@ -28,14 +28,23 @@ #include "../jrd/blr.h" #include "../jrd/tra.h" #include "../jrd/RecordSourceNodes.h" +#include "../jrd/VirtualTable.h" +#include "../jrd/extds/ExtDS.h" +#include "../jrd/recsrc/RecordSource.h" #include "../jrd/recsrc/Cursor.h" +#include "../jrd/trace/TraceManager.h" +#include "../jrd/trace/TraceJrdHelpers.h" #include "../jrd/cmp_proto.h" #include "../jrd/dfw_proto.h" +#include "../jrd/dpm_proto.h" #include "../jrd/evl_proto.h" #include "../jrd/exe_proto.h" +#include "../jrd/ext_proto.h" +#include "../jrd/idx_proto.h" #include "../jrd/met_proto.h" #include "../jrd/mov_proto.h" #include "../jrd/par_proto.h" +#include "../jrd/rlck_proto.h" #include "../jrd/tra_proto.h" #include "../dsql/ddl_proto.h" #include "../jrd/vio_proto.h" @@ -53,6 +62,28 @@ namespace Jrd { +StmtNode* StmtNode::fromLegacy(const dsql_nod* node) +{ + return node && node->nod_type == Dsql::nod_class_stmtnode ? + reinterpret_cast<StmtNode*>(node->nod_arg[0]) : NULL; +} + +const StmtNode* StmtNode::fromLegacy(const jrd_nod* node) +{ + return node && node->nod_type == nod_class_stmtnode_jrd ? + reinterpret_cast<const StmtNode*>(node->nod_arg[0]) : NULL; +} + +StmtNode* StmtNode::fromLegacy(jrd_nod* node) +{ + return node && node->nod_type == nod_class_stmtnode_jrd ? + reinterpret_cast<StmtNode*>(node->nod_arg[0]) : NULL; +} + + +//-------------------- + + StmtNode* SavepointEncloseNode::make(MemoryPool& pool, DsqlCompilerScratch* dsqlScratch, StmtNode* node) { if (dsqlScratch->errorHandlers) @@ -87,6 +118,1490 @@ //-------------------- +static RegisterNode<BlockNode> regBlockNode(blr_block); + +DmlNode* BlockNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) +{ + BlockNode* node = FB_NEW(pool) BlockNode(pool); + node->action = PAR_parse_node(tdbb, csb, STATEMENT); + + NodeStack stack; + + while (csb->csb_blr_reader.peekByte() != blr_end) + stack.push(PAR_parse_node(tdbb, csb, STATEMENT)); + + csb->csb_blr_reader.getByte(); // skip blr_end + + node->handlers = PAR_make_list(tdbb, stack); + + return node; +} + +BlockNode* BlockNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) +{ + return this; +} + +void BlockNode::print(string& text, Array<dsql_nod*>& /*nodes*/) const +{ + text = "BlockNode"; +} + +void BlockNode::genBlr(DsqlCompilerScratch* dsqlScratch) +{ +} + +BlockNode* BlockNode::pass1(thread_db* tdbb, CompilerScratch* csb) +{ + action = CMP_pass1(tdbb, csb, action); + handlers = CMP_pass1(tdbb, csb, handlers); + return this; +} + +BlockNode* BlockNode::pass2(thread_db* tdbb, CompilerScratch* csb) +{ + action = CMP_pass2(tdbb, csb, action, node); + handlers = CMP_pass2(tdbb, csb, handlers, node); + + node->nod_impure = CMP_impure(csb, sizeof(SLONG)); + + return this; +} + +const jrd_nod* BlockNode::execute(thread_db* tdbb, jrd_req* request, ExeState* exeState) const +{ + jrd_tra* transaction = request->req_transaction; + jrd_tra* sysTransaction = request->req_attachment->getSysTransaction(); + SLONG count; + + switch (request->req_operation) + { + case jrd_req::req_evaluate: + if (transaction != sysTransaction) + { + VIO_start_save_point(tdbb, transaction); + const Savepoint* save_point = transaction->tra_save_point; + count = save_point->sav_number; + *request->getImpure<SLONG>(node->nod_impure) = count; + } + return action; + + case jrd_req::req_unwind: + { + if (request->req_flags & (req_leave | req_continue_loop)) + { + // Although the req_operation is set to req_unwind, + // it's not an error case if req_leave/req_continue_loop bit is set. + // req_leave/req_continue_loop bit indicates that we hit an EXIT or + // BREAK/LEAVE/CONTINUE statement in the SP/trigger code. + // Do not perform the error handling stuff. + + if (transaction != sysTransaction) + { + count = *request->getImpure<SLONG>(node->nod_impure); + + for (const Savepoint* save_point = transaction->tra_save_point; + save_point && count <= save_point->sav_number; + save_point = transaction->tra_save_point) + { + EXE_verb_cleanup(tdbb, transaction); + } + } + + return node->nod_parent; + } + + if (transaction != sysTransaction) + { + count = *request->getImpure<SLONG>(node->nod_impure); + + // Since there occurred an error (req_unwind), undo all savepoints + // up to, but not including, the savepoint of this block. The + // savepoint of this block will be dealt with below. + + for (const Savepoint* save_point = transaction->tra_save_point; + save_point && count < save_point->sav_number; + save_point = transaction->tra_save_point) + { + ++transaction->tra_save_point->sav_verb_count; + EXE_verb_cleanup(tdbb, transaction); + } + } + + const jrd_nod* temp; + + if (handlers) + { + temp = node->nod_parent; + const jrd_nod* const* ptr = handlers->nod_arg; + + for (const jrd_nod* const* const end = ptr + handlers->nod_count; ptr < end; ++ptr) + { + const ErrorHandlerNode* handlerNode = StmtNode::as<ErrorHandlerNode>(*ptr); + const PsqlException* xcpNode = handlerNode->conditions; + + if (testAndFixupError(tdbb, request, xcpNode)) + { + request->req_operation = jrd_req::req_evaluate; + temp = handlerNode->action; + exeState->errorPending = false; + + // On entering looper exeState->oldRequest etc. are saved. + // On recursive calling we will loose the actual old + // request for that invocation of looper. Avoid this. + + { + Jrd::ContextPoolHolder contextLooper(tdbb, exeState->oldPool); + tdbb->setRequest(exeState->oldRequest); + fb_assert(request->req_caller == exeState->oldRequest); + request->req_caller = NULL; + + // Save the previous state of req_error_handler + // bit. We need to restore it later. This is + // necessary if the error handler is deeply nested. + + const ULONG prev_req_error_handler = + request->req_flags & req_error_handler; + request->req_flags |= req_error_handler; + temp = EXE_looper(tdbb, request, temp); + request->req_flags &= ~req_error_handler; + request->req_flags |= prev_req_error_handler; + + // Note: Previously the above call "temp = looper (tdbb, request, temp);" + // never returned back till the tree was executed completely. Now that + // the looper has changed its behaviour such that it returns back after + // handling error. This makes it necessary that the jmpbuf be reset + // so that looper can proceede with the processing of execution tree. + // If this is not done then anymore errors will take the engine out of + // looper there by abruptly terminating the processing. + + exeState->catchDisabled = false; + tdbb->setRequest(request); + fb_assert(request->req_caller == NULL); + request->req_caller = exeState->oldRequest; + } + + // The error is dealt with by the application, cleanup + // this block's savepoint. + + if (transaction != sysTransaction) + { + for (const Savepoint* save_point = transaction->tra_save_point; + save_point && count <= save_point->sav_number; + save_point = transaction->tra_save_point) + { + EXE_verb_cleanup(tdbb, transaction); + } + } + } + } + } + else + temp = node->nod_parent; + + // If the application didn't have an error handler, then + // the error will still be pending. Undo the block by + // using its savepoint. + + if (exeState->errorPending && transaction != sysTransaction) + { + for (const Savepoint* save_point = transaction->tra_save_point; + save_point && count <= save_point->sav_number; + save_point = transaction->tra_save_point) + { + ++transaction->tra_save_point->sav_verb_count; + EXE_verb_cleanup(tdbb, transaction); + } + } + + return temp; + } + + case jrd_req::req_return: + if (transaction != sysTransaction) + { + count = *request->getImpure<SLONG>(node->nod_impure); + + for (const Savepoint* save_point = transaction->tra_save_point; + save_point && count <= save_point->sav_number; + save_point = transaction->tra_save_point) + { + EXE_verb_cleanup(tdbb, transaction); + } + } + + default: + return node->nod_parent; + } + + fb_assert(false); + return NULL; +} + +// Test for match of current state with list of error conditions. Fix type and code of the exception. +bool BlockNode::testAndFixupError(thread_db* tdbb, jrd_req* request, const PsqlException* conditions) +{ + if (tdbb->tdbb_flags & TDBB_sys_error) + return false; + + ISC_STATUS* statusVector = tdbb->tdbb_status_vector; + const SSHORT sqlcode = gds__sqlcode(statusVector); + + bool found = false; + + for (USHORT i = 0; i < conditions->xcp_count; i++) + { + switch (conditions->xcp_rpt[i].xcp_type) + { + case xcp_sql_code: + if (sqlcode == conditions->xcp_rpt[i].xcp_code) + found = true; + break; + + case xcp_gds_code: + if (statusVector[1] == conditions->xcp_rpt[i].xcp_code) + found = true; + break; + + case xcp_xcp_code: + // Look at set_error() routine to understand how the + // exception ID info is encoded inside the status vector. + if ((statusVector[1] == isc_except) && + (statusVector[3] == conditions->xcp_rpt[i].xcp_code)) + { + found = true; + } + + break; + + case xcp_default: + found = true; + break; + + default: + fb_assert(false); + } + + if (found) + { + request->req_last_xcp.init(statusVector); + fb_utils::init_status(statusVector); + break; + } + } + + return found; +} + + +//-------------------- + + +static RegisterNode<ContinueLeaveNode> regContinueLeaveNodeContinue(blr_continue_loop); +static RegisterNode<ContinueLeaveNode> regContinueLeaveNodeLeave(blr_leave); + +DmlNode* ContinueLeaveNode::parse(thread_db* /*tdbb*/, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) +{ + ContinueLeaveNode* node = FB_NEW(pool) ContinueLeaveNode(pool, blrOp); + node->labelNumber = csb->csb_blr_reader.getByte(); + return node; +} + +ContinueLeaveNode* ContinueLeaveNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) +{ + return this; +} + +void ContinueLeaveNode::print(string& text, Array<dsql_nod*>& /*nodes*/) const +{ + text = "ContinueLeaveNode"; +} + +void ContinueLeaveNode::genBlr(DsqlCompilerScratch* dsqlScratch) +{ +} + +const jrd_nod* ContinueLeaveNode::execute(thread_db* /*tdbb*/, jrd_req* request, ExeState* /*exeState*/) const +{ + request->req_operation = jrd_req::req_unwind; + request->req_label = labelNumber; + request->req_flags |= (blrOp == blr_continue_loop ? req_continue_loop : req_leave); + return node->nod_parent; +} + + +//-------------------- + + +static RegisterNode<CursorStmtNode> regCursorStmtNode(blr_cursor_stmt); + +DmlNode* CursorStmtNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) +{ + CursorStmtNode* node = FB_NEW(pool) CursorStmtNode(pool); + + node->cursorOp = csb->csb_blr_reader.getByte(); + node->cursorNumber = csb->csb_blr_reader.getWord(); + + switch (node->cursorOp) + { + case blr_cursor_open: + case blr_cursor_close: + break; + + case blr_cursor_fetch_scroll: + node->scrollOp = csb->csb_blr_reader.getByte(); + node->scrollExpr = PAR_parse_value(tdbb, csb); + // fall into + + case blr_cursor_fetch: + csb->csb_g_flags |= csb_reuse_context; + node->intoStmt = PAR_parse_node(tdbb, csb, STATEMENT); + csb->csb_g_flags &= ~csb_reuse_context; + break; + + default: + PAR_syntax_error(csb, "cursor operation clause"); + } + + return node; +} + +CursorStmtNode* CursorStmtNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) +{ + return this; +} + +void CursorStmtNode::print(string& text, Array<dsql_nod*>& /*nodes*/) const +{ + text = "CursorStmtNode"; +} + +void CursorStmtNode::genBlr(DsqlCompilerScratch* dsqlScratch) +{ +} + +CursorStmtNode* CursorStmtNode::pass1(thread_db* tdbb, CompilerScratch* csb) +{ + scrollExpr = CMP_pass1(tdbb, csb, scrollExpr); + intoStmt = CMP_pass1(tdbb, csb, intoStmt); + return this; +} + +CursorStmtNode* CursorStmtNode::pass2(thread_db* tdbb, CompilerScratch* csb) +{ + scrollExpr = CMP_pass2(tdbb, csb, scrollExpr); + intoStmt = CMP_pass2(tdbb, csb, intoStmt, node); + return this; +} + +const jrd_nod* CursorStmtNode::execute(thread_db* tdbb, jrd_req* request, ExeState* /*exeState*/) const +{ + fb_assert(cursorNumber < request->req_cursors.getCount()); + const Cursor* const cursor = request->req_cursors[cursorNumber]; + bool fetched = false; + + switch (cursorOp) + { + case blr_cursor_open: + if (request->req_operation == jrd_req::req_evaluate) + { + cursor->open(tdbb); + request->req_operation = jrd_req::req_return; + } + return node->nod_parent; + + case blr_cursor_close: + if (request->req_operation == jrd_req::req_evaluate) + { + cursor->close(tdbb); + request->req_operation = jrd_req::req_return; + } + return node->nod_parent; + + case blr_cursor_fetch: + case blr_cursor_fetch_scroll: + switch (request->req_operation) + { + case jrd_req::req_evaluate: + request->req_records_affected.clear(); + + if (cursorOp == blr_cursor_fetch) + fetched = cursor->fetchNext(tdbb); + else + { + fb_assert(cursorOp == blr_cursor_fetch_scroll); + + const dsc* desc = EVL_expr(tdbb, request, scrollExpr); + const bool unknown = !desc || (request->req_flags & req_null); + const SINT64 offset = unknown ? 0 : MOV_get_int64(desc, 0); + + switch (scrollOp) + { + case blr_scroll_forward: + fetched = cursor->fetchNext(tdbb); + break; + case blr_scroll_backward: + fetched = cursor->fetchPrior(tdbb); + break; + case blr_scroll_bof: + fetched = cursor->fetchFirst(tdbb); + break; + case blr_scroll_eof: + fetched = cursor->fetchLast(tdbb); + break; + case blr_scroll_absolute: + fetched = unknown ? false : cursor->fetchAbsolute(tdbb, offset); + break; + case blr_scroll_relative: + fetched = unknown ? false : cursor->fetchRelative(tdbb, offset); + break; + default: + fb_assert(false); + fetched = false; + } + } + + if (fetched) + { + request->req_operation = jrd_req::req_evaluate; + return intoStmt; + } + + request->req_operation = jrd_req::req_return; + + default: + return node->nod_parent; + } + break; + } + + fb_assert(false); + return NULL; +} + + +//-------------------- + + +static RegisterNode<DeclareCursorNode> regDeclareCursorNode(blr_dcl_cursor); + +DmlNode* DeclareCursorNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) +{ + DeclareCursorNode* node = FB_NEW(pool) DeclareCursorNode(pool); + + node->cursorNumber = csb->csb_blr_reader.getWord(); + node->rse = PAR_rse(tdbb, csb); + + USHORT count = csb->csb_blr_reader.getWord(); + node->refs = PAR_args(tdbb, csb, count, count); + + return node; +} + +DeclareCursorNode* DeclareCursorNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) +{ + return this; +} + +void DeclareCursorNode::print(string& text, Array<dsql_nod*>& /*nodes*/) const +{ + text = "DeclareCursorNode"; +} + +void DeclareCursorNode::genBlr(DsqlCompilerScratch* dsqlScratch) +{ +} + +DeclareCursorNode* DeclareCursorNode::pass1(thread_db* tdbb, CompilerScratch* csb) +{ + rse = rse->pass1(tdbb, csb); + refs = refs->pass1(tdbb, csb); + return this; +} + +DeclareCursorNode* DeclareCursorNode::pass2(thread_db* tdbb, CompilerScratch* csb) +{ + rse = rse->pass2(tdbb, csb); + refs = refs->pass2(tdbb, csb); + ret... [truncated message content] |
From: <fir...@us...> - 2010-11-29 04:01:27
|
Revision: 51996 http://firebird.svn.sourceforge.net/firebird/?rev=51996&view=rev Author: firebirds Date: 2010-11-29 04:01:21 +0000 (Mon, 29 Nov 2010) 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 2010-11-29 02:17:04 UTC (rev 51995) +++ firebird/trunk/ChangeLog 2010-11-29 04:01:21 UTC (rev 51996) @@ -1,3 +1,50 @@ + 2010-11-29 02:17 asfernandes + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters + M builds/win32/msvc7/engine.vcproj + M builds/win32/msvc7/engine_classic.vcproj + M builds/win32/msvc7/engine_embed.vcproj + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj + M src/dsql/DdlNodes.epp + M src/dsql/Nodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/dsql/Visitors.h + M src/dsql/parse.y + M src/dsql/pass1.cpp + M src/jrd/JrdStatement.cpp + M src/jrd/JrdStatement.h + M src/jrd/cmp.cpp + M src/jrd/cmp_proto.h + M src/jrd/exe.cpp + M src/jrd/exe.h + M src/jrd/exe_proto.h + D src/jrd/execute_statement.cpp + D src/jrd/execute_statement.h + M src/jrd/extds/ExtDS.cpp + M src/jrd/extds/ExtDS.h + M src/jrd/extds/IscDS.cpp + M src/jrd/extds/IscDS.h + M src/jrd/inf.cpp + M src/jrd/nod.h + M src/jrd/par.cpp + M src/jrd/par_proto.h + M src/misc/blrtable.cpp +Refactored the support for blr_handler, blr_loop, blr_exec_sql, blr_exec_into, blr_exec_stmt, +blr_start_savepoint, blr_end_savepoint, blr_store, blr_store2, blr_erase, blr_modify, +blr_modify2, blr_exec_proc, blr_exec_proc2, blr_exec_pid, blr_dcl_cursor, blr_cursor_stmt, +blr_set_generator, blr_receive, blr_stall, blr_select, blr_block, blr_error_handler, +blr_label, blr_leave, blr_continue and the source info node. + + 2010-11-28 18:53 skidder + M src/jrd/pag.cpp +Port fix for frequent random lock conflict errors from RDB 2.1 + + 2010-11-28 14:56 asfernandes + M src/jrd/extds/InternalDS.cpp +Fixed segfault after EXECUTE STATEMENT with invalid SQL + 2010-11-27 13:54 asfernandes M src/auth/SecurityDatabase/pwd.cpp Misc Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-29 02:17:04 UTC (rev 51995) +++ firebird/trunk/src/jrd/build_no.h 2010-11-29 04:01:21 UTC (rev 51996) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28923 + FORMAL BUILD NUMBER:28926 */ -#define PRODUCT_VER_STRING "3.0.0.28923" -#define FILE_VER_STRING "WI-T3.0.0.28923" -#define LICENSE_VER_STRING "WI-T3.0.0.28923" -#define FILE_VER_NUMBER 3, 0, 0, 28923 +#define PRODUCT_VER_STRING "3.0.0.28926" +#define FILE_VER_STRING "WI-T3.0.0.28926" +#define LICENSE_VER_STRING "WI-T3.0.0.28926" +#define FILE_VER_NUMBER 3, 0, 0, 28926 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28923" +#define FB_BUILD_NO "28926" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-29 02:17:04 UTC (rev 51995) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-29 04:01:21 UTC (rev 51996) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28923 +BuildNum=28926 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...> - 2010-11-30 04:06:12
|
Revision: 52004 http://firebird.svn.sourceforge.net/firebird/?rev=52004&view=rev Author: firebirds Date: 2010-11-30 04:06:03 +0000 (Tue, 30 Nov 2010) 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 2010-11-29 16:02:13 UTC (rev 52003) +++ firebird/trunk/ChangeLog 2010-11-30 04:06:03 UTC (rev 52004) @@ -1,3 +1,17 @@ + 2010-11-29 15:06 hvlad + M src/remote/server/os/win32/srvr_w32.cpp + M src/remote/server/os/win32/window.cpp +Fixed bug CORE-3266 : Race condition between async service detach request and running user trace service + + 2010-11-29 14:54 asfernandes + M src/dsql/StmtNodes.cpp + M src/dsql/Visitors.h + M src/jrd/cmp.cpp + M src/jrd/cmp_proto.h + M src/jrd/exe.cpp + M src/jrd/exe_proto.h +Move some previously static functions to StmtNodes.cpp + 2010-11-29 02:17 asfernandes M builds/win32/msvc10/engine.vcxproj M builds/win32/msvc10/engine.vcxproj.filters Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-29 16:02:13 UTC (rev 52003) +++ firebird/trunk/src/jrd/build_no.h 2010-11-30 04:06:03 UTC (rev 52004) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28926 + FORMAL BUILD NUMBER:28928 */ -#define PRODUCT_VER_STRING "3.0.0.28926" -#define FILE_VER_STRING "WI-T3.0.0.28926" -#define LICENSE_VER_STRING "WI-T3.0.0.28926" -#define FILE_VER_NUMBER 3, 0, 0, 28926 +#define PRODUCT_VER_STRING "3.0.0.28928" +#define FILE_VER_STRING "WI-T3.0.0.28928" +#define LICENSE_VER_STRING "WI-T3.0.0.28928" +#define FILE_VER_NUMBER 3, 0, 0, 28928 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28926" +#define FB_BUILD_NO "28928" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-29 16:02:13 UTC (rev 52003) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-11-30 04:06:03 UTC (rev 52004) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28926 +BuildNum=28928 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...> - 2010-12-01 03:53:56
|
Revision: 52010 http://firebird.svn.sourceforge.net/firebird/?rev=52010&view=rev Author: firebirds Date: 2010-12-01 03:53:48 +0000 (Wed, 01 Dec 2010) 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 2010-11-30 15:11:42 UTC (rev 52009) +++ firebird/trunk/ChangeLog 2010-12-01 03:53:48 UTC (rev 52010) @@ -1,3 +1,15 @@ + 2010-11-30 15:11 asfernandes + M src/dsql/ExprNodes.cpp +Improvement CORE-3234 - Support for text BLOBs >= 32K as first argument for TRIM() + + 2010-11-30 09:16 alexpeshkoff + M src/yvalve/why.cpp +Use huge timeout instead none as suggested by Vlad + + 2010-11-30 08:57 alexpeshkoff + M builds/posix/make.rules +Make it work with long paths, when ":" is placed on the second line of file + 2010-11-29 15:06 hvlad M src/remote/server/os/win32/srvr_w32.cpp M src/remote/server/os/win32/window.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-11-30 15:11:42 UTC (rev 52009) +++ firebird/trunk/src/jrd/build_no.h 2010-12-01 03:53:48 UTC (rev 52010) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28928 + FORMAL BUILD NUMBER:28931 */ -#define PRODUCT_VER_STRING "3.0.0.28928" -#define FILE_VER_STRING "WI-T3.0.0.28928" -#define LICENSE_VER_STRING "WI-T3.0.0.28928" -#define FILE_VER_NUMBER 3, 0, 0, 28928 +#define PRODUCT_VER_STRING "3.0.0.28931" +#define FILE_VER_STRING "WI-T3.0.0.28931" +#define LICENSE_VER_STRING "WI-T3.0.0.28931" +#define FILE_VER_NUMBER 3, 0, 0, 28931 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28928" +#define FB_BUILD_NO "28931" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-11-30 15:11:42 UTC (rev 52009) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-01 03:53:48 UTC (rev 52010) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28928 +BuildNum=28931 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...> - 2010-12-03 03:36:07
|
Revision: 52019 http://firebird.svn.sourceforge.net/firebird/?rev=52019&view=rev Author: firebirds Date: 2010-12-03 03:36:00 +0000 (Fri, 03 Dec 2010) 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 2010-12-02 19:54:33 UTC (rev 52018) +++ firebird/trunk/ChangeLog 2010-12-03 03:36:00 UTC (rev 52019) @@ -1,3 +1,11 @@ + 2010-12-02 19:54 dimitr + M src/yvalve/gds.cpp +InitPrefix::init() should never throw, it leads to the infinite recursion with a stack overflow. + + 2010-12-01 16:20 alexpeshkoff + M builds/posix/Makefile.in +Fixed build without --with-system-editline switch + 2010-11-30 15:11 asfernandes M src/dsql/ExprNodes.cpp Improvement CORE-3234 - Support for text BLOBs >= 32K as first argument for TRIM() Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-02 19:54:33 UTC (rev 52018) +++ firebird/trunk/src/jrd/build_no.h 2010-12-03 03:36:00 UTC (rev 52019) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28931 + FORMAL BUILD NUMBER:28933 */ -#define PRODUCT_VER_STRING "3.0.0.28931" -#define FILE_VER_STRING "WI-T3.0.0.28931" -#define LICENSE_VER_STRING "WI-T3.0.0.28931" -#define FILE_VER_NUMBER 3, 0, 0, 28931 +#define PRODUCT_VER_STRING "3.0.0.28933" +#define FILE_VER_STRING "WI-T3.0.0.28933" +#define LICENSE_VER_STRING "WI-T3.0.0.28933" +#define FILE_VER_NUMBER 3, 0, 0, 28933 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28931" +#define FB_BUILD_NO "28933" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-02 19:54:33 UTC (rev 52018) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-03 03:36:00 UTC (rev 52019) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28931 +BuildNum=28933 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...> - 2010-12-04 22:15:15
|
Revision: 52024 http://firebird.svn.sourceforge.net/firebird/?rev=52024&view=rev Author: asfernandes Date: 2010-12-04 22:15:03 +0000 (Sat, 04 Dec 2010) Log Message: ----------- Finish the statements refactor in the engine. Get rid of jrd_nod. Modified Paths: -------------- firebird/trunk/builds/mac_os_x/CS/CS.pbproj/project.pbxproj firebird/trunk/builds/posix/Makefile.in firebird/trunk/builds/posix/make.defaults firebird/trunk/builds/posix/make.shared.targets firebird/trunk/builds/posix/make.shared.variables firebird/trunk/builds/win32/clean_all.bat firebird/trunk/builds/win32/make_boot.bat firebird/trunk/builds/win32/msvc7/engine.vcproj firebird/trunk/builds/win32/msvc7/engine_classic.vcproj firebird/trunk/builds/win32/msvc7/engine_embed.vcproj firebird/trunk/builds/win32/msvc8/engine.vcproj firebird/trunk/builds/win32/msvc9/engine.vcproj firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/AggNodes.cpp firebird/trunk/src/dsql/BoolNodes.cpp firebird/trunk/src/dsql/BoolNodes.h firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/dsql/ExprNodes.h firebird/trunk/src/dsql/Nodes.h firebird/trunk/src/dsql/StmtNodes.cpp firebird/trunk/src/dsql/StmtNodes.h firebird/trunk/src/dsql/Visitors.h firebird/trunk/src/dsql/WinNodes.cpp 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/jrd/Attachment.h firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/Function.epp firebird/trunk/src/jrd/JrdStatement.cpp firebird/trunk/src/jrd/JrdStatement.h firebird/trunk/src/jrd/RecordSourceNodes.cpp firebird/trunk/src/jrd/RecordSourceNodes.h firebird/trunk/src/jrd/Relation.h firebird/trunk/src/jrd/btr.h firebird/trunk/src/jrd/cmp.cpp firebird/trunk/src/jrd/cmp_proto.h firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/evl.cpp firebird/trunk/src/jrd/exe.cpp firebird/trunk/src/jrd/exe.h firebird/trunk/src/jrd/exe_proto.h firebird/trunk/src/jrd/ext_proto.h firebird/trunk/src/jrd/extds/ExtDS.cpp firebird/trunk/src/jrd/extds/ExtDS.h firebird/trunk/src/jrd/inf.cpp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/jrd.h firebird/trunk/src/jrd/lls.h firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/met_proto.h firebird/trunk/src/jrd/opt_proto.h firebird/trunk/src/jrd/par.cpp firebird/trunk/src/jrd/par_proto.h firebird/trunk/src/jrd/pcmet.epp firebird/trunk/src/jrd/recsrc/ProcedureScan.cpp firebird/trunk/src/jrd/recsrc/RecordSource.h firebird/trunk/src/jrd/req.h firebird/trunk/src/jrd/rse.h firebird/trunk/src/jrd/trace/TraceObjects.cpp firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql Removed Paths: ------------- firebird/trunk/builds/win32/blrtable.bat firebird/trunk/src/jrd/nod.h firebird/trunk/src/misc/blrtable.cpp Modified: firebird/trunk/builds/mac_os_x/CS/CS.pbproj/project.pbxproj =================================================================== --- firebird/trunk/builds/mac_os_x/CS/CS.pbproj/project.pbxproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/mac_os_x/CS/CS.pbproj/project.pbxproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -1951,11 +1951,6 @@ path = autoconfig_msvc.h; refType = 4; }; - F616C4560200B0CF01EF0ADE = { - isa = PBXFileReference; - path = blrtable.h; - refType = 4; - }; F616C4580200B0CF01EF0ADE = { isa = PBXFileReference; path = codetext.h; @@ -3801,16 +3796,6 @@ path = blr.h; refType = 4; }; - F616C5820200B0CF01EF0ADE = { - isa = PBXFileReference; - path = blrtable.cpp; - refType = 4; - }; - F616C5830200B0CF01EF0ADE = { - isa = PBXFileReference; - path = blrtable.h; - refType = 4; - }; F616C5860200B0CF01EF0ADE = { children = ( F616C5870200B0CF01EF0ADE, Modified: firebird/trunk/builds/posix/Makefile.in =================================================================== --- firebird/trunk/builds/posix/Makefile.in 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/posix/Makefile.in 2010-12-04 22:15:03 UTC (rev 52024) @@ -145,7 +145,7 @@ # gpre_boot # -boot: $(GPRE_BOOT) $(SRC_ROOT)/include/gen/blrtable.h +boot: $(GPRE_BOOT) $(GPRE_BOOT): $(GPRE_Boot_Objects) $(COMMON_LIB) $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) @@ -554,7 +554,6 @@ -$(RM) $(GEN_ROOT)/examples/Make* $(RM) $(ROOT)/Makefile $(RM) $(SRC_ROOT)/include/gen/autoconfig.h - $(RM) $(SRC_ROOT)/include/gen/blrtable.h clean_gpre_gen: -$(RM) -f `find $(TMP_ROOT)/ -type f -name '*.cpp' -print` Modified: firebird/trunk/builds/posix/make.defaults =================================================================== --- firebird/trunk/builds/posix/make.defaults 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/posix/make.defaults 2010-12-04 22:15:03 UTC (rev 52024) @@ -200,9 +200,7 @@ # From jrd -BLRTABLE = $(BIN)/blrtable$(EXEC_EXT) - # The firebird shared library name # SD: This name is also hard-coded in builds/install/.../linux/classic scripts. # Scold me, but I don't want library names to be in configure.in Modified: firebird/trunk/builds/posix/make.shared.targets =================================================================== --- firebird/trunk/builds/posix/make.shared.targets 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/posix/make.shared.targets 2010-12-04 22:15:03 UTC (rev 52024) @@ -57,17 +57,9 @@ #$(SRC_ROOT)/qli/meta.cpp $(SRC_ROOT)/qli/proc.cpp $(SRC_ROOT)/qli/show.cpp: yachts.lnk #$(SRC_ROOT)/qli/help.cpp: help.fdb -# Explicit dependencies on generated header -$(OBJ)/jrd/par.o: $(SRC_ROOT)/include/gen/blrtable.h - # Explicit dependence on generated header (parser) $(OBJ)/dsql/Parser.o $(OBJ)/yvalve/keywords.o $(OBJ)/dsql/dsql.o: $(SRC_ROOT)/include/gen/parse.h -$(OBJ)/dsql/AggNodes.o: $(SRC_ROOT)/include/gen/blrtable.h -$(OBJ)/dsql/ExprNodes.o: $(SRC_ROOT)/include/gen/blrtable.h -$(OBJ)/dsql/StmtNodes.o: $(SRC_ROOT)/include/gen/blrtable.h -$(OBJ)/dsql/WinNodes.o: $(SRC_ROOT)/include/gen/blrtable.h - # Special cases for building cpp from epp $(OBJ)/dsql/metd.cpp: $(SRC_ROOT)/dsql/metd.epp $(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $< $@ @@ -78,13 +70,6 @@ $(OBJ)/dsql/PackageNodes.cpp: $(SRC_ROOT)/dsql/PackageNodes.epp $(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $< $@ -# Rebuild blrtable.h -$(SRC_ROOT)/include/gen/blrtable.h: $(BLRTABLE) - $(BLRTABLE) > $(SRC_ROOT)/include/gen/blrtable.h - -$(BLRTABLE): $(BLRTABLE_Objects) - $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) - # Adding resources as prerequisite for some files $(FilesToAddVersionInfo): $(GEN_ROOT)/jrd/version.res Modified: firebird/trunk/builds/posix/make.shared.variables =================================================================== --- firebird/trunk/builds/posix/make.shared.variables 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/posix/make.shared.variables 2010-12-04 22:15:03 UTC (rev 52024) @@ -192,9 +192,3 @@ BUILD_Objects:= $(call makeObjects,msgs,build_file.epp) AllObjects += $(BUILD_Objects) - - -# BLR -BLRTABLE_Objects = $(call makeObjects,misc,blrtable.cpp) - -AllObjects += $(BLRTABLE_Objects) Deleted: firebird/trunk/builds/win32/blrtable.bat =================================================================== --- firebird/trunk/builds/win32/blrtable.bat 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/blrtable.bat 2010-12-04 22:15:03 UTC (rev 52024) @@ -1,19 +0,0 @@ -@echo off - -@cl -Ob2iytp -Gs -DWIN95 -W3 -G4 -Gd -MD -I..\..\src\include -I..\..\src\include\gen -DSUPERSERVER -DNOMSG -D_X86_=1 -DWIN32 -DI386 ..\..\src\misc\blrtable.cpp > blrtable_%FB_TARGET_PLATFORM%.log 2>&1 -@if errorlevel 1 goto :ERROR -@blrtable.exe > blrtable.h -@copy blrtable.h ..\..\src\include\gen\blrtable.h > nul -@del blrtable.exe -@del blrtable.obj -@del blrtable.h - -goto :EOF - - -:ERROR -@echo. -@echo A compiler error occurred. -@echo. -goto :EOF - Modified: firebird/trunk/builds/win32/clean_all.bat =================================================================== --- firebird/trunk/builds/win32/clean_all.bat 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/clean_all.bat 2010-12-04 22:15:03 UTC (rev 52024) @@ -45,7 +45,6 @@ if defined FB_CLEAN_SHARED ( @echo Cleaning shared gen and dsql files... @del %FB_ROOT_PATH%\src\include\gen\autoconfig.h 2>nul -@del %FB_ROOT_PATH%\src\include\gen\blrtable.h 2>nul @del %FB_ROOT_PATH%\src\dsql\dsql.tab.h 2>nul @del %FB_ROOT_PATH%\src\dsql\parse.cpp 2>nul ) Modified: firebird/trunk/builds/win32/make_boot.bat =================================================================== --- firebird/trunk/builds/win32/make_boot.bat 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/make_boot.bat 2010-12-04 22:15:03 UTC (rev 52024) @@ -44,11 +44,6 @@ if "%ERRLEV%"=="1" goto :END ::======= -@echo. -@echo Building BLR Table -@call blrtable.bat - -::======= call :gpre_boot if "%ERRLEV%"=="1" goto :END Modified: firebird/trunk/builds/win32/msvc7/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine.vcproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/msvc7/engine.vcproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -279,8 +279,6 @@ </File> <File RelativePath="..\..\..\src\jrd\BlrReader.h"> </File> - <File RelativePath="..\..\..\src\include\gen\blrtable.h"> - </File> <File RelativePath="..\..\..\src\jrd\btn.h"> </File> <File RelativePath="..\..\..\src\jrd\btr.h"> Modified: firebird/trunk/builds/win32/msvc7/engine_classic.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine_classic.vcproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/msvc7/engine_classic.vcproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -279,8 +279,6 @@ </File> <File RelativePath="..\..\..\src\jrd\BlrReader.h"> </File> - <File RelativePath="..\..\..\src\include\gen\blrtable.h"> - </File> <File RelativePath="..\..\..\src\jrd\btn.h"> </File> <File RelativePath="..\..\..\src\jrd\btr.h"> Modified: firebird/trunk/builds/win32/msvc7/engine_embed.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc7/engine_embed.vcproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/msvc7/engine_embed.vcproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -279,8 +279,6 @@ </File> <File RelativePath="..\..\..\src\jrd\BlrReader.h"> </File> - <File RelativePath="..\..\..\src\include\gen\blrtable.h"> - </File> <File RelativePath="..\..\..\src\jrd\btn.h"> </File> <File RelativePath="..\..\..\src\jrd\btr.h"> Modified: firebird/trunk/builds/win32/msvc8/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc8/engine.vcproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/msvc8/engine.vcproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -912,10 +912,6 @@ > </File> <File - RelativePath="..\..\..\src\include\gen\blrtable.h" - > - </File> - <File RelativePath="..\..\..\src\dsql\BlrWriter.h" > </File> Modified: firebird/trunk/builds/win32/msvc9/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc9/engine.vcproj 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/builds/win32/msvc9/engine.vcproj 2010-12-04 22:15:03 UTC (rev 52024) @@ -912,10 +912,6 @@ > </File> <File - RelativePath="..\..\..\src\include\gen\blrtable.h" - > - </File> - <File RelativePath="..\..\..\src\dsql\BlrWriter.h" > </File> Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2010-12-04 22:15:03 UTC (rev 52024) @@ -1454,6 +1454,8 @@ PARAMETER (GDS__request_outdated = 335545020) INTEGER*4 GDS__bad_events_handle PARAMETER (GDS__bad_events_handle = 335545021) + INTEGER*4 GDS__cannot_copy_stmt + PARAMETER (GDS__cannot_copy_stmt = 335545022) 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 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/lang_helpers/gds_codes.pas 2010-12-04 22:15:03 UTC (rev 52024) @@ -734,6 +734,7 @@ gds_private_procedure = 335545019; gds_request_outdated = 335545020; gds_bad_events_handle = 335545021; + gds_cannot_copy_stmt = 335545022; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/dsql/AggNodes.cpp =================================================================== --- firebird/trunk/src/dsql/AggNodes.cpp 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/AggNodes.cpp 2010-12-04 22:15:03 UTC (rev 52024) @@ -46,8 +46,6 @@ using namespace Firebird; using namespace Jrd; -#include "gen/blrtable.h" - namespace Jrd { Modified: firebird/trunk/src/dsql/BoolNodes.cpp =================================================================== --- firebird/trunk/src/dsql/BoolNodes.cpp 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/BoolNodes.cpp 2010-12-04 22:15:03 UTC (rev 52024) @@ -45,8 +45,6 @@ using namespace Firebird; using namespace Jrd; -#include "gen/blrtable.h" - namespace Jrd { @@ -140,7 +138,7 @@ addChildNode(dsqlArg2, arg2); } -BoolExprNode* BinaryBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) +DmlNode* BinaryBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) { BinaryBoolNode* node = FB_NEW(pool) BinaryBoolNode(pool, blrOp); node->arg1 = PAR_parse_boolean(tdbb, csb); @@ -351,7 +349,7 @@ addChildNode(dsqlArg3, arg3); } -BoolExprNode* ComparativeBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) +DmlNode* ComparativeBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) { ComparativeBoolNode* node = FB_NEW(pool) ComparativeBoolNode(pool, blrOp); @@ -586,7 +584,7 @@ break; } - arg1 = CMP_pass1(tdbb, csb, arg1); + doPass1(tdbb, csb, arg1.getAddress()); if (invariantCheck) { @@ -595,11 +593,9 @@ csb->csb_current_nodes.push(this); } - arg2 = CMP_pass1(tdbb, csb, arg2); + doPass1(tdbb, csb, arg2.getAddress()); + doPass1(tdbb, csb, arg3.getAddress()); - if (arg3) - arg3 = CMP_pass1(tdbb, csb, arg3); - if (invariantCheck) { csb->csb_current_nodes.pop(); @@ -1347,7 +1343,7 @@ addChildNode(dsqlArg, arg); } -BoolExprNode* MissingBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) +DmlNode* MissingBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) { MissingBoolNode* node = FB_NEW(pool) MissingBoolNode(pool); node->arg = PAR_parse_value(tdbb, csb); @@ -1429,7 +1425,7 @@ addChildNode(dsqlArg, arg); } -BoolExprNode* NotBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) +DmlNode* NotBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR /*blrOp*/) { NotBoolNode* node = FB_NEW(pool) NotBoolNode(pool); node->arg = PAR_parse_boolean(tdbb, csb); @@ -1625,7 +1621,7 @@ addChildNode(dsqlRse, rse); } -BoolExprNode* RseBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) +DmlNode* RseBoolNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) { RseBoolNode* node = FB_NEW(pool) RseBoolNode(pool, blrOp); node->rse = PAR_rse(tdbb, csb); @@ -1698,7 +1694,10 @@ { BoolExprNode* newNode = convertNeqAllToNotAny(tdbb, csb); if (newNode) - return CMP_pass1(tdbb, csb, newNode); + { + doPass1(tdbb, csb, &newNode); + return newNode; + } nodFlags |= FLAG_DEOPTIMIZE; } Modified: firebird/trunk/src/dsql/BoolNodes.h =================================================================== --- firebird/trunk/src/dsql/BoolNodes.h 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/BoolNodes.h 2010-12-04 22:15:03 UTC (rev 52024) @@ -37,7 +37,7 @@ public: BinaryBoolNode(MemoryPool& pool, UCHAR aBlrOp, dsql_nod* aArg1 = NULL, dsql_nod* aArg2 = NULL); - static BoolExprNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); + static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); virtual void print(Firebird::string& text, Firebird::Array<dsql_nod*>& nodes) const; virtual BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); @@ -75,7 +75,7 @@ ComparativeBoolNode(MemoryPool& pool, UCHAR aBlrOp, dsql_nod* aArg1 = NULL, dsql_nod* aArg2 = NULL, dsql_nod* aArg3 = NULL); - static BoolExprNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); + static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); virtual void print(Firebird::string& text, Firebird::Array<dsql_nod*>& nodes) const; virtual BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); @@ -122,7 +122,7 @@ public: MissingBoolNode(MemoryPool& pool, dsql_nod* aArg = NULL); - static BoolExprNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); + static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); virtual void print(Firebird::string& text, Firebird::Array<dsql_nod*>& nodes) const; virtual BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); @@ -149,7 +149,7 @@ public: NotBoolNode(MemoryPool& pool, dsql_nod* aArg = NULL); - static BoolExprNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); + static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); virtual void print(Firebird::string& text, Firebird::Array<dsql_nod*>& nodes) const; virtual BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); @@ -178,7 +178,7 @@ public: RseBoolNode(MemoryPool& pool, UCHAR aBlrOp, dsql_nod* aDsqlRse = NULL); - static BoolExprNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); + static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp); virtual void print(Firebird::string& text, Firebird::Array<dsql_nod*>& nodes) const; virtual BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); Modified: firebird/trunk/src/dsql/ExprNodes.cpp =================================================================== --- firebird/trunk/src/dsql/ExprNodes.cpp 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/ExprNodes.cpp 2010-12-04 22:15:03 UTC (rev 52024) @@ -25,6 +25,7 @@ #include "../common/classes/VaryStr.h" #include "../dsql/ExprNodes.h" #include "../dsql/BoolNodes.h" +#include "../dsql/StmtNodes.h" #include "../dsql/node.h" #include "../jrd/align.h" #include "../jrd/blr.h" @@ -59,8 +60,6 @@ using namespace Firebird; using namespace Jrd; -#include "gen/blrtable.h" - namespace Jrd { @@ -115,18 +114,6 @@ reinterpret_cast<ExprNode*>(node->nod_arg[0]) : NULL; } -const ExprNode* ExprNode::fromLegacy(const jrd_nod* node) -{ - return node && node->nod_type == nod_class_exprnode_jrd ? - reinterpret_cast<const ExprNode*>(node->nod_arg[0]) : NULL; -} - -ExprNode* ExprNode::fromLegacy(jrd_nod* node) -{ - return node && node->nod_type == nod_class_exprnode_jrd ? - reinterpret_cast<ExprNode*>(node->nod_arg[0]) : NULL; -} - bool ExprNode::dsqlVisit(ConstDsqlNodeVisitor& visitor) { bool ret = false; @@ -149,7 +136,6 @@ void ExprNode::print(string& text, Array<dsql_nod*>& nodes) const { - text = "ExprNode"; // needed or not? for (dsql_nod* const* const* i = dsqlChildNodes.begin(); i != dsqlChildNodes.end(); ++i) nodes.add(**i); } @@ -2613,11 +2599,11 @@ { // ASF: Commented out code here appears correct and makes the expression // "1 + NULLIF(NULL, 0)" (failing since v2.1) to work. While this is natural as others - // nodes calling CMP_get_desc on sub nodes, it's causing some problem with contexts of + // nodes calling getDesc on sub nodes, it's causing some problem with contexts of // views. dsc desc1; - ////CMP_get_desc(tdbb, csb, source, &desc1); + ////source->getDesc(tdbb, csb, source, &desc1); *desc = format->fmt_desc[0]; @@ -4566,10 +4552,12 @@ } } - return CMP_pass1(tdbb, csb, sub); // note: scope of AutoSetRestore + doPass1(tdbb, csb, &sub); // note: scope of AutoSetRestore } + else + doPass1(tdbb, csb, &sub); - return CMP_pass1(tdbb, csb, sub); + return sub; } ValueExprNode* FieldNode::pass2(thread_db* tdbb, CompilerScratch* csb) @@ -6302,8 +6290,8 @@ DmlNode* ParameterNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) { - jrd_nod* message = NULL; - USHORT n = (USHORT) csb->csb_blr_reader.getByte(); + MessageNode* message = NULL; + USHORT n = csb->csb_blr_reader.getByte(); if (n >= csb->csb_rpt.getCount() || !(message = csb->csb_rpt[n].csb_message)) PAR_error(csb, Arg::Gds(isc_badmsgnum)); @@ -6313,7 +6301,7 @@ node->message = message; node->argNumber = csb->csb_blr_reader.getWord(); - const Format* format = (Format*) message->nod_arg[e_msg_format]; + const Format* format = message->format; if (node->argNumber >= format->fmt_count) PAR_error(csb, Arg::Gds(isc_badparnum)); @@ -6522,8 +6510,7 @@ void ParameterNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc) { - const Format* format = (Format*) message->nod_arg[e_msg_format]; - *desc = format->fmt_desc[argNumber]; + *desc = message->format->fmt_desc[argNumber]; } ValueExprNode* ParameterNode::copy(thread_db* tdbb, NodeCopier& copier) @@ -6547,11 +6534,8 @@ // in nod_argument. If it don't, it may be an input parameter cloned // in RseBoolNode::convertNeqAllToNotAny - see CORE-3094. - if (copier.message && - (IPTR) copier.message->nod_arg[e_msg_number] == (IPTR) message->nod_arg[e_msg_number]) - { + if (copier.message && copier.message->messageNumber == message->messageNumber) node->message = copier.message; - } else node->message = message; @@ -6564,7 +6548,7 @@ ValueExprNode* ParameterNode::pass2(thread_db* tdbb, CompilerScratch* csb) { argInfo = CMP_pass2_validation(tdbb, csb, - Item(Item::TYPE_PARAMETER, (IPTR) message->nod_arg[e_msg_number], argNumber)); + Item(Item::TYPE_PARAMETER, message->messageNumber, argNumber)); ValueExprNode::pass2(tdbb, csb); @@ -6589,11 +6573,10 @@ request->req_flags |= req_null; } - const Format* format = (Format*) message->nod_arg[e_msg_format]; - desc = &format->fmt_desc[argNumber]; + desc = &message->format->fmt_desc[argNumber]; impure->vlu_desc.dsc_address = request->getImpure<UCHAR>( - message->nod_impure + (IPTR) desc->dsc_address); + message->impureOffset + (IPTR) desc->dsc_address); impure->vlu_desc.dsc_dtype = desc->dsc_dtype; impure->vlu_desc.dsc_length = desc->dsc_length; impure->vlu_desc.dsc_scale = desc->dsc_scale; @@ -6603,15 +6586,13 @@ INTL_adjust_text_descriptor(tdbb, &impure->vlu_desc); USHORT* impure_flags = request->getImpure<USHORT>( - (IPTR) message->nod_arg[e_msg_impure_flags] + - (sizeof(USHORT) * argNumber)); + message->impureFlags + (sizeof(USHORT) * argNumber)); if (!(*impure_flags & VLU_checked)) { if (argInfo) { - EVL_validate(tdbb, - Item(Item::TYPE_PARAMETER, (IPTR) message->nod_arg[e_msg_number], argNumber), + EVL_validate(tdbb, Item(Item::TYPE_PARAMETER, message->messageNumber, argNumber), argInfo, &impure->vlu_desc, request->req_flags & req_null); } @@ -7266,7 +7247,7 @@ { StmtExprNode* node = FB_NEW(pool) StmtExprNode(pool); - node->stmt = PAR_parse_node(tdbb, csb, STATEMENT); + node->stmt = PAR_parse_stmt(tdbb, csb); node->expr = PAR_parse_value(tdbb, csb); return node; @@ -7287,13 +7268,13 @@ ValueExprNode* StmtExprNode::pass1(thread_db* tdbb, CompilerScratch* csb) { - stmt = CMP_pass1(tdbb, csb, stmt); + doPass1(tdbb, csb, stmt.getAddress()); return ValueExprNode::pass1(tdbb, csb); } ValueExprNode* StmtExprNode::pass2(thread_db* tdbb, CompilerScratch* csb) { - stmt = CMP_pass2(tdbb, csb, stmt, NULL); + StmtNode::doPass2(tdbb, csb, stmt.getAddress(), NULL); ValueExprNode::pass2(tdbb, csb); @@ -7306,7 +7287,7 @@ dsc* StmtExprNode::execute(thread_db* tdbb, jrd_req* request) const { - EXE_looper(tdbb, request, stmt, true); + EXE_looper(tdbb, request, stmt.getObject(), true); dsc* desc = EVL_expr(tdbb, request, expr); @@ -8009,16 +7990,13 @@ ValueExprNode* SubQueryNode::pass1(thread_db* tdbb, CompilerScratch* csb) { rse->ignoreDbKey(tdbb, csb); - rse->pass1(tdbb, csb); + doPass1(tdbb, csb, rse.getAddress()); csb->csb_current_nodes.push(rse.getObject()); - if (value1) - value1 = CMP_pass1(tdbb, csb, value1); + doPass1(tdbb, csb, value1.getAddress()); + doPass1(tdbb, csb, value2.getAddress()); - if (value2) - value2 = CMP_pass1(tdbb, csb, value2); - csb->csb_current_nodes.pop(); return this; @@ -8639,14 +8617,14 @@ ValueExprNode* SubstringSimilarNode::pass1(thread_db* tdbb, CompilerScratch* csb) { - expr = CMP_pass1(tdbb, csb, expr); + doPass1(tdbb, csb, expr.getAddress()); // We need to take care of invariantness expressions to be able to pre-compile the pattern. nodFlags |= FLAG_INVARIANT; csb->csb_current_nodes.push(this); - pattern = CMP_pass1(tdbb, csb, pattern); - escape = CMP_pass1(tdbb, csb, escape); + doPass1(tdbb, csb, pattern.getAddress()); + doPass1(tdbb, csb, escape.getAddress()); csb->csb_current_nodes.pop(); @@ -9727,7 +9705,7 @@ DmlNode* VariableNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp) { USHORT n = csb->csb_blr_reader.getWord(); - vec<jrd_nod*>* vector = csb->csb_variables; + vec<DeclareVariableNode*>* vector = csb->csb_variables; if (!vector || n >= vector->count()) PAR_syntax_error(csb, "variable identifier"); @@ -9799,7 +9777,7 @@ void VariableNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc) { - *desc = *(DSC*) (varDecl->nod_arg + e_dcl_desc); + *desc = varDecl->varDesc; } ValueExprNode* VariableNode::copy(thread_db* tdbb, NodeCopier& copier) @@ -9821,7 +9799,7 @@ { ValueExprNode::pass1(tdbb, csb); - vec<jrd_nod*>* vector = csb->csb_variables; + vec<DeclareVariableNode*>* vector = csb->csb_variables; if (!vector || varId >= vector->count() || !(varDecl = (*vector)[varId])) PAR_syntax_error(csb, "variable identifier"); @@ -9843,7 +9821,7 @@ dsc* VariableNode::execute(thread_db* tdbb, jrd_req* request) const { impure_value* const impure = request->getImpure<impure_value>(impureOffset); - impure_value* impure2 = request->getImpure<impure_value>(varDecl->nod_impure); + impure_value* impure2 = request->getImpure<impure_value>(varDecl->impureOffset); request->req_flags &= ~req_null; Modified: firebird/trunk/src/dsql/ExprNodes.h =================================================================== --- firebird/trunk/src/dsql/ExprNodes.h 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/ExprNodes.h 2010-12-04 22:15:03 UTC (rev 52024) @@ -32,6 +32,7 @@ namespace Jrd { struct ItemInfo; +class DeclareVariableNode; class RecordSource; class ValueListNode; @@ -783,7 +784,7 @@ public: USHORT dsqlParameterIndex; dsql_par* dsqlParameter; - NestConst<jrd_nod> message; + NestConst<MessageNode> message; USHORT argNumber; NestConst<ValueExprNode> argFlag; NestConst<ValueExprNode> argIndicator; @@ -936,7 +937,7 @@ virtual dsc* execute(thread_db* tdbb, jrd_req* request) const; public: - NestConst<jrd_nod> stmt; + NestConst<StmtNode> stmt; NestConst<ValueExprNode> expr; }; @@ -1348,7 +1349,7 @@ dsql_var* dsqlVar; dsc varDesc; USHORT varId; - NestConst<jrd_nod> varDecl; + NestConst<DeclareVariableNode> varDecl; NestConst<ItemInfo> varInfo; }; Modified: firebird/trunk/src/dsql/Nodes.h =================================================================== --- firebird/trunk/src/dsql/Nodes.h 2010-12-04 17:19:48 UTC (rev 52023) +++ firebird/trunk/src/dsql/Nodes.h 2010-12-04 22:15:03 UTC (rev 52024) @@ -38,7 +38,6 @@ class Cursor; class dsql_nod; class ExprNode; -class jrd_nod; class OptimizerRetrieval; class RseNode; class SlidingWindow; @@ -74,72 +73,6 @@ typedef Firebird::Array<NestConst<ValueExprNode> > NestValueArray; -// Stores a reference to a specialized ExprNode. -// This class and NodeRefImpl exists to nodes replace themselfs (eg. pass1) in a type-safe way. -class NodeRef -{ -public: - virtual ~NodeRef() - { - } - - bool operator !() const - { - return !getExpr(); - } - - operator bool() const - { - return getExpr() != NULL; - } - - virtual ExprNode* getExpr() = 0; - virtual const ExprNode* getExpr() const = 0; - - virtual void pass1(thread_db* tdbb, CompilerScratch* csb) = 0; - void pass2(thread_db* tdbb, CompilerScratch* csb); - -protected: - virtual void internalPass2(thread_db* tdbb, CompilerScratch* csb) = 0; -}; - -template <typename T> class NodeRefImpl : public NodeRe... [truncated message content] |
From: <fir...@us...> - 2010-12-05 03:20:27
|
Revision: 52027 http://firebird.svn.sourceforge.net/firebird/?rev=52027&view=rev Author: firebirds Date: 2010-12-05 03:20:20 +0000 (Sun, 05 Dec 2010) 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 2010-12-05 00:55:54 UTC (rev 52026) +++ firebird/trunk/ChangeLog 2010-12-05 03:20:20 UTC (rev 52027) @@ -1,3 +1,96 @@ + 2010-12-05 00:55 asfernandes + M src/dsql/Nodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/jrd/exe.cpp + M src/jrd/par.cpp +Rework on line/column info support to make it faster + + 2010-12-05 00:54 asfernandes + M src/jrd/evl.cpp + M src/jrd/evl_proto.h +Make expression evaluation faster + + 2010-12-04 22:15 asfernandes + M builds/mac_os_x/CS/CS.pbproj/project.pbxproj + M builds/posix/Makefile.in + M builds/posix/make.defaults + M builds/posix/make.shared.targets + M builds/posix/make.shared.variables + D builds/win32/blrtable.bat + M builds/win32/clean_all.bat + M builds/win32/make_boot.bat + M builds/win32/msvc7/engine.vcproj + M builds/win32/msvc7/engine_classic.vcproj + M builds/win32/msvc7/engine_embed.vcproj + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/AggNodes.cpp + M src/dsql/BoolNodes.cpp + M src/dsql/BoolNodes.h + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/Nodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/dsql/Visitors.h + M src/dsql/WinNodes.cpp + 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/jrd/Attachment.h + M src/jrd/ExtEngineManager.h + M src/jrd/Function.epp + M src/jrd/JrdStatement.cpp + M src/jrd/JrdStatement.h + M src/jrd/RecordSourceNodes.cpp + M src/jrd/RecordSourceNodes.h + M src/jrd/Relation.h + M src/jrd/btr.h + M src/jrd/cmp.cpp + M src/jrd/cmp_proto.h + M src/jrd/dfw.epp + M src/jrd/evl.cpp + M src/jrd/exe.cpp + M src/jrd/exe.h + M src/jrd/exe_proto.h + M src/jrd/ext_proto.h + M src/jrd/extds/ExtDS.cpp + M src/jrd/extds/ExtDS.h + M src/jrd/inf.cpp + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/lls.h + M src/jrd/met.epp + M src/jrd/met_proto.h + D src/jrd/nod.h + M src/jrd/opt_proto.h + M src/jrd/par.cpp + M src/jrd/par_proto.h + M src/jrd/pcmet.epp + M src/jrd/recsrc/ProcedureScan.cpp + M src/jrd/recsrc/RecordSource.h + M src/jrd/req.h + M src/jrd/rse.h + M src/jrd/trace/TraceObjects.cpp + D src/misc/blrtable.cpp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql +Finish the statements refactor in the engine. Get rid of jrd_nod. + + 2010-12-04 17:19 asfernandes + M src/remote/server/os/win32/srvr_w32.cpp +Misc + + 2010-12-04 11:16 alexpeshkoff + M src/auth/SecurityDatabase/pwd.cpp +Simplified code - thanks to Claudio + 2010-12-02 19:54 dimitr M src/yvalve/gds.cpp InitPrefix::init() should never throw, it leads to the infinite recursion with a stack overflow. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-05 00:55:54 UTC (rev 52026) +++ firebird/trunk/src/jrd/build_no.h 2010-12-05 03:20:20 UTC (rev 52027) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28933 + FORMAL BUILD NUMBER:28938 */ -#define PRODUCT_VER_STRING "3.0.0.28933" -#define FILE_VER_STRING "WI-T3.0.0.28933" -#define LICENSE_VER_STRING "WI-T3.0.0.28933" -#define FILE_VER_NUMBER 3, 0, 0, 28933 +#define PRODUCT_VER_STRING "3.0.0.28938" +#define FILE_VER_STRING "WI-T3.0.0.28938" +#define LICENSE_VER_STRING "WI-T3.0.0.28938" +#define FILE_VER_NUMBER 3, 0, 0, 28938 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28933" +#define FB_BUILD_NO "28938" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-05 00:55:54 UTC (rev 52026) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-05 03:20:20 UTC (rev 52027) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28933 +BuildNum=28938 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...> - 2010-12-06 03:26:53
|
Revision: 52030 http://firebird.svn.sourceforge.net/firebird/?rev=52030&view=rev Author: firebirds Date: 2010-12-06 03:26:47 +0000 (Mon, 06 Dec 2010) 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 2010-12-05 16:49:24 UTC (rev 52029) +++ firebird/trunk/ChangeLog 2010-12-06 03:26:47 UTC (rev 52030) @@ -1,3 +1,11 @@ + 2010-12-05 16:49 asfernandes + M src/dsql/StmtNodes.cpp +Fixed CORE-2204 - Constraints on SP output parameters are checked even when the SP returns zero rows + + 2010-12-05 14:44 asfernandes + M src/dsql/StmtNodes.cpp +Use the impure space of string variable in a consistently (first or subsequent request execution) and optimized (no double allocation) way + 2010-12-05 00:55 asfernandes M src/dsql/Nodes.h M src/dsql/StmtNodes.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-05 16:49:24 UTC (rev 52029) +++ firebird/trunk/src/jrd/build_no.h 2010-12-06 03:26:47 UTC (rev 52030) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28938 + FORMAL BUILD NUMBER:28940 */ -#define PRODUCT_VER_STRING "3.0.0.28938" -#define FILE_VER_STRING "WI-T3.0.0.28938" -#define LICENSE_VER_STRING "WI-T3.0.0.28938" -#define FILE_VER_NUMBER 3, 0, 0, 28938 +#define PRODUCT_VER_STRING "3.0.0.28940" +#define FILE_VER_STRING "WI-T3.0.0.28940" +#define LICENSE_VER_STRING "WI-T3.0.0.28940" +#define FILE_VER_NUMBER 3, 0, 0, 28940 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28938" +#define FB_BUILD_NO "28940" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-05 16:49:24 UTC (rev 52029) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-06 03:26:47 UTC (rev 52030) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28938 +BuildNum=28940 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...> - 2010-12-13 03:19:41
|
Revision: 52040 http://firebird.svn.sourceforge.net/firebird/?rev=52040&view=rev Author: firebirds Date: 2010-12-13 03:19:34 +0000 (Mon, 13 Dec 2010) 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 2010-12-12 20:45:52 UTC (rev 52039) +++ firebird/trunk/ChangeLog 2010-12-13 03:19:34 UTC (rev 52040) @@ -1,3 +1,22 @@ + 2010-12-12 20:45 asfernandes + M src/jrd/RecordSourceNodes.cpp +Missing pass1 on procedure message, seen by Claudio - not relevant currently, but do it as before. + + 2010-12-12 20:19 hvlad + M src/remote/inet.cpp + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp +Port forward fix for bug CORE-3119 : 100% CPU USAGE with Unilimited Loop & Index corrupted + + 2010-12-12 19:53 asfernandes + M builds/posix/make.defaults +An attempt which seems to work to not lose cpp files generated from epp ones. + + 2010-12-12 14:22 alexpeshkoff + M src/gpre/c_cxx.cpp +Fixed gcc warnings + 2010-12-05 16:49 asfernandes M src/dsql/StmtNodes.cpp Fixed CORE-2204 - Constraints on SP output parameters are checked even when the SP returns zero rows Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-12 20:45:52 UTC (rev 52039) +++ firebird/trunk/src/jrd/build_no.h 2010-12-13 03:19:34 UTC (rev 52040) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28940 + FORMAL BUILD NUMBER:28944 */ -#define PRODUCT_VER_STRING "3.0.0.28940" -#define FILE_VER_STRING "WI-T3.0.0.28940" -#define LICENSE_VER_STRING "WI-T3.0.0.28940" -#define FILE_VER_NUMBER 3, 0, 0, 28940 +#define PRODUCT_VER_STRING "3.0.0.28944" +#define FILE_VER_STRING "WI-T3.0.0.28944" +#define LICENSE_VER_STRING "WI-T3.0.0.28944" +#define FILE_VER_NUMBER 3, 0, 0, 28944 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28940" +#define FB_BUILD_NO "28944" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-12 20:45:52 UTC (rev 52039) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-13 03:19:34 UTC (rev 52040) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28940 +BuildNum=28944 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...> - 2010-12-16 03:28:08
|
Revision: 52046 http://firebird.svn.sourceforge.net/firebird/?rev=52046&view=rev Author: firebirds Date: 2010-12-16 03:28:01 +0000 (Thu, 16 Dec 2010) 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 2010-12-16 00:14:50 UTC (rev 52045) +++ firebird/trunk/ChangeLog 2010-12-16 03:28:01 UTC (rev 52046) @@ -1,3 +1,7 @@ + 2010-12-16 00:06 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-3277 - Wrong result for RIGHT(UTF8 varchar) + 2010-12-12 20:45 asfernandes M src/jrd/RecordSourceNodes.cpp Missing pass1 on procedure message, seen by Claudio - not relevant currently, but do it as before. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-16 00:14:50 UTC (rev 52045) +++ firebird/trunk/src/jrd/build_no.h 2010-12-16 03:28:01 UTC (rev 52046) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28944 + FORMAL BUILD NUMBER:28945 */ -#define PRODUCT_VER_STRING "3.0.0.28944" -#define FILE_VER_STRING "WI-T3.0.0.28944" -#define LICENSE_VER_STRING "WI-T3.0.0.28944" -#define FILE_VER_NUMBER 3, 0, 0, 28944 +#define PRODUCT_VER_STRING "3.0.0.28945" +#define FILE_VER_STRING "WI-T3.0.0.28945" +#define LICENSE_VER_STRING "WI-T3.0.0.28945" +#define FILE_VER_NUMBER 3, 0, 0, 28945 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28944" +#define FB_BUILD_NO "28945" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-16 00:14:50 UTC (rev 52045) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-16 03:28:01 UTC (rev 52046) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28944 +BuildNum=28945 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...> - 2010-12-17 03:37:05
|
Revision: 52049 http://firebird.svn.sourceforge.net/firebird/?rev=52049&view=rev Author: firebirds Date: 2010-12-17 03:36:58 +0000 (Fri, 17 Dec 2010) 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 2010-12-16 21:11:01 UTC (rev 52048) +++ firebird/trunk/ChangeLog 2010-12-17 03:36:58 UTC (rev 52049) @@ -1,3 +1,7 @@ + 2010-12-16 21:11 asfernandes + M src/dsql/parse.y +Fixed the crash about NEXT VALUE FOR reported in fb-devel + 2010-12-16 00:06 asfernandes M src/jrd/SysFunction.cpp Fixed CORE-3277 - Wrong result for RIGHT(UTF8 varchar) Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-16 21:11:01 UTC (rev 52048) +++ firebird/trunk/src/jrd/build_no.h 2010-12-17 03:36:58 UTC (rev 52049) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28945 + FORMAL BUILD NUMBER:28946 */ -#define PRODUCT_VER_STRING "3.0.0.28945" -#define FILE_VER_STRING "WI-T3.0.0.28945" -#define LICENSE_VER_STRING "WI-T3.0.0.28945" -#define FILE_VER_NUMBER 3, 0, 0, 28945 +#define PRODUCT_VER_STRING "3.0.0.28946" +#define FILE_VER_STRING "WI-T3.0.0.28946" +#define LICENSE_VER_STRING "WI-T3.0.0.28946" +#define FILE_VER_NUMBER 3, 0, 0, 28946 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28945" +#define FB_BUILD_NO "28946" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-16 21:11:01 UTC (rev 52048) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-17 03:36:58 UTC (rev 52049) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28945 +BuildNum=28946 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...> - 2010-12-18 02:17:15
|
Revision: 52054 http://firebird.svn.sourceforge.net/firebird/?rev=52054&view=rev Author: asfernandes Date: 2010-12-18 02:17:06 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Feature CORE-726 - Boolean data type Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/common/cvt.cpp firebird/trunk/src/common/cvt.h firebird/trunk/src/common/dsc.cpp firebird/trunk/src/common/dsc.h firebird/trunk/src/common/dsc_pub.h firebird/trunk/src/dsql/BoolNodes.cpp firebird/trunk/src/dsql/BoolNodes.h firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/dsql/ExprNodes.h firebird/trunk/src/dsql/Nodes.h firebird/trunk/src/dsql/ddl_proto.h firebird/trunk/src/dsql/dsql.cpp firebird/trunk/src/dsql/gen.cpp firebird/trunk/src/dsql/make.cpp firebird/trunk/src/dsql/make_proto.h firebird/trunk/src/dsql/parse.y firebird/trunk/src/dsql/pass1.cpp firebird/trunk/src/dsql/sqlda_pub.h 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/isql/isql.epp firebird/trunk/src/isql/isql.h firebird/trunk/src/jrd/DataTypeUtil.cpp firebird/trunk/src/jrd/Optimizer.cpp firebird/trunk/src/jrd/align.h firebird/trunk/src/jrd/blp.h firebird/trunk/src/jrd/blr.h firebird/trunk/src/jrd/btr.cpp firebird/trunk/src/jrd/btr.h firebird/trunk/src/jrd/cvt2.cpp firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/evl.cpp firebird/trunk/src/jrd/extds/IscDS.cpp firebird/trunk/src/jrd/fun.epp firebird/trunk/src/jrd/mov.cpp firebird/trunk/src/jrd/mov_proto.h firebird/trunk/src/jrd/opt.cpp firebird/trunk/src/jrd/par.cpp firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/remote/parser.cpp firebird/trunk/src/remote/protocol.cpp firebird/trunk/src/utilities/ntrace/TracePluginImpl.cpp firebird/trunk/src/yvalve/array.epp firebird/trunk/src/yvalve/gds.cpp firebird/trunk/src/yvalve/keywords.cpp firebird/trunk/src/yvalve/utly.cpp Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2010-12-17 22:32:35 UTC (rev 52053) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2010-12-18 02:17:06 UTC (rev 52054) @@ -1456,6 +1456,8 @@ PARAMETER (GDS__bad_events_handle = 335545021) INTEGER*4 GDS__cannot_copy_stmt PARAMETER (GDS__cannot_copy_stmt = 335545022) + INTEGER*4 GDS__invalid_boolean_usage + PARAMETER (GDS__invalid_boolean_usage = 335545023) 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 2010-12-17 22:32:35 UTC (rev 52053) +++ firebird/trunk/lang_helpers/gds_codes.pas 2010-12-18 02:17:06 UTC (rev 52054) @@ -735,6 +735,7 @@ gds_request_outdated = 335545020; gds_bad_events_handle = 335545021; gds_cannot_copy_stmt = 335545022; + gds_invalid_boolean_usage = 335545023; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/common/cvt.cpp =================================================================== --- firebird/trunk/src/common/cvt.cpp 2010-12-17 22:32:35 UTC (rev 52053) +++ firebird/trunk/src/common/cvt.cpp 2010-12-18 02:17:06 UTC (rev 52054) @@ -1001,6 +1001,7 @@ case dtype_timestamp: case dtype_array: case dtype_dbkey: + case dtype_boolean: CVT_conversion_error(desc, err); break; @@ -1043,6 +1044,17 @@ } +// Get the value of a boolean descriptor. +bool CVT_get_boolean(const dsc* desc, ErrorFunction err) +{ + if (desc->dsc_dtype == dtype_boolean) + return *desc->dsc_address != '\0'; + + CVT_conversion_error(desc, err); + return false; // silence warning +} + + double CVT_get_double(const dsc* desc, ErrorFunction err) { /************************************** @@ -1241,6 +1253,7 @@ case dtype_blob: case dtype_array: case dtype_dbkey: + case dtype_boolean: CVT_conversion_error(desc, err); break; @@ -1340,6 +1353,7 @@ case dtype_quad: case dtype_real: case dtype_double: + case dtype_boolean: CVT_conversion_error(from, cb->err); break; } @@ -1372,6 +1386,7 @@ case dtype_quad: case dtype_real: case dtype_double: + case dtype_boolean: CVT_conversion_error(from, cb->err); break; } @@ -1404,6 +1419,7 @@ case dtype_quad: case dtype_real: case dtype_double: + case dtype_boolean: CVT_conversion_error(from, cb->err); break; } @@ -1608,6 +1624,8 @@ default: fb_assert(false); // Fall into ... + + case dtype_boolean: case dtype_blob: CVT_conversion_error(from, cb->err); return; @@ -1695,6 +1713,10 @@ *(double*) p = CVT_get_double(from, cb->err); #endif return; + + case dtype_boolean: + CVT_conversion_error(from, cb->err); + break; } if (from->dsc_dtype == dtype_array || from->dsc_dtype == dtype_blob) @@ -1726,6 +1748,8 @@ p = "BLOB"; else if (desc->dsc_dtype == dtype_array) p = "ARRAY"; + else if (desc->dsc_dtype == dtype_boolean) + p = "BOOLEAN"; else { // CVC: I don't have access here to JRD_get_thread_data())->tdbb_status_vector @@ -2401,6 +2425,7 @@ case dtype_timestamp: case dtype_array: case dtype_dbkey: + case dtype_boolean: CVT_conversion_error(desc, err); break; @@ -2547,6 +2572,7 @@ case dtype_timestamp: case dtype_array: case dtype_dbkey: + case dtype_boolean: CVT_conversion_error(desc, err); break; Modified: firebird/trunk/src/common/cvt.h =================================================================== --- firebird/trunk/src/common/cvt.h 2010-12-17 22:32:35 UTC (rev 52053) +++ firebird/trunk/src/common/cvt.h 2010-12-18 02:17:06 UTC (rev 52054) @@ -69,6 +69,7 @@ void CVT_conversion_error(const dsc*, ErrorFunction); double CVT_power_of_ten(const int); SLONG CVT_get_long(const dsc*, SSHORT, ErrorFunction); +bool CVT_get_boolean(const dsc*, ErrorFunction); double CVT_get_double(const dsc*, ErrorFunction); USHORT CVT_make_string(const dsc*, USHORT, const char**, vary*, USHORT, ErrorFunction); void CVT_move_common(const dsc*, dsc*, Firebird::Callbacks*); Modified: firebird/trunk/src/common/dsc.cpp =================================================================== --- firebird/trunk/src/common/dsc.cpp 2010-12-17 22:32:35 UTC (rev 52053) +++ firebird/trunk/src/common/dsc.cpp 2010-12-18 02:17:06 UTC (rev 52054) @@ -61,7 +61,8 @@ 9, // dtype_blob FFFF:FFFF 9, // dtype_array FFFF:FFFF 20, // dtype_int64 -9223372036854775808 - 0 // dtype_dbkey + 0, // dtype_dbkey + 5 // dtype_boolean }; // blr to dsc type conversions @@ -85,7 +86,8 @@ blr_blob, blr_blob, blr_int64, - blr_null + blr_null, + blr_bool }; // Unimplemented names are in lowercase & <brackets> @@ -112,7 +114,8 @@ "BLOB", "ARRAY", "BIGINT", - "DB_KEY" + "DB_KEY", + "BOOLEAN" }; @@ -130,7 +133,7 @@ dtype_short dtype_long dtype_quad dtype_real dtype_double dtype_d_float dtype_sql_date dtype_sql_time dtype_timestamp dtype_blob dtype_array dtype_int64 - dtype_dbkey + dtype_dbkey, dtype_boolean */ // dtype_unknown @@ -139,7 +142,7 @@ dtype_unknown, dtype_unknown, DTYPE_CANNOT, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, dtype_unknown, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_text {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -147,7 +150,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_cstring {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -155,7 +158,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_varying {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -163,7 +166,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 4 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -171,7 +174,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 5 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -179,7 +182,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_packed {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -187,7 +190,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_byte {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -195,7 +198,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_short {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -203,7 +206,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_long {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -211,7 +214,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_quad {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -219,7 +222,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_real {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -227,7 +230,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_double {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -235,7 +238,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_d_float -- VMS deprecated {dtype_unknown, dtype_d_float, dtype_d_float, dtype_d_float, @@ -243,7 +246,7 @@ dtype_d_float, dtype_d_float, DTYPE_CANNOT, dtype_d_float, dtype_d_float, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_d_float, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_date {dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -251,7 +254,7 @@ dtype_sql_date, dtype_sql_date, DTYPE_CANNOT, dtype_sql_date, dtype_sql_date, dtype_sql_date, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_sql_date, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_time {dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -259,7 +262,7 @@ dtype_sql_time, dtype_sql_time, DTYPE_CANNOT, dtype_sql_time, dtype_sql_time, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_sql_time, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_timestamp {dtype_unknown, dtype_timestamp, dtype_timestamp, dtype_timestamp, @@ -267,7 +270,7 @@ dtype_timestamp, dtype_timestamp, DTYPE_CANNOT, dtype_timestamp, dtype_timestamp, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_blob {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -275,7 +278,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_array {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -283,7 +286,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_int64 {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -291,7 +294,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, dtype_sql_date, dtype_sql_time, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_dbkey {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -299,8 +302,16 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT} + DTYPE_CANNOT, DTYPE_CANNOT}, + // dtype_boolean + {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT} + }; /* The result of subtracting two datatypes in blr_version5 semantics @@ -317,7 +328,7 @@ dtype_short dtype_long dtype_quad dtype_real dtype_double dtype_d_float dtype_sql_date dtype_sql_time dtype_timestamp dtype_blob dtype_array dtype_int64 - dtype_dbkey + dtype_dbkey, dtype_boolean */ // dtype_unknown @@ -326,7 +337,7 @@ dtype_unknown, dtype_unknown, DTYPE_CANNOT, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, dtype_unknown, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_text {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -334,7 +345,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_cstring {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -342,7 +353,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_varying {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -350,7 +361,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 4 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -358,7 +369,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 5 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -366,7 +377,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_packed {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -374,7 +385,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_byte {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -382,7 +393,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_short {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -390,7 +401,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_long {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -398,7 +409,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_quad {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -406,7 +417,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_real {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -414,7 +425,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_double {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -422,7 +433,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_d_float -- VMS deprecated {dtype_unknown, dtype_d_float, dtype_d_float, dtype_d_float, @@ -430,7 +441,7 @@ dtype_d_float, dtype_d_float, DTYPE_CANNOT, dtype_d_float, dtype_d_float, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_d_float, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_date {dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -438,7 +449,7 @@ dtype_sql_date, dtype_sql_date, DTYPE_CANNOT, dtype_sql_date, dtype_sql_date, dtype_sql_date, dtype_long, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_sql_date, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_time {dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -446,7 +457,7 @@ dtype_sql_time, dtype_sql_time, DTYPE_CANNOT, dtype_sql_time, dtype_sql_time, dtype_sql_time, DTYPE_CANNOT, dtype_long, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_sql_time, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_timestamp {dtype_unknown, dtype_timestamp, dtype_timestamp, dtype_timestamp, @@ -454,7 +465,7 @@ dtype_timestamp, dtype_timestamp, DTYPE_CANNOT, dtype_timestamp, dtype_timestamp, dtype_timestamp, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, DTYPE_CANNOT, DTYPE_CANNOT, dtype_timestamp, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_blob {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -462,7 +473,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_array {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -470,7 +481,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_int64 {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -478,7 +489,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_dbkey {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -486,7 +497,15 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT} + DTYPE_CANNOT, DTYPE_CANNOT}, + + // dtype_boolean + {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT} }; @@ -504,7 +523,7 @@ dtype_short dtype_long dtype_quad dtype_real dtype_double dtype_d_float dtype_sql_date dtype_sql_time dtype_timestamp dtype_blob dtype_array dtype_int64 - dtype_dbkey + dtype_dbkey, dtype_boolean */ // dtype_unknown @@ -513,7 +532,7 @@ dtype_unknown, dtype_unknown, DTYPE_CANNOT, dtype_unknown, dtype_unknown, dtype_unknown, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_unknown, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_text {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -521,7 +540,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_cstring {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -529,7 +548,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_varying {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -537,7 +556,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 4 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -545,7 +564,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // 5 (unused) {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -553,7 +572,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_packed {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -561,7 +580,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_byte {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -569,7 +588,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_short {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -577,7 +596,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_long {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -585,7 +604,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_quad {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -593,7 +612,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_real {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -601,7 +620,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_double {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -609,7 +628,7 @@ dtype_double, dtype_double, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_double, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_d_float -- VMS deprecated {dtype_unknown, dtype_d_float, dtype_d_float, dtype_d_float, @@ -617,7 +636,7 @@ dtype_d_float, dtype_d_float, DTYPE_CANNOT, dtype_d_float, dtype_d_float, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_d_float, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_date {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -625,7 +644,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_sql_time {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -633,7 +652,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_timestamp {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -641,7 +660,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_blob {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -649,7 +668,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_array {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -657,7 +676,7 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_int64 {dtype_unknown, dtype_double, dtype_double, dtype_double, @@ -665,7 +684,7 @@ dtype_int64, dtype_int64, DTYPE_CANNOT, dtype_double, dtype_double, dtype_d_float, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, dtype_int64, - DTYPE_CANNOT}, + DTYPE_CANNOT, DTYPE_CANNOT}, // dtype_dbkey {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, @@ -673,8 +692,16 @@ DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, - DTYPE_CANNOT} + DTYPE_CANNOT, DTYPE_CANNOT}, + // dtype_boolean + {DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, DTYPE_CANNOT, + DTYPE_CANNOT, DTYPE_CANNOT} + }; /* The result of multiplying two datatypes in blr_version4 semantics. @@ -691,7 +718,7 @@ dtype_short dtype_long dtype_quad dtype_real dtype_double dtype_d_float dtype_sql_date dtype_sql... [truncated message content] |
From: <fir...@us...> - 2010-12-18 03:18:14
|
Revision: 52055 http://firebird.svn.sourceforge.net/firebird/?rev=52055&view=rev Author: firebirds Date: 2010-12-18 03:18:07 +0000 (Sat, 18 Dec 2010) 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 2010-12-18 02:17:06 UTC (rev 52054) +++ firebird/trunk/ChangeLog 2010-12-18 03:18:07 UTC (rev 52055) @@ -1,3 +1,65 @@ + 2010-12-18 02:17 asfernandes + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/common/cvt.cpp + M src/common/cvt.h + M src/common/dsc.cpp + M src/common/dsc.h + M src/common/dsc_pub.h + M src/dsql/BoolNodes.cpp + M src/dsql/BoolNodes.h + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/Nodes.h + M src/dsql/ddl_proto.h + M src/dsql/dsql.cpp + M src/dsql/gen.cpp + M src/dsql/make.cpp + M src/dsql/make_proto.h + M src/dsql/parse.y + M src/dsql/pass1.cpp + M src/dsql/sqlda_pub.h + 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/isql/isql.epp + M src/isql/isql.h + M src/jrd/DataTypeUtil.cpp + M src/jrd/Optimizer.cpp + M src/jrd/align.h + M src/jrd/blp.h + M src/jrd/blr.h + M src/jrd/btr.cpp + M src/jrd/btr.h + M src/jrd/cvt2.cpp + M src/jrd/dfw.epp + M src/jrd/evl.cpp + M src/jrd/extds/IscDS.cpp + M src/jrd/fun.epp + M src/jrd/mov.cpp + M src/jrd/mov_proto.h + M src/jrd/opt.cpp + M src/jrd/par.cpp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/remote/parser.cpp + M src/remote/protocol.cpp + M src/utilities/ntrace/TracePluginImpl.cpp + M src/yvalve/array.epp + M src/yvalve/gds.cpp + M src/yvalve/keywords.cpp + M src/yvalve/utly.cpp +Feature CORE-726 - Boolean data type + + 2010-12-17 22:32 hvlad + M src/jrd/svc.cpp + M src/jrd/svc.h + M src/jrd/trace/TraceService.cpp +Frontport better fix for bug CORE-3266 : Race condition between async service detach request and running user trace service + 2010-12-16 21:11 asfernandes M src/dsql/parse.y Fixed the crash about NEXT VALUE FOR reported in fb-devel Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-18 02:17:06 UTC (rev 52054) +++ firebird/trunk/src/jrd/build_no.h 2010-12-18 03:18:07 UTC (rev 52055) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28946 + FORMAL BUILD NUMBER:28948 */ -#define PRODUCT_VER_STRING "3.0.0.28946" -#define FILE_VER_STRING "WI-T3.0.0.28946" -#define LICENSE_VER_STRING "WI-T3.0.0.28946" -#define FILE_VER_NUMBER 3, 0, 0, 28946 +#define PRODUCT_VER_STRING "3.0.0.28948" +#define FILE_VER_STRING "WI-T3.0.0.28948" +#define LICENSE_VER_STRING "WI-T3.0.0.28948" +#define FILE_VER_NUMBER 3, 0, 0, 28948 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28946" +#define FB_BUILD_NO "28948" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-18 02:17:06 UTC (rev 52054) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-18 03:18:07 UTC (rev 52055) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28946 +BuildNum=28948 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...> - 2010-12-19 03:19:32
|
Revision: 52059 http://firebird.svn.sourceforge.net/firebird/?rev=52059&view=rev Author: firebirds Date: 2010-12-19 03:19:26 +0000 (Sun, 19 Dec 2010) 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 2010-12-18 19:13:33 UTC (rev 52058) +++ firebird/trunk/ChangeLog 2010-12-19 03:19:26 UTC (rev 52059) @@ -1,3 +1,9 @@ + 2010-12-18 19:13 dimitr + D src/lock/driver.cpp + D src/lock/reset.cpp + D src/lock/ulimit.cpp +Cleanup. + 2010-12-18 02:17 asfernandes M lang_helpers/gds_codes.ftn M lang_helpers/gds_codes.pas Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2010-12-18 19:13:33 UTC (rev 52058) +++ firebird/trunk/src/jrd/build_no.h 2010-12-19 03:19:26 UTC (rev 52059) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:28948 + FORMAL BUILD NUMBER:28949 */ -#define PRODUCT_VER_STRING "3.0.0.28948" -#define FILE_VER_STRING "WI-T3.0.0.28948" -#define LICENSE_VER_STRING "WI-T3.0.0.28948" -#define FILE_VER_NUMBER 3, 0, 0, 28948 +#define PRODUCT_VER_STRING "3.0.0.28949" +#define FILE_VER_STRING "WI-T3.0.0.28949" +#define LICENSE_VER_STRING "WI-T3.0.0.28949" +#define FILE_VER_NUMBER 3, 0, 0, 28949 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "28948" +#define FB_BUILD_NO "28949" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2010-12-18 19:13:33 UTC (rev 52058) +++ firebird/trunk/src/misc/writeBuildNum.sh 2010-12-19 03:19:26 UTC (rev 52059) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=28948 +BuildNum=28949 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |