From: <fir...@us...> - 2013-04-26 02:11:11
|
Revision: 57984 http://sourceforge.net/p/firebird/code/57984 Author: firebirds Date: 2013-04-26 02:11:05 +0000 (Fri, 26 Apr 2013) 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 2013-04-25 16:30:58 UTC (rev 57983) +++ firebird/trunk/ChangeLog 2013-04-26 02:11:05 UTC (rev 57984) @@ -1,3 +1,8 @@ + 2013-04-25 16:30 asfernandes + M doc/WhatsNew + A doc/sql.extensions/README.window_functions.txt +Document window functions: CORE-2090, CORE-2133, CORE-2823, CORE-2830, CORE-2869, CORE-3619, CORE-3620, CORE-3621. + 2013-04-24 15:31 asfernandes M src/dsql/WinNodes.cpp M src/dsql/WinNodes.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-25 16:30:58 UTC (rev 57983) +++ firebird/trunk/src/jrd/build_no.h 2013-04-26 02:11:05 UTC (rev 57984) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30378 + FORMAL BUILD NUMBER:30379 */ -#define PRODUCT_VER_STRING "3.0.0.30378" -#define FILE_VER_STRING "WI-T3.0.0.30378" -#define LICENSE_VER_STRING "WI-T3.0.0.30378" -#define FILE_VER_NUMBER 3, 0, 0, 30378 +#define PRODUCT_VER_STRING "3.0.0.30379" +#define FILE_VER_STRING "WI-T3.0.0.30379" +#define LICENSE_VER_STRING "WI-T3.0.0.30379" +#define FILE_VER_NUMBER 3, 0, 0, 30379 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30378" +#define FB_BUILD_NO "30379" #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 2013-04-25 16:30:58 UTC (rev 57983) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-26 02:11:05 UTC (rev 57984) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30378 +BuildNum=30379 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...> - 2013-04-27 00:30:55
|
Revision: 57990 http://sourceforge.net/p/firebird/code/57990 Author: firebirds Date: 2013-04-27 00:30:51 +0000 (Sat, 27 Apr 2013) 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 2013-04-26 15:59:19 UTC (rev 57989) +++ firebird/trunk/ChangeLog 2013-04-27 00:30:51 UTC (rev 57990) @@ -1,3 +1,18 @@ + 2013-04-26 15:59 alexpeshkoff + M src/common/classes/Reasons.h +Make it resistant to races (avoid violating array boundaries) + + 2013-04-26 15:52 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.returning +Docs. + + 2013-04-26 15:29 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.merge.txt + M doc/sql.extensions/README.returning +Finish MERGE improvements documentation (CORE-2005, CORE-3020, CORE-3639). + 2013-04-25 16:30 asfernandes M doc/WhatsNew A doc/sql.extensions/README.window_functions.txt Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-26 15:59:19 UTC (rev 57989) +++ firebird/trunk/src/jrd/build_no.h 2013-04-27 00:30:51 UTC (rev 57990) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30379 + FORMAL BUILD NUMBER:30382 */ -#define PRODUCT_VER_STRING "3.0.0.30379" -#define FILE_VER_STRING "WI-T3.0.0.30379" -#define LICENSE_VER_STRING "WI-T3.0.0.30379" -#define FILE_VER_NUMBER 3, 0, 0, 30379 +#define PRODUCT_VER_STRING "3.0.0.30382" +#define FILE_VER_STRING "WI-T3.0.0.30382" +#define LICENSE_VER_STRING "WI-T3.0.0.30382" +#define FILE_VER_NUMBER 3, 0, 0, 30382 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30379" +#define FB_BUILD_NO "30382" #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 2013-04-26 15:59:19 UTC (rev 57989) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-27 00:30:51 UTC (rev 57990) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30379 +BuildNum=30382 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...> - 2013-04-29 00:43:29
|
Revision: 58007 http://sourceforge.net/p/firebird/code/58007 Author: firebirds Date: 2013-04-29 00:42:49 +0000 (Mon, 29 Apr 2013) 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 2013-04-28 14:11:17 UTC (rev 58006) +++ firebird/trunk/ChangeLog 2013-04-29 00:42:49 UTC (rev 58007) @@ -1,3 +1,15 @@ + 2013-04-28 14:11 dimitr + M src/common/cvt.cpp +Corrected the target buffer length. + + 2013-04-28 13:40 dimitr + M src/common/cvt.cpp +Simple fix for CORE-4093: Server crashes while converting an overscaled numeric to a string. It assumes the resulting string being limited in length by the scale (value <= 128). A more generic solution (e.g. disallow overflowing scales) would be appreciated for the trunk. + + 2013-04-28 11:52 dimitr + M src/jrd/opt.cpp +Fixed CORE-4091 (Incorrect full join result with ROW_NUMBER() Function in CTE) and one part of CORE-4083 (full outer join in subrequest with coalesce). + 2013-04-26 15:59 alexpeshkoff M src/common/classes/Reasons.h Make it resistant to races (avoid violating array boundaries) Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-28 14:11:17 UTC (rev 58006) +++ firebird/trunk/src/jrd/build_no.h 2013-04-29 00:42:49 UTC (rev 58007) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30382 + FORMAL BUILD NUMBER:30385 */ -#define PRODUCT_VER_STRING "3.0.0.30382" -#define FILE_VER_STRING "WI-T3.0.0.30382" -#define LICENSE_VER_STRING "WI-T3.0.0.30382" -#define FILE_VER_NUMBER 3, 0, 0, 30382 +#define PRODUCT_VER_STRING "3.0.0.30385" +#define FILE_VER_STRING "WI-T3.0.0.30385" +#define LICENSE_VER_STRING "WI-T3.0.0.30385" +#define FILE_VER_NUMBER 3, 0, 0, 30385 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30382" +#define FB_BUILD_NO "30385" #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 2013-04-28 14:11:17 UTC (rev 58006) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-29 00:42:49 UTC (rev 58007) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30382 +BuildNum=30385 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...> - 2013-04-30 00:42:10
|
Revision: 58013 http://sourceforge.net/p/firebird/code/58013 Author: firebirds Date: 2013-04-30 00:42:07 +0000 (Tue, 30 Apr 2013) 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 2013-04-29 15:54:03 UTC (rev 58012) +++ firebird/trunk/ChangeLog 2013-04-30 00:42:07 UTC (rev 58013) @@ -1,3 +1,8 @@ + 2013-04-29 15:54 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.ddl.txt +Document CORE-1180 and CORE-3085. + 2013-04-28 14:11 dimitr M src/common/cvt.cpp Corrected the target buffer length. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-29 15:54:03 UTC (rev 58012) +++ firebird/trunk/src/jrd/build_no.h 2013-04-30 00:42:07 UTC (rev 58013) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30385 + FORMAL BUILD NUMBER:30386 */ -#define PRODUCT_VER_STRING "3.0.0.30385" -#define FILE_VER_STRING "WI-T3.0.0.30385" -#define LICENSE_VER_STRING "WI-T3.0.0.30385" -#define FILE_VER_NUMBER 3, 0, 0, 30385 +#define PRODUCT_VER_STRING "3.0.0.30386" +#define FILE_VER_STRING "WI-T3.0.0.30386" +#define LICENSE_VER_STRING "WI-T3.0.0.30386" +#define FILE_VER_NUMBER 3, 0, 0, 30386 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30385" +#define FB_BUILD_NO "30386" #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 2013-04-29 15:54:03 UTC (rev 58012) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-30 00:42:07 UTC (rev 58013) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30385 +BuildNum=30386 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...> - 2013-05-01 00:42:41
|
Revision: 58016 http://sourceforge.net/p/firebird/code/58016 Author: firebirds Date: 2013-05-01 00:42:36 +0000 (Wed, 01 May 2013) 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 2013-04-30 15:27:51 UTC (rev 58015) +++ firebird/trunk/ChangeLog 2013-05-01 00:42:36 UTC (rev 58016) @@ -1,3 +1,7 @@ + 2013-04-30 15:27 dimitr + M src/jrd/opt.cpp +One more bugfix for full outer joins. + 2013-04-29 15:54 asfernandes M doc/WhatsNew M doc/sql.extensions/README.ddl.txt Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-30 15:27:51 UTC (rev 58015) +++ firebird/trunk/src/jrd/build_no.h 2013-05-01 00:42:36 UTC (rev 58016) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30386 + FORMAL BUILD NUMBER:30387 */ -#define PRODUCT_VER_STRING "3.0.0.30386" -#define FILE_VER_STRING "WI-T3.0.0.30386" -#define LICENSE_VER_STRING "WI-T3.0.0.30386" -#define FILE_VER_NUMBER 3, 0, 0, 30386 +#define PRODUCT_VER_STRING "3.0.0.30387" +#define FILE_VER_STRING "WI-T3.0.0.30387" +#define LICENSE_VER_STRING "WI-T3.0.0.30387" +#define FILE_VER_NUMBER 3, 0, 0, 30387 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30386" +#define FB_BUILD_NO "30387" #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 2013-04-30 15:27:51 UTC (rev 58015) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-01 00:42:36 UTC (rev 58016) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30386 +BuildNum=30387 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...> - 2013-05-04 00:39:31
|
Revision: 58027 http://sourceforge.net/p/firebird/code/58027 Author: firebirds Date: 2013-05-04 00:39:27 +0000 (Sat, 04 May 2013) 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 2013-05-03 15:01:05 UTC (rev 58026) +++ firebird/trunk/ChangeLog 2013-05-04 00:39:27 UTC (rev 58027) @@ -1,3 +1,15 @@ + 2013-05-03 15:01 dimitr + M src/jrd/btr.cpp +Misc. + + 2013-05-03 13:29 dimitr + M src/jrd/dpm.epp +Correction as per Claudio's request. + + 2013-05-03 13:12 dimitr + M doc/WhatsNew +Documented bugfixes. + 2013-04-30 15:27 dimitr M src/jrd/opt.cpp One more bugfix for full outer joins. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-03 15:01:05 UTC (rev 58026) +++ firebird/trunk/src/jrd/build_no.h 2013-05-04 00:39:27 UTC (rev 58027) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30387 + FORMAL BUILD NUMBER:30390 */ -#define PRODUCT_VER_STRING "3.0.0.30387" -#define FILE_VER_STRING "WI-T3.0.0.30387" -#define LICENSE_VER_STRING "WI-T3.0.0.30387" -#define FILE_VER_NUMBER 3, 0, 0, 30387 +#define PRODUCT_VER_STRING "3.0.0.30390" +#define FILE_VER_STRING "WI-T3.0.0.30390" +#define LICENSE_VER_STRING "WI-T3.0.0.30390" +#define FILE_VER_NUMBER 3, 0, 0, 30390 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30387" +#define FB_BUILD_NO "30390" #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 2013-05-03 15:01:05 UTC (rev 58026) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-04 00:39:27 UTC (rev 58027) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30387 +BuildNum=30390 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...> - 2013-05-05 00:36:53
|
Revision: 58030 http://sourceforge.net/p/firebird/code/58030 Author: firebirds Date: 2013-05-05 00:36:48 +0000 (Sun, 05 May 2013) 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 2013-05-04 18:10:15 UTC (rev 58029) +++ firebird/trunk/ChangeLog 2013-05-05 00:36:48 UTC (rev 58030) @@ -1,3 +1,11 @@ + 2013-05-04 18:10 asfernandes + M doc/sql.extensions/README.ddl.txt +Correction. + + 2013-05-04 16:19 dimitr + M src/jrd/recsrc/SingularStream.cpp +Fixed bug in my recent refactoring, thanks to Adriano. + 2013-05-03 15:01 dimitr M src/jrd/btr.cpp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-04 18:10:15 UTC (rev 58029) +++ firebird/trunk/src/jrd/build_no.h 2013-05-05 00:36:48 UTC (rev 58030) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30390 + FORMAL BUILD NUMBER:30392 */ -#define PRODUCT_VER_STRING "3.0.0.30390" -#define FILE_VER_STRING "WI-T3.0.0.30390" -#define LICENSE_VER_STRING "WI-T3.0.0.30390" -#define FILE_VER_NUMBER 3, 0, 0, 30390 +#define PRODUCT_VER_STRING "3.0.0.30392" +#define FILE_VER_STRING "WI-T3.0.0.30392" +#define LICENSE_VER_STRING "WI-T3.0.0.30392" +#define FILE_VER_NUMBER 3, 0, 0, 30392 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30390" +#define FB_BUILD_NO "30392" #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 2013-05-04 18:10:15 UTC (rev 58029) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-05 00:36:48 UTC (rev 58030) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30390 +BuildNum=30392 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...> - 2013-05-06 00:30:21
|
Revision: 58033 http://sourceforge.net/p/firebird/code/58033 Author: firebirds Date: 2013-05-06 00:30:17 +0000 (Mon, 06 May 2013) 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 2013-05-05 23:01:57 UTC (rev 58032) +++ firebird/trunk/ChangeLog 2013-05-06 00:30:17 UTC (rev 58033) @@ -1,3 +1,11 @@ + 2013-05-05 23:01 asfernandes + M doc/WhatsNew +Fixed CORE-4083 - Full outer join in derived table with coalesce (iif). + + 2013-05-05 22:59 asfernandes + M src/dsql/pass1.cpp +Fixed CORE-4083 - Full outer join in derived table with coalesce (iif). + 2013-05-04 18:10 asfernandes M doc/sql.extensions/README.ddl.txt Correction. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-05 23:01:57 UTC (rev 58032) +++ firebird/trunk/src/jrd/build_no.h 2013-05-06 00:30:17 UTC (rev 58033) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30392 + FORMAL BUILD NUMBER:30394 */ -#define PRODUCT_VER_STRING "3.0.0.30392" -#define FILE_VER_STRING "WI-T3.0.0.30392" -#define LICENSE_VER_STRING "WI-T3.0.0.30392" -#define FILE_VER_NUMBER 3, 0, 0, 30392 +#define PRODUCT_VER_STRING "3.0.0.30394" +#define FILE_VER_STRING "WI-T3.0.0.30394" +#define LICENSE_VER_STRING "WI-T3.0.0.30394" +#define FILE_VER_NUMBER 3, 0, 0, 30394 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30392" +#define FB_BUILD_NO "30394" #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 2013-05-05 23:01:57 UTC (rev 58032) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-06 00:30:17 UTC (rev 58033) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30392 +BuildNum=30394 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...> - 2013-05-07 00:41:25
|
Revision: 58038 http://sourceforge.net/p/firebird/code/58038 Author: firebirds Date: 2013-05-07 00:41:22 +0000 (Tue, 07 May 2013) 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 2013-05-06 18:41:59 UTC (rev 58037) +++ firebird/trunk/ChangeLog 2013-05-07 00:41:22 UTC (rev 58038) @@ -1,3 +1,19 @@ + 2013-05-06 18:41 dimitr + M src/jrd/btr.cpp +Postfix for my prior commit. + + 2013-05-06 14:16 dimitr + M src/jrd/btr.cpp +Rolled back my patch for CORE-2709. Reworked Adriano's solution for CORE-1188, CORE-3052 and CORE-3239. Both changes affect the stored index keys for compound indices, so beware. + + 2013-05-06 12:34 dimitr + M src/jrd/btr.cpp + M src/jrd/btr.h + M src/jrd/btr_proto.h + M src/jrd/idx.cpp + M src/jrd/recsrc/IndexTableScan.cpp +Simplified the code and reworked the NULL validation logic. + 2013-05-05 23:01 asfernandes M doc/WhatsNew Fixed CORE-4083 - Full outer join in derived table with coalesce (iif). Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-06 18:41:59 UTC (rev 58037) +++ firebird/trunk/src/jrd/build_no.h 2013-05-07 00:41:22 UTC (rev 58038) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30394 + FORMAL BUILD NUMBER:30397 */ -#define PRODUCT_VER_STRING "3.0.0.30394" -#define FILE_VER_STRING "WI-T3.0.0.30394" -#define LICENSE_VER_STRING "WI-T3.0.0.30394" -#define FILE_VER_NUMBER 3, 0, 0, 30394 +#define PRODUCT_VER_STRING "3.0.0.30397" +#define FILE_VER_STRING "WI-T3.0.0.30397" +#define LICENSE_VER_STRING "WI-T3.0.0.30397" +#define FILE_VER_NUMBER 3, 0, 0, 30397 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30394" +#define FB_BUILD_NO "30397" #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 2013-05-06 18:41:59 UTC (rev 58037) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-07 00:41:22 UTC (rev 58038) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30394 +BuildNum=30397 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...> - 2013-05-08 00:48:55
|
Revision: 58045 http://sourceforge.net/p/firebird/code/58045 Author: firebirds Date: 2013-05-08 00:48:52 +0000 (Wed, 08 May 2013) 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 2013-05-07 16:02:28 UTC (rev 58044) +++ firebird/trunk/ChangeLog 2013-05-08 00:48:52 UTC (rev 58045) @@ -1,3 +1,15 @@ + 2013-05-07 16:02 asfernandes + M src/dsql/AggNodes.cpp +Fixed crash with CORE-3694 test-case. + + 2013-05-07 11:52 hvlad + M src/common/classes/ClumpletWriter.h +Enlarge DPB\SPB size limit up to 1MB (as Alex suggested). Former limit (4KB) was too small even to pass contents of standard fbtrace.conf into the trace start service. + + 2013-05-07 11:37 hvlad + M src/jrd/trace/TraceObjects.cpp +Fixed bug CORE-4094 : Wrong parameters order in trace output + 2013-05-06 18:41 dimitr M src/jrd/btr.cpp Postfix for my prior commit. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-07 16:02:28 UTC (rev 58044) +++ firebird/trunk/src/jrd/build_no.h 2013-05-08 00:48:52 UTC (rev 58045) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30397 + FORMAL BUILD NUMBER:30400 */ -#define PRODUCT_VER_STRING "3.0.0.30397" -#define FILE_VER_STRING "WI-T3.0.0.30397" -#define LICENSE_VER_STRING "WI-T3.0.0.30397" -#define FILE_VER_NUMBER 3, 0, 0, 30397 +#define PRODUCT_VER_STRING "3.0.0.30400" +#define FILE_VER_STRING "WI-T3.0.0.30400" +#define LICENSE_VER_STRING "WI-T3.0.0.30400" +#define FILE_VER_NUMBER 3, 0, 0, 30400 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30397" +#define FB_BUILD_NO "30400" #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 2013-05-07 16:02:28 UTC (rev 58044) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-08 00:48:52 UTC (rev 58045) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30397 +BuildNum=30400 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...> - 2013-05-09 00:35:39
|
Revision: 58049 http://sourceforge.net/p/firebird/code/58049 Author: firebirds Date: 2013-05-09 00:35:36 +0000 (Thu, 09 May 2013) 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 2013-05-08 15:47:40 UTC (rev 58048) +++ firebird/trunk/ChangeLog 2013-05-09 00:35:36 UTC (rev 58049) @@ -1,3 +1,11 @@ + 2013-05-08 15:47 asfernandes + M doc/sql.extensions/README.ddl_triggers.txt +Misc. + + 2013-05-08 15:34 asfernandes + M doc/sql.extensions/README.packages.txt +Added PSQL functions syntax to package documentation. + 2013-05-07 16:02 asfernandes M src/dsql/AggNodes.cpp Fixed crash with CORE-3694 test-case. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-08 15:47:40 UTC (rev 58048) +++ firebird/trunk/src/jrd/build_no.h 2013-05-09 00:35:36 UTC (rev 58049) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30400 + FORMAL BUILD NUMBER:30402 */ -#define PRODUCT_VER_STRING "3.0.0.30400" -#define FILE_VER_STRING "WI-T3.0.0.30400" -#define LICENSE_VER_STRING "WI-T3.0.0.30400" -#define FILE_VER_NUMBER 3, 0, 0, 30400 +#define PRODUCT_VER_STRING "3.0.0.30402" +#define FILE_VER_STRING "WI-T3.0.0.30402" +#define LICENSE_VER_STRING "WI-T3.0.0.30402" +#define FILE_VER_NUMBER 3, 0, 0, 30402 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30400" +#define FB_BUILD_NO "30402" #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 2013-05-08 15:47:40 UTC (rev 58048) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-09 00:35:36 UTC (rev 58049) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30400 +BuildNum=30402 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...> - 2013-05-11 00:42:17
|
Revision: 58056 http://sourceforge.net/p/firebird/code/58056 Author: firebirds Date: 2013-05-11 00:42:13 +0000 (Sat, 11 May 2013) 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 2013-05-10 15:48:47 UTC (rev 58055) +++ firebird/trunk/ChangeLog 2013-05-11 00:42:13 UTC (rev 58056) @@ -1,3 +1,17 @@ + 2013-05-10 15:48 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.exception_handling +Document CORE-832 - Add support for parameterized exceptions. + + 2013-05-10 14:47 asfernandes + M doc/WhatsNew + A doc/sql.extensions/README.substring_similar.txt +Document CORE-2006 - Regular expression SUBSTRING. + + 2013-05-09 01:21 asfernandes + M doc/WhatsNew +Removed from WhatsNew the fix present in 2.5. + 2013-05-08 15:47 asfernandes M doc/sql.extensions/README.ddl_triggers.txt Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-10 15:48:47 UTC (rev 58055) +++ firebird/trunk/src/jrd/build_no.h 2013-05-11 00:42:13 UTC (rev 58056) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30402 + FORMAL BUILD NUMBER:30405 */ -#define PRODUCT_VER_STRING "3.0.0.30402" -#define FILE_VER_STRING "WI-T3.0.0.30402" -#define LICENSE_VER_STRING "WI-T3.0.0.30402" -#define FILE_VER_NUMBER 3, 0, 0, 30402 +#define PRODUCT_VER_STRING "3.0.0.30405" +#define FILE_VER_STRING "WI-T3.0.0.30405" +#define LICENSE_VER_STRING "WI-T3.0.0.30405" +#define FILE_VER_NUMBER 3, 0, 0, 30405 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30402" +#define FB_BUILD_NO "30405" #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 2013-05-10 15:48:47 UTC (rev 58055) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-11 00:42:13 UTC (rev 58056) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30402 +BuildNum=30405 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...> - 2013-05-13 01:49:39
|
Revision: 58066 http://sourceforge.net/p/firebird/code/58066 Author: asfernandes Date: 2013-05-13 01:49:34 +0000 (Mon, 13 May 2013) Log Message: ----------- Changed package routines syntax to not need (nor accept) a semi-colon after "END". Modified Paths: -------------- firebird/trunk/examples/package/fbout-body.sql firebird/trunk/src/dsql/parse.y Modified: firebird/trunk/examples/package/fbout-body.sql =================================================================== --- firebird/trunk/examples/package/fbout-body.sql 2013-05-13 01:48:57 UTC (rev 58065) +++ firebird/trunk/examples/package/fbout-body.sql 2013-05-13 01:49:34 UTC (rev 58066) @@ -30,13 +30,13 @@ as begin rdb$set_context('USER_SESSION', 'fb$out.enabled', '1'); - end; + end procedure disable as begin rdb$set_context('USER_SESSION', 'fb$out.enabled', null); - end; + end procedure put_line (line fb$out_type) as @@ -49,14 +49,14 @@ values (next value for fb$out_seq, :line); end end - end; + end procedure clear as begin in autonomous transaction do delete from fb$out_table; - end; + end procedure get_lines returns (lines fb$out_type) as @@ -77,7 +77,7 @@ end execute procedure clear; - end; + end end! Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2013-05-13 01:48:57 UTC (rev 58065) +++ firebird/trunk/src/dsql/parse.y 2013-05-13 01:49:34 UTC (rev 58066) @@ -2403,8 +2403,7 @@ %type <packageItems> package_body_items_opt package_body_items_opt - : - { $$ = newNode<Array<CreateAlterPackageNode::Item> >(); } + : /* nothing */ { $$ = newNode<Array<CreateAlterPackageNode::Item> >(); } | package_body_items ; @@ -2424,9 +2423,9 @@ %type <packageItem> package_body_item package_body_item - : FUNCTION function_clause ';' + : FUNCTION function_clause { $$ = CreateAlterPackageNode::Item::create($2); } - | PROCEDURE procedure_clause ';' + | PROCEDURE procedure_clause { $$ = CreateAlterPackageNode::Item::create($2); } ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-05-14 00:46:16
|
Revision: 58069 http://sourceforge.net/p/firebird/code/58069 Author: firebirds Date: 2013-05-14 00:46:12 +0000 (Tue, 14 May 2013) 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 2013-05-13 15:56:49 UTC (rev 58068) +++ firebird/trunk/ChangeLog 2013-05-14 00:46:12 UTC (rev 58069) @@ -1,3 +1,30 @@ + 2013-05-13 15:56 asfernandes + M doc/WhatsNew + A doc/sql.extensions/README.subroutines.txt +Document subroutines (CORE-1288 and CORE-3626). + + 2013-05-13 15:56 asfernandes + M doc/sql.extensions/README.packages.txt +Correction. + + 2013-05-13 01:49 asfernandes + M examples/package/fbout-body.sql + M src/dsql/parse.y +Changed package routines syntax to not need (nor accept) a semi-colon after "END". + + 2013-05-13 01:48 asfernandes + M src/dsql/StmtNodes.cpp + M src/jrd/exe.cpp + M src/jrd/recsrc/ProcedureScan.cpp +Fixed crash when calling unimplemented packaged procedures. + + 2013-05-12 02:45 asfernandes + M src/jrd/btr.cpp + M src/jrd/btr.h + M src/jrd/idx.cpp + M src/jrd/trace/TraceObjects.cpp +Misc. + 2013-05-10 15:48 asfernandes M doc/WhatsNew M doc/sql.extensions/README.exception_handling Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-13 15:56:49 UTC (rev 58068) +++ firebird/trunk/src/jrd/build_no.h 2013-05-14 00:46:12 UTC (rev 58069) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30405 + FORMAL BUILD NUMBER:30410 */ -#define PRODUCT_VER_STRING "3.0.0.30405" -#define FILE_VER_STRING "WI-T3.0.0.30405" -#define LICENSE_VER_STRING "WI-T3.0.0.30405" -#define FILE_VER_NUMBER 3, 0, 0, 30405 +#define PRODUCT_VER_STRING "3.0.0.30410" +#define FILE_VER_STRING "WI-T3.0.0.30410" +#define LICENSE_VER_STRING "WI-T3.0.0.30410" +#define FILE_VER_NUMBER 3, 0, 0, 30410 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30405" +#define FB_BUILD_NO "30410" #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 2013-05-13 15:56:49 UTC (rev 58068) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-14 00:46:12 UTC (rev 58069) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30405 +BuildNum=30410 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...> - 2013-05-16 00:25:28
|
Revision: 58078 http://sourceforge.net/p/firebird/code/58078 Author: firebirds Date: 2013-05-16 00:25:26 +0000 (Thu, 16 May 2013) 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 2013-05-15 15:39:40 UTC (rev 58077) +++ firebird/trunk/ChangeLog 2013-05-16 00:25:26 UTC (rev 58078) @@ -1,3 +1,29 @@ + 2013-05-15 15:39 asfernandes + M src/include/firebird/Message.h +Misc. + + 2013-05-15 14:28 hvlad + M src/jrd/tra.cpp +Fixed bug CORE-4100 : Automatic sweep could be run when there is no need for it + + 2013-05-14 15:44 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.ddl.txt +Document CORE-3018 - RECREATE, ALTER and CREATE OR ALTER SEQUENCE/GENERATOR statements. + + 2013-05-14 15:43 asfernandes + M src/dsql/parse.y +Added ALTER GENERATOR (as ALTER SEQUENCE) for consistency with the others SEQUENCE/GENERATOR commands. + + 2013-05-14 14:53 asfernandes + M doc/WhatsNew + M doc/sql.extensions/README.ddl.txt +Document CORE-1209 - CONTINUE statement. + + 2013-05-14 01:06 asfernandes + M src/dsql/parse.y +Fixed problem with LEAVE and CONTINUE syntaxes. + 2013-05-13 15:56 asfernandes M doc/WhatsNew A doc/sql.extensions/README.subroutines.txt Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-15 15:39:40 UTC (rev 58077) +++ firebird/trunk/src/jrd/build_no.h 2013-05-16 00:25:26 UTC (rev 58078) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30410 + FORMAL BUILD NUMBER:30416 */ -#define PRODUCT_VER_STRING "3.0.0.30410" -#define FILE_VER_STRING "WI-T3.0.0.30410" -#define LICENSE_VER_STRING "WI-T3.0.0.30410" -#define FILE_VER_NUMBER 3, 0, 0, 30410 +#define PRODUCT_VER_STRING "3.0.0.30416" +#define FILE_VER_STRING "WI-T3.0.0.30416" +#define LICENSE_VER_STRING "WI-T3.0.0.30416" +#define FILE_VER_NUMBER 3, 0, 0, 30416 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30410" +#define FB_BUILD_NO "30416" #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 2013-05-15 15:39:40 UTC (rev 58077) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-16 00:25:26 UTC (rev 58078) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30410 +BuildNum=30416 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...> - 2013-05-21 00:23:53
|
Revision: 58083 http://sourceforge.net/p/firebird/code/58083 Author: firebirds Date: 2013-05-21 00:23:49 +0000 (Tue, 21 May 2013) 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 2013-05-20 03:27:56 UTC (rev 58082) +++ firebird/trunk/ChangeLog 2013-05-21 00:23:49 UTC (rev 58083) @@ -1,3 +1,7 @@ + 2013-05-20 03:27 robocop + M doc/sql.extensions/README.data_types +Misc. + 2013-05-15 15:39 asfernandes M src/include/firebird/Message.h Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-20 03:27:56 UTC (rev 58082) +++ firebird/trunk/src/jrd/build_no.h 2013-05-21 00:23:49 UTC (rev 58083) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30416 + FORMAL BUILD NUMBER:30417 */ -#define PRODUCT_VER_STRING "3.0.0.30416" -#define FILE_VER_STRING "WI-T3.0.0.30416" -#define LICENSE_VER_STRING "WI-T3.0.0.30416" -#define FILE_VER_NUMBER 3, 0, 0, 30416 +#define PRODUCT_VER_STRING "3.0.0.30417" +#define FILE_VER_STRING "WI-T3.0.0.30417" +#define LICENSE_VER_STRING "WI-T3.0.0.30417" +#define FILE_VER_NUMBER 3, 0, 0, 30417 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30416" +#define FB_BUILD_NO "30417" #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 2013-05-20 03:27:56 UTC (rev 58082) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-21 00:23:49 UTC (rev 58083) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30416 +BuildNum=30417 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...> - 2013-05-22 00:26:12
|
Revision: 58090 http://sourceforge.net/p/firebird/code/58090 Author: firebirds Date: 2013-05-22 00:26:08 +0000 (Wed, 22 May 2013) 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 2013-05-21 21:53:39 UTC (rev 58089) +++ firebird/trunk/ChangeLog 2013-05-22 00:26:08 UTC (rev 58090) @@ -1,3 +1,41 @@ + 2013-05-21 21:53 robocop + M src/isql/isql.epp + M src/jrd/jrd.cpp + M src/yvalve/why.cpp +Misc. + + 2013-05-21 21:49 robocop + M src/jrd/par.cpp + M src/remote/client/interface.cpp + M src/remote/server/server.cpp +Misc. + + 2013-05-21 21:47 robocop + M src/jrd/Database.h + M src/jrd/dfw.epp + M src/jrd/dpm.epp +Misc. + + 2013-05-21 21:46 robocop + M src/auth/SecureRemotePassword/Message.h + M src/common/classes/ClumpletWriter.h + M src/common/classes/rwlock.h + M src/common/config/config.cpp + M src/common/config/config_file.cpp + M src/common/cvt.cpp + M src/common/isc_s_proto.h + M src/common/isc_sync.cpp + M src/dsql/ExprNodes.cpp + M src/dsql/Parser.cpp + M src/dsql/dsql.h + M src/dsql/pass1.cpp +Misc. + + 2013-05-21 21:43 robocop + M doc/sql.extensions/README.substring_similar.txt + M doc/sql.extensions/README.window_functions.txt +Misc. + 2013-05-20 03:27 robocop M doc/sql.extensions/README.data_types Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-21 21:53:39 UTC (rev 58089) +++ firebird/trunk/src/jrd/build_no.h 2013-05-22 00:26:08 UTC (rev 58090) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30417 + FORMAL BUILD NUMBER:30422 */ -#define PRODUCT_VER_STRING "3.0.0.30417" -#define FILE_VER_STRING "WI-T3.0.0.30417" -#define LICENSE_VER_STRING "WI-T3.0.0.30417" -#define FILE_VER_NUMBER 3, 0, 0, 30417 +#define PRODUCT_VER_STRING "3.0.0.30422" +#define FILE_VER_STRING "WI-T3.0.0.30422" +#define LICENSE_VER_STRING "WI-T3.0.0.30422" +#define FILE_VER_NUMBER 3, 0, 0, 30422 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30417" +#define FB_BUILD_NO "30422" #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 2013-05-21 21:53:39 UTC (rev 58089) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-22 00:26:08 UTC (rev 58090) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30417 +BuildNum=30422 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...> - 2013-05-22 15:44:09
|
Revision: 58094 http://sourceforge.net/p/firebird/code/58094 Author: asfernandes Date: 2013-05-22 15:44:05 +0000 (Wed, 22 May 2013) Log Message: ----------- Improve external triggers messages to work by field name (instead of field order). Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/common/MsgMetadata.cpp firebird/trunk/src/include/firebird/Message.h firebird/trunk/src/include/firebird/Provider.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/jrd/ExtEngineManager.cpp Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-22 15:44:05 UTC (rev 58094) @@ -611,7 +611,7 @@ ITransaction* transaction = context->getTransaction(status); StatusException::check(status->get()); - stmt = attachment->prepare(status, transaction, 0, buffer, 3, 0); + stmt = attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0); delete [] outSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(outSqlDa); @@ -625,7 +625,6 @@ FB_UDR_END_TRIGGER -#if 0 //// FIXME: FB_UDR_BEGIN_TRIGGER(replicate_persons) FB_UDR_TRIGGER(replicate_persons)() : initialized(false) @@ -637,37 +636,26 @@ if (!initialized) return; - delete [] reinterpret_cast<char*>(inSqlDa); + StatusImpl status(master); - ISC_STATUS_ARRAY statusVector = {0}; - isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); + triggerMetadata->release(); + stmt->free(&status); } + // Order of fields does not need to match the fields order in the table, but it should match + // the order of fields in the SQL command constructed in the initialization. FB_UDR_EXECUTE_MESSAGE_TRIGGER( (FB_INTEGER, id, "ID") + (FB_BLOB, info, "INFO") (FB_VARCHAR(60 * 4), address, "ADDRESS") (FB_VARCHAR(60 * 4), name, "NAME") - (FB_BLOB, info, "INFO") ) { - inSqlDa->sqlvar[0].sqldata = reinterpret_cast<char*>(&newFields->id); - inSqlDa->sqlvar[0].sqlind = &newFields->idNull; + ITransaction* transaction = context->getTransaction(status); + StatusException::check(status->get()); - inSqlDa->sqlvar[1].sqldata = reinterpret_cast<char*>(&newFields->name.length); - inSqlDa->sqlvar[1].sqlind = &newFields->nameNull; - - inSqlDa->sqlvar[2].sqldata = reinterpret_cast<char*>(&newFields->address.length); - inSqlDa->sqlvar[2].sqlind = &newFields->addressNull; - - inSqlDa->sqlvar[3].sqldata = reinterpret_cast<char*>(&newFields->info); - inSqlDa->sqlvar[3].sqlind = &newFields->infoNull; - - ISC_STATUS_ARRAY statusVector = {0}; - isc_db_handle dbHandle = getIscDbHandle(context); - isc_tr_handle trHandle = getIscTrHandle(context); - - StatusException::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, - inSqlDa), statusVector); + stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); + StatusException::check(status->get()); } FB_UDR_INITIALIZE @@ -676,7 +664,7 @@ isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); - stmtHandle = 0; + isc_stmt_handle stmtHandle = 0; StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, "select data_source from replicate_config where name = ?", @@ -700,7 +688,7 @@ else info = ""; - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + XSQLDA* inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), @@ -723,21 +711,17 @@ delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); - inSqlDa = NULL; - const IParametersMetadata* fields = metadata->getTriggerFields(status); + triggerMetadata = metadata->getTriggerMetadata(status); StatusException::check(status->get()); - unsigned count = fields->getCount(status); - StatusException::check(status->get()); - char buffer[65536]; strcpy(buffer, "execute block (\n" " id type of column PERSONS.ID = ?,\n" - " name type of column PERSONS.NAME = ?,\n" + " info type of column PERSONS.INFO = ?,\n" " address type of column PERSONS.ADDRESS = ?,\n" - " info type of column PERSONS.INFO = ?\n" + " name type of column PERSONS.NAME = ?\n" ")" "as\n" "begin\n" @@ -747,20 +731,13 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, - SQL_DIALECT_CURRENT, NULL), statusVector); + IAttachment* attachment = context->getAttachment(status); + StatusException::check(status->get()); - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(4))]); - inSqlDa->version = SQLDA_VERSION1; - inSqlDa->sqln = 4; - StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), - statusVector); + ITransaction* transaction = context->getTransaction(status); + StatusException::check(status->get()); - for (unsigned i = 0; i < 4; ++i) - { - XSQLVAR* var = &inSqlDa->sqlvar[i]; - var->sqltype |= 1; - } + stmt = attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0); delete [] outSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(outSqlDa); @@ -769,7 +746,6 @@ } bool initialized; - XSQLDA* inSqlDa; - isc_stmt_handle stmtHandle; + IMessageMetadata* triggerMetadata; + IStatement* stmt; FB_UDR_END_TRIGGER -#endif Modified: firebird/trunk/src/common/MsgMetadata.cpp =================================================================== --- firebird/trunk/src/common/MsgMetadata.cpp 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/src/common/MsgMetadata.cpp 2013-05-22 15:44:05 UTC (rev 58094) @@ -53,6 +53,7 @@ } // IMetadataBuilder implementation + virtual void FB_CARG setType(IStatus* status, unsigned index, unsigned type) { try @@ -128,6 +129,35 @@ } } + virtual void FB_CARG moveNameToIndex(IStatus* status, const char* name, unsigned index) + { + try + { + MutexLockGuard g(mtx, FB_FUNCTION); + + indexError(index, "moveNameToIndex"); + + for (ObjectsArray<MsgMetadata::Item>::iterator i = msgMetadata->items.begin(); + i != msgMetadata->items.end(); + ++i) + { + if (i->field == name) + { + MsgMetadata::Item copy(getPool(), *i); + msgMetadata->items.remove(i); + msgMetadata->items.insert(index, copy); + return; + } + } + + (Arg::Gds(isc_random) << (string("Name not found in IMetadataBuilder: ") + name)).raise(); + } + catch (const Exception& ex) + { + ex.stuffException(status); + } + } + virtual IMessageMetadata* FB_CARG getMetadata(IStatus* status) { try @@ -162,7 +192,7 @@ { if (!msgMetadata) { - (Arg::Gds(isc_random) << (string("MetadataBuilder interface is already inactive: " + (Arg::Gds(isc_random) << (string("IMetadataBuilder interface is already inactive: " "IMetadataBuilder::") + functionName)).raise(); } } Modified: firebird/trunk/src/include/firebird/Message.h =================================================================== --- firebird/trunk/src/include/firebird/Message.h 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/src/include/firebird/Message.h 2013-05-22 15:44:05 UTC (rev 58094) @@ -31,37 +31,36 @@ #include <string.h> #define FB_MESSAGE(name, fields) \ - FB_MESSAGE_I(name, 2, FB_BOOST_PP_CAT(FB_MESSAGE_X fields, 0)) + FB__MESSAGE_I(name, 2, FB_BOOST_PP_CAT(FB__MESSAGE_X fields, 0), ) -#define FB_MESSAGE_X(x, y) ((x, y)) FB_MESSAGE_Y -#define FB_MESSAGE_Y(x, y) ((x, y)) FB_MESSAGE_X -#define FB_MESSAGE_X0 -#define FB_MESSAGE_Y0 +#define FB__MESSAGE_X(x, y) ((x, y)) FB__MESSAGE_Y +#define FB__MESSAGE_Y(x, y) ((x, y)) FB__MESSAGE_X +#define FB__MESSAGE_X0 +#define FB__MESSAGE_Y0 #define FB_TRIGGER_MESSAGE(name, fields) \ - struct name \ - { \ - FB_MESSAGE_I(name, 3, FB_BOOST_PP_CAT(FB_TRIGGER_MESSAGE_X fields, 0)) \ - FB_TRIGGER_MESSAGE_NAMES_I(name, 3, FB_BOOST_PP_CAT(FB_TRIGGER_MESSAGE_NAMES_X fields, 0)) \ - } + FB__MESSAGE_I(name, 3, FB_BOOST_PP_CAT(FB_TRIGGER_MESSAGE_X fields, 0), \ + FB_TRIGGER_MESSAGE_MOVE_NAMES(name, fields)) #define FB_TRIGGER_MESSAGE_X(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_Y #define FB_TRIGGER_MESSAGE_Y(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_X #define FB_TRIGGER_MESSAGE_X0 #define FB_TRIGGER_MESSAGE_Y0 -#define FB_MESSAGE_I(name, size, fields) \ +#define FB__MESSAGE_I(name, size, fields, moveNames) \ struct name \ { \ struct Type \ { \ - FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_FIELD, size, fields) \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB__MESSAGE_FIELD, size, fields) \ }; \ \ static void setup(::Firebird::IStatus* status, ::Firebird::IMetadataBuilder* builder) \ { \ unsigned index = 0; \ - FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_META, size, fields) \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB__MESSAGE_META, size, fields) \ + \ + moveNames \ } \ \ name(::Firebird::IMaster* master) \ @@ -103,142 +102,105 @@ ::Firebird::MessageDesc desc; \ } -#define FB_MESSAGE_FIELD(r, _, i, xy) \ - FB_BOOST_PP_CAT(FB_TYPE_, FB_BOOST_PP_TUPLE_ELEM(_, 0, xy)) FB_BOOST_PP_TUPLE_ELEM(_, 1, xy); \ +#define FB__MESSAGE_FIELD(r, _, i, xy) \ + FB_BOOST_PP_CAT(FB__TYPE_, FB_BOOST_PP_TUPLE_ELEM(_, 0, xy)) FB_BOOST_PP_TUPLE_ELEM(_, 1, xy); \ ISC_SHORT FB_BOOST_PP_CAT(FB_BOOST_PP_TUPLE_ELEM(_, 1, xy), Null); -#define FB_MESSAGE_META(r, _, i, xy) \ - FB_BOOST_PP_CAT(FB_META_, FB_BOOST_PP_TUPLE_ELEM(_, 0, xy)) \ +#define FB__MESSAGE_META(r, _, i, xy) \ + FB_BOOST_PP_CAT(FB__META_, FB_BOOST_PP_TUPLE_ELEM(_, 0, xy)) \ ++index; // Types - metadata -#define FB_META_FB_SCALED_SMALLINT(scale) \ +#define FB__META_FB_SCALED_SMALLINT(scale) \ builder->setType(status, index, SQL_SHORT); \ builder->setLength(status, index, sizeof(ISC_SHORT)); \ builder->setScale(status, index, scale); -#define FB_META_FB_SCALED_INTEGER(scale) \ +#define FB__META_FB_SCALED_INTEGER(scale) \ builder->setType(status, index, SQL_LONG); \ builder->setLength(status, index, sizeof(ISC_LONG)); \ builder->setScale(status, index, scale); -#define FB_META_FB_SCALED_BIGINT(scale) \ +#define FB__META_FB_SCALED_BIGINT(scale) \ builder->setType(status, index, SQL_INT64); \ builder->setLength(status, index, sizeof(ISC_INT64)); \ builder->setScale(status, index, scale); -#define FB_META_FB_FLOAT \ +#define FB__META_FB_FLOAT \ builder->setType(status, index, SQL_FLOAT); \ builder->setLength(status, index, sizeof(float)); -#define FB_META_FB_DOUBLE \ +#define FB__META_FB_DOUBLE \ builder->setType(status, index, SQL_DOUBLE); \ builder->setLength(status, index, sizeof(double)); -#define FB_META_FB_BLOB \ +#define FB__META_FB_BLOB \ builder->setType(status, index, SQL_BLOB); \ builder->setLength(status, index, sizeof(ISC_QUAD)); -#define FB_META_FB_BOOLEAN \ +#define FB__META_FB_BOOLEAN \ builder->setType(status, index, SQL_BOOLEAN); \ builder->setLength(status, index, sizeof(ISC_BOOLEAN)); -#define FB_META_FB_DATE \ +#define FB__META_FB_DATE \ builder->setType(status, index, SQL_DATE); \ builder->setLength(status, index, sizeof(FbDate)); -#define FB_META_FB_TIME \ +#define FB__META_FB_TIME \ builder->setType(status, index, SQL_TIME); \ builder->setLength(status, index, sizeof(FbTime)); -#define FB_META_FB_TIMESTAMP \ +#define FB__META_FB_TIMESTAMP \ builder->setType(status, index, SQL_TIMESTAMP); \ builder->setLength(status, index, sizeof(FbTimestamp)); -#define FB_META_FB_CHAR(len) \ +#define FB__META_FB_CHAR(len) \ builder->setType(status, index, SQL_TEXT); \ builder->setLength(status, index, len); -#define FB_META_FB_VARCHAR(len) \ +#define FB__META_FB_VARCHAR(len) \ builder->setType(status, index, SQL_VARYING); \ builder->setLength(status, index, len); -#define FB_META_FB_SMALLINT FB_META_FB_SCALED_SMALLINT(0) -#define FB_META_FB_INTEGER FB_META_FB_SCALED_INTEGER(0) -#define FB_META_FB_BIGINT FB_META_FB_SCALED_BIGINT(0) +#define FB__META_FB_SMALLINT FB__META_FB_SCALED_SMALLINT(0) +#define FB__META_FB_INTEGER FB__META_FB_SCALED_INTEGER(0) +#define FB__META_FB_BIGINT FB__META_FB_SCALED_BIGINT(0) // Types - struct -#define FB_TYPE_FB_SCALED_SMALLINT(x) ISC_SHORT -#define FB_TYPE_FB_SCALED_INTEGER(x) ISC_LONG -#define FB_TYPE_FB_SCALED_BIGINT(x) ISC_INT64 -#define FB_TYPE_FB_SMALLINT ISC_SHORT -#define FB_TYPE_FB_INTEGER ISC_LONG -#define FB_TYPE_FB_BIGINT ISC_INT64 -#define FB_TYPE_FB_FLOAT float -#define FB_TYPE_FB_DOUBLE double -#define FB_TYPE_FB_BLOB ISC_QUAD -#define FB_TYPE_FB_BOOLEAN ISC_UCHAR -#define FB_TYPE_FB_DATE ::Firebird::FbDate -#define FB_TYPE_FB_TIME ::Firebird::FbTime -#define FB_TYPE_FB_TIMESTAMP ::Firebird::FbTimestamp -#define FB_TYPE_FB_CHAR(len) ::Firebird::FbChar<(len)> -#define FB_TYPE_FB_VARCHAR(len) ::Firebird::FbVarChar<(len)> +#define FB__TYPE_FB_SCALED_SMALLINT(x) ISC_SHORT +#define FB__TYPE_FB_SCALED_INTEGER(x) ISC_LONG +#define FB__TYPE_FB_SCALED_BIGINT(x) ISC_INT64 +#define FB__TYPE_FB_SMALLINT ISC_SHORT +#define FB__TYPE_FB_INTEGER ISC_LONG +#define FB__TYPE_FB_BIGINT ISC_INT64 +#define FB__TYPE_FB_FLOAT float +#define FB__TYPE_FB_DOUBLE double +#define FB__TYPE_FB_BLOB ISC_QUAD +#define FB__TYPE_FB_BOOLEAN ISC_UCHAR +#define FB__TYPE_FB_DATE ::Firebird::FbDate +#define FB__TYPE_FB_TIME ::Firebird::FbTime +#define FB__TYPE_FB_TIMESTAMP ::Firebird::FbTimestamp +#define FB__TYPE_FB_CHAR(len) ::Firebird::FbChar<(len)> +#define FB__TYPE_FB_VARCHAR(len) ::Firebird::FbVarChar<(len)> -#define FB_MESSAGE_DESC(name, fields) \ - FB_MESSAGE(name, fields); \ - struct name##Desc : public name \ - { \ - ::Firebird::FbMessage desc; \ - \ - name##Desc() \ - { \ - desc.blr = getBlr(&desc.blrLength); \ - desc.buffer = (unsigned char*) this; \ - desc.bufferLength = getSize(); \ - } \ - } +#define FB_TRIGGER_MESSAGE_MOVE_NAMES(name, fields) \ + FB_TRIGGER_MESSAGE_MOVE_NAMES_I(name, 3, FB_BOOST_PP_CAT(FB_TRIGGER_MESSAGE_MOVE_NAMES_X fields, 0)) -#define FB_TRIGGER_MESSAGE_DESC(name, fields) \ - FB_TRIGGER_MESSAGE(name, fields); \ - struct name##Desc : public name \ - { \ - ::Firebird::FbMessage desc; \ - \ - name##Desc() \ - { \ - desc.blr = getBlr(&desc.blrLength); \ - desc.buffer = (unsigned char*) this; \ - desc.bufferLength = getSize(); \ - } \ - } +#define FB_TRIGGER_MESSAGE_MOVE_NAMES_X(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_MOVE_NAMES_Y +#define FB_TRIGGER_MESSAGE_MOVE_NAMES_Y(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_MOVE_NAMES_X +#define FB_TRIGGER_MESSAGE_MOVE_NAMES_X0 +#define FB_TRIGGER_MESSAGE_MOVE_NAMES_Y0 -#define FB_TRIGGER_MESSAGE_NAMES(name, fields) \ - FB_TRIGGER_MESSAGE_NAMES_I(name, 3, FB_BOOST_PP_CAT(FB_TRIGGER_MESSAGE_NAMES_X fields, 0)) +#define FB_TRIGGER_MESSAGE_MOVE_NAMES_I(name, size, fields) \ + index = 0; \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB_TRIGGER_MESSAGE_MOVE_NAME, size, fields) -#define FB_TRIGGER_MESSAGE_NAMES_X(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_NAMES_Y -#define FB_TRIGGER_MESSAGE_NAMES_Y(x, y, z) ((x, y, z)) FB_TRIGGER_MESSAGE_NAMES_X -#define FB_TRIGGER_MESSAGE_NAMES_X0 -#define FB_TRIGGER_MESSAGE_NAMES_Y0 +#define FB_TRIGGER_MESSAGE_MOVE_NAME(r, _, i, xy) \ + builder->moveNameToIndex(status, FB_BOOST_PP_TUPLE_ELEM(_, 2, xy), index++); -#define FB_TRIGGER_MESSAGE_NAMES_I(name, size, fields) \ - static const char** getNames(unsigned* count) \ - { \ - *count = FB_BOOST_PP_SEQ_SIZE(fields); \ - \ - static const char* names[] = { \ - FB_BOOST_PP_SEQ_FOR_EACH_I(FB_TRIGGER_MESSAGE_NAME, size, fields) \ - NULL \ - }; \ - \ - return names; \ - } -#define FB_TRIGGER_MESSAGE_NAME(r, _, i, xy) \ - FB_BOOST_PP_TUPLE_ELEM(_, 2, xy), - - namespace Firebird { Modified: firebird/trunk/src/include/firebird/Provider.h =================================================================== --- firebird/trunk/src/include/firebird/Provider.h 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/src/include/firebird/Provider.h 2013-05-22 15:44:05 UTC (rev 58094) @@ -120,9 +120,11 @@ virtual void FB_CARG setLength(IStatus* status, unsigned index, unsigned length) = 0; virtual void FB_CARG setScale(IStatus* status, unsigned index, unsigned scale) = 0; + virtual void FB_CARG moveNameToIndex(IStatus* status, const char* name, unsigned index) = 0; + virtual IMessageMetadata* FB_CARG getMetadata(IStatus* status) = 0; }; -#define FB_METADATA_BUILDER_VERSION (FB_REFCOUNTED_VERSION + 5) +#define FB_METADATA_BUILDER_VERSION (FB_REFCOUNTED_VERSION + 6) class IResultSet : public IRefCounted { Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-22 15:44:05 UTC (rev 58094) @@ -61,10 +61,10 @@ }; #define FB_UDR_EXECUTE_DYNAMIC_FUNCTION \ - FB_UDR__DYNAMIC_TYPE(InMessage); \ - FB_UDR__DYNAMIC_TYPE(OutMessage); \ + FB__UDR_DYNAMIC_TYPE(InMessage); \ + FB__UDR_DYNAMIC_TYPE(OutMessage); \ \ - FB_UDR__EXECUTE_FUNCTION + FB__UDR_EXECUTE_FUNCTION #define FB_UDR_EXECUTE_MESSAGE_FUNCTION(inputs, output) \ FB_MESSAGE(InMessage, \ @@ -74,17 +74,17 @@ output \ ); \ \ - FB_UDR__EXECUTE_FUNCTION + FB__UDR_EXECUTE_FUNCTION #define FB_UDR_EXECUTE_MESSAGE_FUNCTION_OUT(outputs) \ - FB_UDR__DYNAMIC_TYPE(InMessage); \ + FB__UDR_DYNAMIC_TYPE(InMessage); \ FB_MESSAGE(OutMessage, \ outputs \ ); \ \ - FB_UDR__EXECUTE_FUNCTION + FB__UDR_EXECUTE_FUNCTION -#define FB_UDR__EXECUTE_FUNCTION \ +#define FB__UDR_EXECUTE_FUNCTION \ virtual void FB_CARG execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ void* in, void* out) \ { \ @@ -92,7 +92,7 @@ { \ internalExecute(status, context, (InMessage::Type*) in, (OutMessage::Type*) out); \ } \ - FB_UDR__CATCH \ + FB__UDR_CATCH \ } \ \ void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ @@ -118,10 +118,10 @@ }; #define FB_UDR_EXECUTE_DYNAMIC_PROCEDURE \ - FB_UDR__DYNAMIC_TYPE(InMessage); \ - FB_UDR__DYNAMIC_TYPE(OutMessage); \ + FB__UDR_DYNAMIC_TYPE(InMessage); \ + FB__UDR_DYNAMIC_TYPE(OutMessage); \ \ - FB_UDR__EXECUTE_PROCEDURE + FB__UDR_EXECUTE_PROCEDURE #define FB_UDR_EXECUTE_MESSAGE_PROCEDURE(inputs, outputs) \ FB_MESSAGE(InMessage, \ @@ -131,25 +131,25 @@ outputs \ ); \ \ - FB_UDR__EXECUTE_PROCEDURE + FB__UDR_EXECUTE_PROCEDURE #define FB_UDR_EXECUTE_MESSAGE_PROCEDURE_IN(inputs) \ FB_MESSAGE(InMessage, \ inputs \ ); \ - FB_UDR__DYNAMIC_TYPE(OutMessage); \ + FB__UDR_DYNAMIC_TYPE(OutMessage); \ \ - FB_UDR__EXECUTE_PROCEDURE + FB__UDR_EXECUTE_PROCEDURE #define FB_UDR_EXECUTE_MESSAGE_PROCEDURE_OUT(outputs) \ - FB_UDR__DYNAMIC_TYPE(InMessage); \ + FB__UDR_DYNAMIC_TYPE(InMessage); \ FB_MESSAGE(OutMessage, \ outputs \ ); \ \ - FB_UDR__EXECUTE_PROCEDURE + FB__UDR_EXECUTE_PROCEDURE -#define FB_UDR__EXECUTE_PROCEDURE \ +#define FB__UDR_EXECUTE_PROCEDURE \ virtual ::Firebird::ExternalResultSet* FB_CARG open(::Firebird::IStatus* status, \ ::Firebird::ExternalContext* context, void* in, void* out) \ { \ @@ -157,7 +157,7 @@ { \ return new ResultSet(status, context, this, (InMessage::Type*) in, (OutMessage::Type*) out); \ } \ - FB_UDR__CATCH \ + FB__UDR_CATCH \ \ return 0; \ } \ @@ -177,7 +177,7 @@ { \ return internalFetch(status); \ } \ - FB_UDR__CATCH \ + FB__UDR_CATCH \ \ return 0; \ } \ @@ -202,18 +202,18 @@ }; #define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \ - FB_UDR__DYNAMIC_TYPE(FieldsMessage); \ + FB__UDR_DYNAMIC_TYPE(FieldsMessage); \ \ - FB_UDR__EXECUTE_TRIGGER + FB__UDR_EXECUTE_TRIGGER #define FB_UDR_EXECUTE_MESSAGE_TRIGGER(fields) \ FB_TRIGGER_MESSAGE(FieldsMessage, \ fields \ ); \ \ - FB_UDR__EXECUTE_TRIGGER + FB__UDR_EXECUTE_TRIGGER -#define FB_UDR__EXECUTE_TRIGGER \ +#define FB__UDR_EXECUTE_TRIGGER \ virtual void FB_CARG execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ ::Firebird::ExternalTrigger::Action action, void* oldFields, void* newFields) \ { \ @@ -222,7 +222,7 @@ internalExecute(status, context, action, \ (FieldsMessage::Type*) oldFields, (FieldsMessage::Type*) newFields); \ } \ - FB_UDR__CATCH \ + FB__UDR_CATCH \ } \ \ void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ @@ -237,13 +237,13 @@ { \ internalInitialize(status, context); \ } \ - FB_UDR__CATCH \ + FB__UDR_CATCH \ } \ \ void internalInitialize(::Firebird::IStatus* status, ::Firebird::ExternalContext* context) -#define FB_UDR__DYNAMIC_TYPE(name) \ +#define FB__UDR_DYNAMIC_TYPE(name) \ struct name \ { \ typedef unsigned char Type; \ @@ -251,7 +251,7 @@ } -#define FB_UDR__CATCH \ +#define FB__UDR_CATCH \ catch (const ::Firebird::Udr::StatusException& e) \ { \ e.stuff(status); \ Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-05-22 12:18:32 UTC (rev 58093) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-05-22 15:44:05 UTC (rev 58094) @@ -232,11 +232,9 @@ ExtMessageNode* message) : CompoundStmtNode(pool) { - for (USHORT i = 0; i < message->format->fmt_count; i += 2) + // Iterate over the format items, except the EOF item. + for (USHORT i = 0; i < message->format->fmt_count / 2 * 2; i += 2) { - if (i + 1 >= message->format->fmt_count) - continue; - ExtInitParameterNode* init = FB_NEW(pool) ExtInitParameterNode( tdbb, pool, csb, message, i); statements.add(init); @@ -251,9 +249,10 @@ ExtValidationNode(MemoryPool& pool, ExtMessageNode* message, bool procedure, bool input) : CompoundStmtNode(pool) { - for (USHORT i = 0; i < message->format->fmt_count; i += 2) + // Iterate over the format items, except the EOF item. + for (USHORT i = 0; i < message->format->fmt_count / 2 * 2; i += 2) { - if (i + 1 >= message->format->fmt_count || !message->isSpecial[i / 2]) + if (!message->isSpecial[i / 2]) continue; ParameterNode* flag = FB_NEW(pool) ParameterNode(pool); @@ -840,10 +839,31 @@ if (relation) { + GenericMap<Left<MetaName, USHORT> > fieldsMap; + + for (size_t i = 0; i < relation->rel_fields->count(); ++i) + { + jrd_fld* field = (*relation->rel_fields)[i]; + if (field) + fieldsMap.put(field->fld_name, (USHORT) i); + } + format = Routine::createFormat(pool, metadata->triggerFields, false); + LocalStatus status; + for (unsigned i = 0; i < format->fmt_count / 2; ++i) - fieldsPos.add(i); + { + const char* fieldName = metadata->triggerFields->getField(&status, i); + status.check(); + + USHORT pos; + + if (!fieldsMap.get(fieldName, pos)) + fb_assert(false); + else + fieldsPos.add(pos); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-05-23 00:28:55
|
Revision: 58097 http://sourceforge.net/p/firebird/code/58097 Author: firebirds Date: 2013-05-23 00:28:51 +0000 (Thu, 23 May 2013) 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 2013-05-22 16:13:32 UTC (rev 58096) +++ firebird/trunk/ChangeLog 2013-05-23 00:28:51 UTC (rev 58097) @@ -1,3 +1,39 @@ + 2013-05-22 16:11 hvlad + M src/common/classes/File.h +Fixed bug CORE-4101 : firebird.log contains "I/O error during "write" operation" records but database works correctly + + 2013-05-22 15:44 asfernandes + M examples/udr/UdrCppExample.cpp + M src/common/MsgMetadata.cpp + M src/include/firebird/Message.h + M src/include/firebird/Provider.h + M src/include/firebird/UdrCppEngine.h + M src/jrd/ExtEngineManager.cpp +Improve external triggers messages to work by field name (instead of field order). + + 2013-05-22 12:18 hvlad + M src/remote/os/win32/wnet.cpp +Path by Alex: wire encryption for WNET + + 2013-05-22 10:52 alexpeshkoff + M src/remote/inet.cpp +comment + + 2013-05-22 07:31 alexpeshkoff + M src/auth/AuthDbg.cpp + M src/auth/SecureRemotePassword/client/SrpClient.cpp + M src/auth/SecureRemotePassword/server/SrpServer.cpp + M src/auth/SecureRemotePassword/srp.h + M src/auth/SecurityDatabase/LegacyClient.cpp + M src/remote/client/interface.cpp + M src/remote/inet.cpp + M src/remote/os/win32/wnet.cpp + M src/remote/os/win32/xnet.cpp + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp +Fixed some authentication errors + 2013-05-21 21:53 robocop M src/isql/isql.epp M src/jrd/jrd.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-22 16:13:32 UTC (rev 58096) +++ firebird/trunk/src/jrd/build_no.h 2013-05-23 00:28:51 UTC (rev 58097) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30422 + FORMAL BUILD NUMBER:30427 */ -#define PRODUCT_VER_STRING "3.0.0.30422" -#define FILE_VER_STRING "WI-T3.0.0.30422" -#define LICENSE_VER_STRING "WI-T3.0.0.30422" -#define FILE_VER_NUMBER 3, 0, 0, 30422 +#define PRODUCT_VER_STRING "3.0.0.30427" +#define FILE_VER_STRING "WI-T3.0.0.30427" +#define LICENSE_VER_STRING "WI-T3.0.0.30427" +#define FILE_VER_NUMBER 3, 0, 0, 30427 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30422" +#define FB_BUILD_NO "30427" #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 2013-05-22 16:13:32 UTC (rev 58096) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-23 00:28:51 UTC (rev 58097) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30422 +BuildNum=30427 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...> - 2013-05-23 15:53:09
|
Revision: 58102 http://sourceforge.net/p/firebird/code/58102 Author: asfernandes Date: 2013-05-23 15:53:06 +0000 (Thu, 23 May 2013) Log Message: ----------- Make the master interface available in UDR. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/UdrCppEngine.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-23 11:55:18 UTC (rev 58101) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-23 15:53:06 UTC (rev 58102) @@ -111,9 +111,6 @@ } -static IMaster* master = fb_get_master_interface(); - - //------------------------------------------------------------------------------ Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-23 11:55:18 UTC (rev 58101) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-23 15:53:06 UTC (rev 58102) @@ -515,9 +515,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Function* p = reinterpret_cast<Function*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -528,6 +529,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -556,9 +558,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Procedure* p = reinterpret_cast<Procedure*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -569,6 +572,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -597,9 +601,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Trigger* p = reinterpret_cast<Trigger*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -610,6 +615,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -632,7 +638,7 @@ virtual ExternalFunction* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } @@ -657,7 +663,7 @@ virtual ExternalProcedure* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } @@ -681,7 +687,7 @@ virtual ExternalTrigger* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-05-24 00:49:11
|
Revision: 58103 http://sourceforge.net/p/firebird/code/58103 Author: firebirds Date: 2013-05-24 00:49:08 +0000 (Fri, 24 May 2013) 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 2013-05-23 15:53:06 UTC (rev 58102) +++ firebird/trunk/ChangeLog 2013-05-24 00:49:08 UTC (rev 58103) @@ -1,3 +1,12 @@ + 2013-05-23 15:53 asfernandes + M examples/udr/UdrCppExample.cpp + M src/include/firebird/UdrCppEngine.h +Make the master interface available in UDR. + + 2013-05-23 08:27 dimitr + M src/jrd/RecordSourceNodes.cpp +Fixed CORE-4102: Bad optimization of OR predicates applied to unions. + 2013-05-22 16:11 hvlad M src/common/classes/File.h Fixed bug CORE-4101 : firebird.log contains "I/O error during "write" operation" records but database works correctly Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-23 15:53:06 UTC (rev 58102) +++ firebird/trunk/src/jrd/build_no.h 2013-05-24 00:49:08 UTC (rev 58103) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30427 + FORMAL BUILD NUMBER:30429 */ -#define PRODUCT_VER_STRING "3.0.0.30427" -#define FILE_VER_STRING "WI-T3.0.0.30427" -#define LICENSE_VER_STRING "WI-T3.0.0.30427" -#define FILE_VER_NUMBER 3, 0, 0, 30427 +#define PRODUCT_VER_STRING "3.0.0.30429" +#define FILE_VER_STRING "WI-T3.0.0.30429" +#define LICENSE_VER_STRING "WI-T3.0.0.30429" +#define FILE_VER_NUMBER 3, 0, 0, 30429 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30427" +#define FB_BUILD_NO "30429" #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 2013-05-23 15:53:06 UTC (rev 58102) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-24 00:49:08 UTC (rev 58103) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30427 +BuildNum=30429 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...> - 2013-05-28 00:40:28
|
Revision: 58107 http://sourceforge.net/p/firebird/code/58107 Author: firebirds Date: 2013-05-28 00:40:24 +0000 (Tue, 28 May 2013) 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 2013-05-27 15:51:21 UTC (rev 58106) +++ firebird/trunk/ChangeLog 2013-05-28 00:40:24 UTC (rev 58107) @@ -1,3 +1,12 @@ + 2013-05-27 15:51 asfernandes + M examples/udr/UdrCppExample.cpp +RAII usage in UdrCpp example. + + 2013-05-27 01:50 asfernandes + M src/common/classes/File.h + M src/jrd/dfw.epp +Misc. + 2013-05-23 15:53 asfernandes M examples/udr/UdrCppExample.cpp M src/include/firebird/UdrCppEngine.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-27 15:51:21 UTC (rev 58106) +++ firebird/trunk/src/jrd/build_no.h 2013-05-28 00:40:24 UTC (rev 58107) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30429 + FORMAL BUILD NUMBER:30431 */ -#define PRODUCT_VER_STRING "3.0.0.30429" -#define FILE_VER_STRING "WI-T3.0.0.30429" -#define LICENSE_VER_STRING "WI-T3.0.0.30429" -#define FILE_VER_NUMBER 3, 0, 0, 30429 +#define PRODUCT_VER_STRING "3.0.0.30431" +#define FILE_VER_STRING "WI-T3.0.0.30431" +#define LICENSE_VER_STRING "WI-T3.0.0.30431" +#define FILE_VER_NUMBER 3, 0, 0, 30431 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30429" +#define FB_BUILD_NO "30431" #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 2013-05-27 15:51:21 UTC (rev 58106) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-28 00:40:24 UTC (rev 58107) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30429 +BuildNum=30431 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...> - 2013-05-31 00:42:27
|
Revision: 58114 http://sourceforge.net/p/firebird/code/58114 Author: firebirds Date: 2013-05-31 00:42:23 +0000 (Fri, 31 May 2013) 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 2013-05-30 08:20:53 UTC (rev 58113) +++ firebird/trunk/ChangeLog 2013-05-31 00:42:23 UTC (rev 58114) @@ -1,3 +1,7 @@ + 2013-05-30 08:20 dimitr + M src/dsql/pass1.cpp +Fixed regression CORE-4108: Server crashes when executing sql query "delete from mytable order by id desc rows 2". + 2013-05-27 15:51 asfernandes M examples/udr/UdrCppExample.cpp RAII usage in UdrCpp example. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-05-30 08:20:53 UTC (rev 58113) +++ firebird/trunk/src/jrd/build_no.h 2013-05-31 00:42:23 UTC (rev 58114) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30431 + FORMAL BUILD NUMBER:30432 */ -#define PRODUCT_VER_STRING "3.0.0.30431" -#define FILE_VER_STRING "WI-T3.0.0.30431" -#define LICENSE_VER_STRING "WI-T3.0.0.30431" -#define FILE_VER_NUMBER 3, 0, 0, 30431 +#define PRODUCT_VER_STRING "3.0.0.30432" +#define FILE_VER_STRING "WI-T3.0.0.30432" +#define LICENSE_VER_STRING "WI-T3.0.0.30432" +#define FILE_VER_NUMBER 3, 0, 0, 30432 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30431" +#define FB_BUILD_NO "30432" #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 2013-05-30 08:20:53 UTC (rev 58113) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-05-31 00:42:23 UTC (rev 58114) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30431 +BuildNum=30432 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...> - 2013-06-04 00:27:11
|
Revision: 58130 http://sourceforge.net/p/firebird/code/58130 Author: firebirds Date: 2013-06-04 00:27:08 +0000 (Tue, 04 Jun 2013) 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 2013-06-03 15:24:44 UTC (rev 58129) +++ firebird/trunk/ChangeLog 2013-06-04 00:27:08 UTC (rev 58130) @@ -1,3 +1,15 @@ + 2013-06-03 15:24 asfernandes + M examples/udr/UdrCppExample.cpp +RAII improvements and better usage of initializer in UDR examples. + + 2013-06-03 11:20 alexpeshkoff + M src/misc/src_bundle.sh +Fixed after renaming configure.in + + 2013-06-03 08:47 alexpeshkoff + A doc/README.interfaces.html +First draft interfaces readme + 2013-05-30 08:20 dimitr M src/dsql/pass1.cpp Fixed regression CORE-4108: Server crashes when executing sql query "delete from mytable order by id desc rows 2". Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-06-03 15:24:44 UTC (rev 58129) +++ firebird/trunk/src/jrd/build_no.h 2013-06-04 00:27:08 UTC (rev 58130) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30432 + FORMAL BUILD NUMBER:30435 */ -#define PRODUCT_VER_STRING "3.0.0.30432" -#define FILE_VER_STRING "WI-T3.0.0.30432" -#define LICENSE_VER_STRING "WI-T3.0.0.30432" -#define FILE_VER_NUMBER 3, 0, 0, 30432 +#define PRODUCT_VER_STRING "3.0.0.30435" +#define FILE_VER_STRING "WI-T3.0.0.30435" +#define LICENSE_VER_STRING "WI-T3.0.0.30435" +#define FILE_VER_NUMBER 3, 0, 0, 30435 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30432" +#define FB_BUILD_NO "30435" #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 2013-06-03 15:24:44 UTC (rev 58129) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-06-04 00:27:08 UTC (rev 58130) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30432 +BuildNum=30435 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...> - 2013-06-06 16:05:05
|
Revision: 58161 http://sourceforge.net/p/firebird/code/58161 Author: asfernandes Date: 2013-06-06 16:05:02 +0000 (Thu, 06 Jun 2013) Log Message: ----------- UDR C++ interface and examples improvements. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/UdrCppEngine.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-06-06 15:07:54 UTC (rev 58160) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-06-06 16:05:02 UTC (rev 58161) @@ -194,10 +194,15 @@ engine udr; ***/ FB_UDR_BEGIN_FUNCTION(wait_event) - FB_UDR_EXECUTE_MESSAGE_FUNCTION( + FB_MESSAGE(InMessage, (FB_VARCHAR(31 * 4), name) - , - (FB_INTEGER, result)) + ); + + FB_MESSAGE(OutMessage, + (FB_INTEGER, result) + ); + + FB_UDR_EXECUTE_FUNCTION { char* s = new char[in->name.length + 1]; memcpy(s, in->name.str, in->name.length); @@ -213,11 +218,11 @@ isc_db_handle dbHandle = getIscDbHandle(context); ISC_ULONG counter = 0; - StatusException::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), - statusVector); + StatusException::checkStatus(isc_wait_for_event( + statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); isc_event_counts(&counter, eveLen, eveBuffer, eveResult); - StatusException::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), - statusVector); + StatusException::checkStatus(isc_wait_for_event( + statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); isc_event_counts(&counter, eveLen, eveBuffer, eveResult); isc_free((char*) eveBuffer); @@ -239,15 +244,17 @@ engine udr; ***/ FB_UDR_BEGIN_FUNCTION(sum_args) - FB_UDR_INITIALIZE + // Without InMessage/OutMessage definitions, messages will be byte-based. + + FB_UDR_CONSTRUCTOR + // , inCount(0) { // Get input metadata. - AutoRelease<IMessageMetadata> inMetadata(metadata->getInputMetadata(status)); - StatusException::check(status->get()); + AutoRelease<IMessageMetadata> inMetadata(StatusException::check(status, + metadata->getInputMetadata(status))); // Get count of input parameters. - inCount = inMetadata->getCount(status); - StatusException::check(status->get()); + inCount = StatusException::check(status, inMetadata->getCount(status)); inNullOffsets.reset(new unsigned[inCount]); inOffsets.reset(new unsigned[inCount]); @@ -255,37 +262,33 @@ for (unsigned i = 0; i < inCount; ++i) { // Get null offset of the i-th input parameter. - inNullOffsets[i] = inMetadata->getNullOffset(status, i); - StatusException::check(status->get()); + inNullOffsets[i] = StatusException::check(status, inMetadata->getNullOffset(status, i)); // Get the offset of the i-th input parameter. - inOffsets[i] = inMetadata->getOffset(status, i); - StatusException::check(status->get()); + inOffsets[i] = StatusException::check(status, inMetadata->getOffset(status, i)); } // Get output metadata. - AutoRelease<IMessageMetadata> outMetadata(metadata->getOutputMetadata(status)); - StatusException::check(status->get()); + AutoRelease<IMessageMetadata> outMetadata(StatusException::check(status, + metadata->getOutputMetadata(status))); // Get null offset of the return value. - outNullOffset = outMetadata->getNullOffset(status, 0); - StatusException::check(status->get()); + outNullOffset = StatusException::check(status, outMetadata->getNullOffset(status, 0)); // Get offset of the return value. - outOffset = outMetadata->getOffset(status, 0); - StatusException::check(status->get()); + outOffset = StatusException::check(status, outMetadata->getOffset(status, 0)); } // This function requires the INTEGER parameters and return value, otherwise it will crash. // Metadata is inspected dynamically (in execute). This is not the fastest method. - FB_UDR_EXECUTE_DYNAMIC_FUNCTION + FB_UDR_EXECUTE_FUNCTION { *(ISC_SHORT*) (out + outNullOffset) = FB_FALSE; // Get a reference to the return value. ISC_LONG& ret = *(ISC_LONG*) (out + outOffset); - // By default, the return value is 0. + // The return value is automatically initialized to 0. ///ret = 0; for (unsigned i = 0; i < inCount; ++i) @@ -321,38 +324,34 @@ engine udr; ***/ FB_UDR_BEGIN_PROCEDURE(gen_rows) + // Without InMessage/OutMessage definitions, messages will be byte-based. + // Procedure variables. unsigned inOffsetStart, inOffsetEnd, outNullOffset, outOffset; - /*** Procedure destructor. - ~FB_UDR_PROCEDURE(gen_rows)() - { - } - ***/ - // Get offsets once per procedure. - FB_UDR_INITIALIZE + FB_UDR_CONSTRUCTOR { - AutoRelease<IMessageMetadata> inMetadata(metadata->getInputMetadata(status)); - StatusException::check(status->get()); + AutoRelease<IMessageMetadata> inMetadata(StatusException::check(status, + metadata->getInputMetadata(status))); - inOffsetStart = inMetadata->getOffset(status, 0); - StatusException::check(status->get()); + inOffsetStart = StatusException::check(status, inMetadata->getOffset(status, 0)); + inOffsetEnd = StatusException::check(status, inMetadata->getOffset(status, 1)); - inOffsetEnd = inMetadata->getOffset(status, 1); - StatusException::check(status->get()); + AutoRelease<IMessageMetadata> outMetadata(StatusException::check(status, + metadata->getOutputMetadata(status))); - AutoRelease<IMessageMetadata> outMetadata(metadata->getOutputMetadata(status)); - StatusException::check(status->get()); + outNullOffset = StatusException::check(status, outMetadata->getNullOffset(status, 0)); + outOffset = StatusException::check(status, outMetadata->getOffset(status, 0)); + } - outNullOffset = outMetadata->getNullOffset(status, 0); - StatusException::check(status->get()); - - outOffset = outMetadata->getOffset(status, 0); - StatusException::check(status->get()); + /*** Procedure destructor. + FB_UDR_DESTRUCTOR + { } + ***/ - FB_UDR_EXECUTE_DYNAMIC_PROCEDURE + FB_UDR_EXECUTE_PROCEDURE { counter = *(ISC_LONG*) (in + procedure->inOffsetStart); end = *(ISC_LONG*) (in + procedure->inOffsetEnd); @@ -360,13 +359,14 @@ *(ISC_SHORT*) (out + procedure->outNullOffset) = FB_FALSE; } + // After procedure's execute definition, starts the result set definition. + FB_UDR_FETCH_PROCEDURE { if (counter > end) return false; *(ISC_LONG*) (out + procedure->outOffset) = counter++; - return true; } @@ -393,11 +393,16 @@ engine udr; ***/ FB_UDR_BEGIN_PROCEDURE(gen_rows2) - FB_UDR_EXECUTE_MESSAGE_PROCEDURE( + FB_MESSAGE(InMessage, (FB_INTEGER, start) (FB_INTEGER, end) - , - (FB_INTEGER, result)) + ); + + FB_MESSAGE(OutMessage, + (FB_INTEGER, result) + ); + + FB_UDR_EXECUTE_PROCEDURE { out->resultNull = FB_FALSE; out->result = in->start - 1; @@ -428,33 +433,36 @@ // metadata object. // n3 and n4 are on the ResultSet scope, i.e., each procedure execution have they own instances. FB_UDR_BEGIN_PROCEDURE(inc) + FB_MESSAGE(InMessage, + (FB_INTEGER, count) + ); + + FB_MESSAGE(OutMessage, + (FB_INTEGER, n0) + (FB_INTEGER, n1) + (FB_INTEGER, n2) + (FB_INTEGER, n3) + (FB_INTEGER, n4) + ); + ISC_LONG n1; // This is how a procedure (class) initializer is written. // ResultSet variables are not accessible here. // If there is nothing to initialize, it can be completelly suppressed. - FB_UDR_PROCEDURE(inc)() - : n1(0), + FB_UDR_CONSTRUCTOR + , n1(0), n2(0) { } ISC_LONG n2; - // FB_UDR_EXECUTE_MESSAGE_PROCEDURE or FB_UDR_EXECUTE_DYNAMIC_PROCEDURE starts the ResultSet scope. - FB_UDR_EXECUTE_MESSAGE_PROCEDURE( - (FB_INTEGER, count) - , - (FB_INTEGER, n0) - (FB_INTEGER, n1) - (FB_INTEGER, n2) - (FB_INTEGER, n3) - (FB_INTEGER, n4)) - // This is the ResultSet (class) initializer. If there is nothing to initialize, the comma - // should be suppressed. - , - n3(procedure->n1), // n3 will start with the next value for n1 of the last execution - n4(0) + // FB_UDR_EXECUTE_PROCEDURE starts the ResultSet scope. + FB_UDR_EXECUTE_PROCEDURE + // This is the ResultSet (class) initializer. + , n3(procedure->n1), // n3 will start with the next value for n1 of the last execution + n4(0) { out->n0Null = out->n1Null = out->n2Null = out->n3Null = out->n4Null = FB_FALSE; @@ -472,8 +480,7 @@ ISC_LONG n3; - // FB_UDR_FETCH must be always after FB_UDR_EXECUTE_MESSAGE_PROCEDURE or - // FB_UDR_EXECUTE_DYNAMIC_PROCEDURE. + // FB_UDR_FETCH_PROCEDURE must be always after FB_UDR_EXECUTE_PROCEDURE. FB_UDR_FETCH_PROCEDURE { if (out->n0++ <= in->count) @@ -531,48 +538,27 @@ engine udr; ***/ FB_UDR_BEGIN_TRIGGER(replicate) - /*** - FB_UDR_TRIGGER(replicate)() - : initialized(false) - { - } + // Without FieldsMessage definition, messages will be byte-based. - ~FB_UDR_TRIGGER(replicate)() + FB_UDR_CONSTRUCTOR + , triggerMetadata(StatusException::check(status, metadata->getTriggerMetadata(status))) { - if (!initialized) - return; - } - ***/ - - FB_UDR_EXECUTE_DYNAMIC_TRIGGER - { - ITransaction* transaction = context->getTransaction(status); - StatusException::check(status->get()); - - // This will not work if the table has computed fields. - stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); - StatusException::check(status->get()); - } - - FB_UDR_INITIALIZE - { ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); isc_stmt_handle stmtHandle = 0; - StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), - statusVector); - StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, + StatusException::checkStatus(isc_dsql_allocate_statement( + statusVector, &dbHandle, &stmtHandle), statusVector); + StatusException::checkStatus(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, "select data_source from replicate_config where name = ?", SQL_DIALECT_CURRENT, NULL), statusVector); - const char* table = metadata->getTriggerTable(status); - StatusException::check(status->get()); + const char* table = StatusException::check(status, metadata->getTriggerTable(status)); // Skip the first exclamation point, separating the module name and entry point. - const char* info = strchr(metadata->getEntryPoint(status), '!'); - StatusException::check(status->get()); + const char* info = StatusException::check(status, + strchr(metadata->getEntryPoint(status), '!')); // Skip the second exclamation point, separating the entry point and the misc info (config). if (info) @@ -586,7 +572,7 @@ XSQLDA* inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, + StatusException::checkStatus(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); @@ -595,25 +581,21 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe(statusVector, &stmtHandle, + StatusException::checkStatus(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), statusVector); outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; - StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, + StatusException::checkStatus(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); - StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), - statusVector); + StatusException::checkStatus(isc_dsql_free_statement( + statusVector, &stmtHandle, DSQL_unprepare), statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); - triggerMetadata.reset(metadata->getTriggerMetadata(status)); - StatusException::check(status->get()); + unsigned count = StatusException::check(status, triggerMetadata->getCount(status)); - unsigned count = triggerMetadata->getCount(status); - StatusException::check(status->get()); - char buffer[65536]; strcpy(buffer, "execute block (\n"); @@ -622,8 +604,7 @@ if (i > 0) strcat(buffer, ",\n"); - const char* name = triggerMetadata->getField(status, i); - StatusException::check(status->get()); + const char* name = StatusException::check(status, triggerMetadata->getField(status, i)); strcat(buffer, " p"); sprintf(buffer + strlen(buffer), "%d type of column \"%s\".\"%s\" = ?", i, table, name); @@ -643,8 +624,7 @@ if (i > 0) strcat(buffer, ", "); - const char* name = triggerMetadata->getField(status, i); - StatusException::check(status->get()); + const char* name = StatusException::check(status, triggerMetadata->getField(status, i)); strcat(buffer, "\""); strcat(buffer, name); @@ -674,75 +654,65 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - IAttachment* attachment = context->getAttachment(status); - StatusException::check(status->get()); + IAttachment* attachment = StatusException::check(status, context->getAttachment(status)); + ITransaction* transaction = StatusException::check(status, context->getTransaction(status)); - ITransaction* transaction = context->getTransaction(status); - StatusException::check(status->get()); + stmt.reset(StatusException::check(status, + attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0))); - stmt.reset(attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0)); - delete [] outSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(outSqlDa); + } - ///initialized = true; + /*** + FB_UDR_DESTRUCTOR + { } + ***/ - ///bool initialized; + FB_UDR_EXECUTE_TRIGGER + { + ITransaction* transaction = StatusException::check(status, context->getTransaction(status)); + + // This will not work if the table has computed fields. + stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); + StatusException::check(status->get()); + } + AutoRelease<IMessageMetadata> triggerMetadata; AutoRelease<IStatement> stmt; FB_UDR_END_TRIGGER FB_UDR_BEGIN_TRIGGER(replicate_persons) - /*** - FB_UDR_TRIGGER(replicate_persons)() - : initialized(false) - { - } - - ~FB_UDR_TRIGGER(replicate_persons)() - { - if (!initialized) - return; - } - ***/ - // Order of fields does not need to match the fields order in the table, but it should match // the order of fields in the SQL command constructed in the initialization. - FB_UDR_EXECUTE_MESSAGE_TRIGGER( + FB_TRIGGER_MESSAGE(FieldsMessage, (FB_INTEGER, id, "ID") (FB_BLOB, info, "INFO") (FB_VARCHAR(60 * 4), address, "ADDRESS") (FB_VARCHAR(60 * 4), name, "NAME") - ) - { - ITransaction* transaction = context->getTransaction(status); - StatusException::check(status->get()); + ); - stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); - StatusException::check(status->get()); - } - - FB_UDR_INITIALIZE + FB_UDR_CONSTRUCTOR + , triggerMetadata(StatusException::check(status, metadata->getTriggerMetadata(status))) { ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); isc_stmt_handle stmtHandle = 0; - StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), - statusVector); - StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, + StatusException::checkStatus(isc_dsql_allocate_statement( + statusVector, &dbHandle, &stmtHandle), statusVector); + StatusException::checkStatus(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, "select data_source from replicate_config where name = ?", SQL_DIALECT_CURRENT, NULL), statusVector); - const char* table = metadata->getTriggerTable(status); - StatusException::check(status->get()); + const char* table = StatusException::check(status, metadata->getTriggerTable(status)); // Skip the first exclamation point, separating the module name and entry point. - const char* info = strchr(metadata->getEntryPoint(status), '!'); - StatusException::check(status->get()); + const char* info = StatusException::check(status, + strchr(metadata->getEntryPoint(status), '!')); // Skip the second exclamation point, separating the entry point and the misc info (config). if (info) @@ -756,8 +726,8 @@ XSQLDA* inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, - SQL_DIALECT_CURRENT, inSqlDa), statusVector); + StatusException::checkStatus(isc_dsql_describe_bind( + statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); *reinterpret_cast<short*>(inSqlDa->sqlvar[0].sqldata) = strlen(info); @@ -765,22 +735,19 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe(statusVector, &stmtHandle, - SQL_DIALECT_CURRENT, outSqlDa), statusVector); + StatusException::checkStatus(isc_dsql_describe( + statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), statusVector); outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; - StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, + StatusException::checkStatus(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); - StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), - statusVector); + StatusException::checkStatus(isc_dsql_free_statement( + statusVector, &stmtHandle, DSQL_unprepare), statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); - triggerMetadata.reset(metadata->getTriggerMetadata(status)); - StatusException::check(status->get()); - char buffer[65536]; strcpy(buffer, "execute block (\n" @@ -797,21 +764,30 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - IAttachment* attachment = context->getAttachment(status); - StatusException::check(status->get()); + IAttachment* attachment = StatusException::check(status, context->getAttachment(status)); + ITransaction* transaction = StatusException::check(status, context->getTransaction(status)); - ITransaction* transaction = context->getTransaction(status); - StatusException::check(status->get()); + stmt.reset(StatusException::check(status, + attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0))); - stmt.reset(attachment->prepare(status, transaction, 0, buffer, SQL_DIALECT_CURRENT, 0)); - delete [] outSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(outSqlDa); + } - ///initialized = true; + /*** + FB_UDR_DESTRUCTOR + { } + ***/ - ///bool initialized; + FB_UDR_EXECUTE_TRIGGER + { + ITransaction* transaction = StatusException::check(status, context->getTransaction(status)); + + stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); + StatusException::check(status->get()); + } + AutoRelease<IMessageMetadata> triggerMetadata; AutoRelease<IStatement> stmt; FB_UDR_END_TRIGGER Modified: firebird/trunk/src/include/firebird/ExternalEngine.h =================================================================== --- firebird/trunk/src/include/firebird/ExternalEngine.h 2013-06-06 15:07:54 UTC (rev 58160) +++ firebird/trunk/src/include/firebird/ExternalEngine.h 2013-06-06 16:05:02 UTC (rev 58161) @@ -81,7 +81,7 @@ class ExternalResultSet : public IDisposable { public: - virtual bool FB_CARG fetch(IStatus* status) = 0; + virtual FB_BOOLEAN FB_CARG fetch(IStatus* status) = 0; }; #define FB_EXTERNAL_RESULT_SET_VERSION (FB_DISPOSABLE_VERSION + 1) Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-06-06 15:07:54 UTC (rev 58160) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-06-06 16:05:02 UTC (rev 58161) @@ -40,51 +40,23 @@ //------------------------------------------------------------------------------ -#define FB_UDR_FUNCTION(name) Func##name -#define FB_UDR_PROCEDURE(name) Proc##name -#define FB_UDR_TRIGGER(name) Trig##name - - #define FB_UDR_BEGIN_FUNCTION(name) \ - class FB_UDR_FUNCTION(name); \ - \ - ::Firebird::Udr::FunctionFactoryImpl<FB_UDR_FUNCTION(name)> FuncFactory##name(#name); \ - \ - class FB_UDR_FUNCTION(name) : public ::Firebird::Udr::Function<FB_UDR_FUNCTION(name)> \ + namespace Func##name \ { \ - public: \ - void initialize(::Firebird::IStatus* /*status*/, void*) \ + class Impl; \ + \ + static ::Firebird::Udr::FunctionFactoryImpl<Impl> factory(#name); \ + \ + class Impl : public ::Firebird::Udr::Function<Impl> \ { \ - } + public: \ + FB__UDR_COMMON_IMPL #define FB_UDR_END_FUNCTION \ - }; + }; \ + } -#define FB_UDR_EXECUTE_DYNAMIC_FUNCTION \ - FB__UDR_DYNAMIC_TYPE(InMessage); \ - FB__UDR_DYNAMIC_TYPE(OutMessage); \ - \ - FB__UDR_EXECUTE_FUNCTION - -#define FB_UDR_EXECUTE_MESSAGE_FUNCTION(inputs, output) \ - FB_MESSAGE(InMessage, \ - inputs \ - ); \ - FB_MESSAGE(OutMessage, \ - output \ - ); \ - \ - FB__UDR_EXECUTE_FUNCTION - -#define FB_UDR_EXECUTE_MESSAGE_FUNCTION_OUT(outputs) \ - FB__UDR_DYNAMIC_TYPE(InMessage); \ - FB_MESSAGE(OutMessage, \ - outputs \ - ); \ - \ - FB__UDR_EXECUTE_FUNCTION - -#define FB__UDR_EXECUTE_FUNCTION \ +#define FB_UDR_EXECUTE_FUNCTION \ virtual void FB_CARG execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ void* in, void* out) \ { \ @@ -100,56 +72,23 @@ #define FB_UDR_BEGIN_PROCEDURE(name) \ - class FB_UDR_PROCEDURE(name); \ - \ - ::Firebird::Udr::ProcedureFactoryImpl<FB_UDR_PROCEDURE(name)> ProcFactory##name(#name); \ - \ - class FB_UDR_PROCEDURE(name) : public ::Firebird::Udr::Procedure<FB_UDR_PROCEDURE(name)> \ + namespace Proc##name \ { \ - public: \ - typedef FB_UDR_PROCEDURE(name) This; \ + class Impl; \ \ - void initialize(::Firebird::IStatus* /*status*/, void*) \ + static ::Firebird::Udr::ProcedureFactoryImpl<Impl> factory(#name); \ + \ + class Impl : public ::Firebird::Udr::Procedure<Impl> \ { \ - } + public: \ + FB__UDR_COMMON_IMPL #define FB_UDR_END_PROCEDURE \ + }; \ }; \ - }; + } -#define FB_UDR_EXECUTE_DYNAMIC_PROCEDURE \ - FB__UDR_DYNAMIC_TYPE(InMessage); \ - FB__UDR_DYNAMIC_TYPE(OutMessage); \ - \ - FB__UDR_EXECUTE_PROCEDURE - -#define FB_UDR_EXECUTE_MESSAGE_PROCEDURE(inputs, outputs) \ - FB_MESSAGE(InMessage, \ - inputs \ - ); \ - FB_MESSAGE(OutMessage, \ - outputs \ - ); \ - \ - FB__UDR_EXECUTE_PROCEDURE - -#define FB_UDR_EXECUTE_MESSAGE_PROCEDURE_IN(inputs) \ - FB_MESSAGE(InMessage, \ - inputs \ - ); \ - FB__UDR_DYNAMIC_TYPE(OutMessage); \ - \ - FB__UDR_EXECUTE_PROCEDURE - -#define FB_UDR_EXECUTE_MESSAGE_PROCEDURE_OUT(outputs) \ - FB__UDR_DYNAMIC_TYPE(InMessage); \ - FB_MESSAGE(OutMessage, \ - outputs \ - ); \ - \ - FB__UDR_EXECUTE_PROCEDURE - -#define FB__UDR_EXECUTE_PROCEDURE \ +#define FB_UDR_EXECUTE_PROCEDURE \ virtual ::Firebird::ExternalResultSet* FB_CARG open(::Firebird::IStatus* status, \ ::Firebird::ExternalContext* context, void* in, void* out) \ { \ @@ -159,61 +98,49 @@ } \ FB__UDR_CATCH \ \ - return 0; \ + return NULL; \ } \ \ - class ResultSet : public ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage> \ + class ResultSet : public ::Firebird::Udr::ResultSet<ResultSet, Impl, InMessage, OutMessage> \ { \ public: \ ResultSet(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ - This* const procedure, InMessage::Type* const in, OutMessage::Type* const out) \ - : ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage>( \ + Impl* const procedure, InMessage::Type* const in, OutMessage::Type* const out) \ + : ::Firebird::Udr::ResultSet<ResultSet, Impl, InMessage, OutMessage>( \ context, procedure, in, out) #define FB_UDR_FETCH_PROCEDURE \ - virtual bool FB_CARG fetch(::Firebird::IStatus* status) \ + virtual FB_BOOLEAN FB_CARG fetch(::Firebird::IStatus* status) \ { \ try \ { \ - return internalFetch(status); \ + return (FB_BOOLEAN) internalFetch(status); \ } \ FB__UDR_CATCH \ \ - return 0; \ + return FB_FALSE; \ } \ \ bool internalFetch(::Firebird::IStatus* status) #define FB_UDR_BEGIN_TRIGGER(name) \ - class FB_UDR_TRIGGER(name); \ - \ - ::Firebird::Udr::TriggerFactoryImpl<FB_UDR_TRIGGER(name)> TrigFactory##name(#name); \ - \ - class FB_UDR_TRIGGER(name) : public ::Firebird::Udr::Trigger<FB_UDR_TRIGGER(name)> \ + namespace Trig##name \ { \ - public: \ + class Impl; \ \ - void initialize(::Firebird::IStatus* /*status*/, void*) \ + static ::Firebird::Udr::TriggerFactoryImpl<Impl> factory(#name); \ + \ + class Impl : public ::Firebird::Udr::Trigger<Impl> \ { \ - } + public: \ + FB__UDR_COMMON_IMPL #define FB_UDR_END_TRIGGER \ - }; + }; \ + } -#define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \ - FB__UDR_DYNAMIC_TYPE(FieldsMessage); \ - \ - FB__UDR_EXECUTE_TRIGGER - -#define FB_UDR_EXECUTE_MESSAGE_TRIGGER(fields) \ - FB_TRIGGER_MESSAGE(FieldsMessage, \ - fields \ - ); \ - \ - FB__UDR_EXECUTE_TRIGGER - -#define FB__UDR_EXECUTE_TRIGGER \ +#define FB_UDR_EXECUTE_TRIGGER \ virtual void FB_CARG execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ ::Firebird::ExternalTrigger::Action action, void* oldFields, void* newFields) \ { \ @@ -230,27 +157,34 @@ FieldsMessage::Type* oldFields, FieldsMessage::Type* newFields) -#define FB_UDR_INITIALIZE \ - void initialize(::Firebird::IStatus* status, ExternalContext* context) \ +#define FB_UDR_CONSTRUCTOR \ + Impl(::Firebird::IStatus* const status, ExternalContext* const context, \ + const IRoutineMetadata* const metadata__) \ + : master(context->getMaster()), \ + metadata(metadata__) + +#define FB_UDR_DESTRUCTOR \ + ~Impl() + + +#define FB__UDR_COMMON_IMPL \ + Impl(const void* const, ExternalContext* const context, \ + const IRoutineMetadata* const aMetadata) \ + : master(context->getMaster()), \ + metadata(aMetadata) \ { \ - try \ - { \ - internalInitialize(status, context); \ - } \ - FB__UDR_CATCH \ } \ \ - void internalInitialize(::Firebird::IStatus* status, ::Firebird::ExternalContext* context) + IMaster* master; \ + const IRoutineMetadata* metadata; - -#define FB__UDR_DYNAMIC_TYPE(name) \ +#define FB__UDR_COMMON_TYPE(name) \ struct name \ { \ typedef unsigned char Type; \ static void setup(::Firebird::IStatus*, ::Firebird::IMetadataBuilder*) {} \ } - #define FB__UDR_CATCH \ catch (const ::Firebird::Udr::StatusException& e) \ { \ @@ -313,7 +247,7 @@ throw StatusException(vector); } - static void check(ISC_STATUS status, const ISC_STATUS* vector) + static void checkStatus(ISC_STATUS status, const ISC_STATUS* vector) { if (status == 0) return; @@ -321,6 +255,13 @@ check(vector); } + template <typename T> + static T check(IStatus* status, T value) + { + check(status->get()); + return value; + } + public: const ISC_STATUS* getStatusVector() const { @@ -479,22 +420,13 @@ }; -// This class is used to fix an apparent bug with clang, where the object is wrongly initialized -// and overwrites the members set in the operator new. -template <typename T> -class Routine : public T -{ -public: - Routine() - { - } -}; - - template <typename This> class Function : public ExternalFunction, public Helper { public: + FB__UDR_COMMON_TYPE(InMessage); + FB__UDR_COMMON_TYPE(OutMessage); + virtual int FB_CARG getVersion() { return FB_EXTERNAL_FUNCTION_VERSION; @@ -514,23 +446,6 @@ Utf8* /*name*/, uint /*nameSize*/) { } - - void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) - { - Function* p = reinterpret_cast<Function*>(::new char[size]); - p->master = master; - p->metadata = metadata; - return p; - } - - void operator delete(void* p) - { - ::delete [] static_cast<char*>(p); - } - -public: - IMaster* master; - const IRoutineMetadata* metadata; }; @@ -538,6 +453,9 @@ class Procedure : public ExternalProcedure, public Helper { public: + FB__UDR_COMMON_TYPE(InMessage); + FB__UDR_COMMON_TYPE(OutMessage); + virtual int FB_CARG getVersion() { return FB_EXTERNAL_PROCEDURE_VERSION; @@ -557,23 +475,6 @@ Utf8* /*name*/, uint /*nameSize*/) { } - - void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) - { - Procedure* p = reinterpret_cast<Procedure*>(::new char[size]); - p->master = master; - p->metadata = metadata; - return p; - } - - void operator delete(void* p) - { - ::delete [] static_cast<char*>(p); - } - -public: - IMaster* master; - const IRoutineMetadata* metadata; }; @@ -581,6 +482,8 @@ class Trigger : public ExternalTrigger, public Helper { public: + FB__UDR_COMMON_TYPE(FieldsMessage); + virtual int FB_CARG getVersion() { return FB_EXTERNAL_TRIGGER_VERSION; @@ -600,23 +503,6 @@ Utf8* /*name*/, uint /*nameSize*/) { } - - void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) - { - Trigger* p = reinterpret_cast<Trigger*>(::new char[size]); - p->master = master; - p->metadata = metadata; - return p; - } - - void operator delete(void* p) - { - ::delete [] static_cast<char*>(p); - } - -public: - IMaster* master; - const IRoutineMetadata* metadata; }; @@ -638,9 +524,13 @@ virtual ExternalFunction* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(context->getMaster(), metadata) Routine<T>; - obj->initialize(status, context); - return obj; + try + { + return new T(status, context, metadata); + } + FB__UDR_CATCH + + return NULL; } }; @@ -663,9 +553,13 @@ virtual ExternalProcedure* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(context->getMaster(), metadata) Routine<T>; - obj->initialize(status, context); - return obj; + try + { + return new T(status, context, metadata); + } + FB__UDR_CATCH + + return NULL; } }; @@ -687,9 +581,13 @@ virtual ExternalTrigger* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(context->getMaster(), metadata) Routine<T>; - obj->initialize(status, context); - return obj; + try + { + return new T(status, context, metadata); + } + FB__UDR_CATCH + + return NULL; } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |