From: <fir...@us...> - 2012-12-16 03:45:16
|
Revision: 57497 http://firebird.svn.sourceforge.net/firebird/?rev=57497&view=rev Author: firebirds Date: 2012-12-16 03:45:09 +0000 (Sun, 16 Dec 2012) 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 2012-12-15 11:38:06 UTC (rev 57496) +++ firebird/trunk/ChangeLog 2012-12-16 03:45:09 UTC (rev 57497) @@ -1,3 +1,17 @@ + 2012-12-15 08:12 dimitr + M src/remote/os/win32/wnet.cpp + M src/remote/os/win32/xnet.cpp +The remaining fixes for Windows. + + 2012-12-15 08:07 dimitr + M src/common/classes/Reasons.h + M src/common/classes/condition.h + M src/common/classes/locks.h + M src/common/classes/rwlock.h + M src/common/os/win32/isc_ipc.cpp + M src/jrd/os/win32/winnt.cpp +Fixed (mostly) the Windows build. + 2012-12-14 17:59 alexpeshkoff M src/auth/SecurityDatabase/LegacyManagement.epp M src/auth/SecurityDatabase/LegacyServer.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-15 11:38:06 UTC (rev 57496) +++ firebird/trunk/src/jrd/build_no.h 2012-12-16 03:45:09 UTC (rev 57497) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30166 + FORMAL BUILD NUMBER:30168 */ -#define PRODUCT_VER_STRING "3.0.0.30166" -#define FILE_VER_STRING "WI-T3.0.0.30166" -#define LICENSE_VER_STRING "WI-T3.0.0.30166" -#define FILE_VER_NUMBER 3, 0, 0, 30166 +#define PRODUCT_VER_STRING "3.0.0.30168" +#define FILE_VER_STRING "WI-T3.0.0.30168" +#define LICENSE_VER_STRING "WI-T3.0.0.30168" +#define FILE_VER_NUMBER 3, 0, 0, 30168 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30166" +#define FB_BUILD_NO "30168" #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 2012-12-15 11:38:06 UTC (rev 57496) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-16 03:45:09 UTC (rev 57497) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30166 +BuildNum=30168 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...> - 2012-12-19 08:26:01
|
Revision: 57505 http://sourceforge.net/p/firebird/code/57505 Author: firebirds Date: 2012-12-19 08:25:58 +0000 (Wed, 19 Dec 2012) 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 2012-12-19 00:56:57 UTC (rev 57504) +++ firebird/trunk/ChangeLog 2012-12-19 08:25:58 UTC (rev 57505) @@ -1,3 +1,78 @@ + 2012-12-19 00:56 asfernandes + M src/common/classes/locks.h + M src/dsql/StmtNodes.cpp + M src/jrd/cch.cpp + M src/jrd/jrd.h + M src/jrd/recsrc/Cursor.h +Misc. + + 2012-12-18 13:54 alexpeshkoff + M src/common/classes/SyncObject.cpp + M src/common/classes/SyncObject.h + M src/jrd/Database.cpp + M src/jrd/cch.cpp + M src/jrd/cch_proto.h + M src/jrd/dfw.epp + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/lck.cpp + M src/jrd/shut.cpp + M src/jrd/shut_proto.h + M src/yvalve/why.cpp +Take locks in AST before building tdbb +Fixed assertion in CCH_exclusive_attachment +Rolled back my changes required to let cancelOperation() enter engine after shutdown +Better locks' history in SyncObject + + 2012-12-18 13:47 alexpeshkoff + M builds/make.new/config/install-sh +fresh file version + + 2012-12-17 17:33 dimitr + M src/jrd/recsrc/AggregatedStream.cpp + M src/jrd/recsrc/BitmapTableScan.cpp + M src/jrd/recsrc/BufferedStream.cpp + M src/jrd/recsrc/ConditionalStream.cpp + M src/jrd/recsrc/Cursor.cpp + M src/jrd/recsrc/Cursor.h + M src/jrd/recsrc/ExternalTableScan.cpp + M src/jrd/recsrc/FilteredStream.cpp + M src/jrd/recsrc/FirstRowsStream.cpp + M src/jrd/recsrc/FullOuterJoin.cpp + M src/jrd/recsrc/FullTableScan.cpp + M src/jrd/recsrc/HashJoin.cpp + M src/jrd/recsrc/IndexTableScan.cpp + M src/jrd/recsrc/LockedStream.cpp + M src/jrd/recsrc/MergeJoin.cpp + M src/jrd/recsrc/NestedLoopJoin.cpp + M src/jrd/recsrc/ProcedureScan.cpp + M src/jrd/recsrc/RecursiveStream.cpp + M src/jrd/recsrc/SingularStream.cpp + M src/jrd/recsrc/SkipRowsStream.cpp + M src/jrd/recsrc/SortedStream.cpp + M src/jrd/recsrc/Union.cpp + M src/jrd/recsrc/VirtualTableScan.cpp + M src/jrd/recsrc/WindowedStream.cpp +Fixed rescheduling logic that was broken during the RSB refactoring. + + 2012-12-17 17:11 dimitr + M src/jrd/JrdStatement.cpp +Simplest possible solution for the incorrect assertion I put recently. + + 2012-12-15 08:12 dimitr + M src/remote/os/win32/wnet.cpp + M src/remote/os/win32/xnet.cpp +The remaining fixes for Windows. + + 2012-12-15 08:07 dimitr + M src/common/classes/Reasons.h + M src/common/classes/condition.h + M src/common/classes/locks.h + M src/common/classes/rwlock.h + M src/common/os/win32/isc_ipc.cpp + M src/jrd/os/win32/winnt.cpp +Fixed (mostly) the Windows build. + 2012-12-14 17:59 alexpeshkoff M src/auth/SecurityDatabase/LegacyManagement.epp M src/auth/SecurityDatabase/LegacyServer.cpp @@ -140,7 +215,7 @@ 2012-12-06 14:51 hvlad M src/jrd/cch.cpp M src/jrd/jrd.h -Front ported fix for CORE-3034 (Bugche?\209?\129k 300 (can't find shared latch)) +Front ported fix for CORE-3034 (Bugcheсk 300 (can't find shared latch)) 2012-12-06 12:09 dimitr M src/dsql/StmtNodes.cpp @@ -3561,7 +3636,7 @@ M src/qli/dtr.h M src/qli/meta.epp M src/qli/qliswi.h -Stop db triggers in qli, from Herr Schlottmann-G?\195?\182dde +Stop db triggers in qli, from Herr Schlottmann-Gödde 2012-01-19 06:26 robocop M src/remote/inet.cpp @@ -3882,7 +3957,7 @@ 2011-12-30 14:38 asfernandes M doc/sql.extensions/README.builtin_functions.txt M src/common/os/guid.h -Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies?\194?\183 +Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies· 2011-12-30 14:19 alexpeshkoff M src/jrd/svc.cpp @@ -6085,7 +6160,7 @@ 2011-06-03 19:12 asfernandes M src/common/IntlUtil.cpp M src/common/IntlUtil.h -Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. +Fixed CORE-3416 - Inserting Käse into a CHARACTER SET ASCII column succeeds. 2011-06-03 17:39 asfernandes M src/jrd/met.epp @@ -39137,7 +39212,7 @@ 2008-11-29 18:47 asfernandes M src/jrd/DataTypeUtil.cpp M src/jrd/DataTypeUtil.h -Fixed CORE-2019 ?\195?\162?\226?\130?\172?\226?\128?\156 UTF-8 conversion error (string truncation). +Fixed CORE-2019 – UTF-8 conversion error (string truncation). 2008-11-28 18:49 alexpeshkoff M src/common/classes/SafeArg.cpp @@ -41489,7 +41564,7 @@ 2008-07-16 14:16 asfernandes M src/jrd/idx.cpp -Fixed CORE-1989 - UTF8 UNICODE_CI collate can?\194?\180t be used in foreing key constraint +Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint 2008-07-16 13:55 asfernandes M src/jrd/Optimizer.cpp @@ -42497,7 +42572,7 @@ 2008-06-14 02:17 asfernandes M doc/sql.extensions/README.similar_to.txt M src/jrd/SimilarToMatcher.h -1) Fixed CORE-1935 ?\195?\162?\226?\130?\172?\226?\128?\156 SIMILAR TO character classes are incorrectly recognized. +1) Fixed CORE-1935 – SIMILAR TO character classes are incorrectly recognized. 2) Improve the documentation after some questions from Claudio. 2008-06-13 14:01 dimitr @@ -54765,7 +54840,7 @@ 2007-05-09 15:23 asfernandes M doc/sql.extensions/README.list -Updated LIST documentation - thanks to Maycon Ferra?\195?\167a +Updated LIST documentation - thanks to Maycon Ferraça 2007-05-09 02:03 asfernandes M src/burp/burp.cpp @@ -56716,7 +56791,7 @@ 2007-03-22 13:07 asfernandes M doc/sql.extensions/README.context_variables2 -Document the new context variable - thanks to Maicon Ferra?\195?\167a +Document the new context variable - thanks to Maicon Ferraça 2007-03-22 12:53 dimitr M src/dsql/pass1.cpp @@ -58393,7 +58468,7 @@ 2006-12-14 10:30 asfernandes M doc/sql.extensions/README.returning -Correction - thanks to Maycon Ferra?\195?\167a +Correction - thanks to Maycon Ferraça 2006-12-14 09:14 dimitr A doc/README.monitoring_tables @@ -59837,7 +59912,7 @@ 2006-10-10 03:53 asfernandes M src/jrd/jrd.cpp -Fix problem reported by Carsten Sch?\195?\164fer in fbdevel of incorrect server start when using connection pooling +Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:39 asfernandes M src/jrd/os/posix/isc_ipc.cpp @@ -60186,7 +60261,7 @@ 2006-09-13 12:59 asfernandes M src/dsql/pass1.cpp -Fix the problem with CAST and parameters reported by Maycon Ferra?\195?\167a in fb-devel +Fix the problem with CAST and parameters reported by Maycon Ferraça in fb-devel 2006-09-12 16:31 asfernandes M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-19 00:56:57 UTC (rev 57504) +++ firebird/trunk/src/jrd/build_no.h 2012-12-19 08:25:58 UTC (rev 57505) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30166 + FORMAL BUILD NUMBER:30173 */ -#define PRODUCT_VER_STRING "3.0.0.30166" -#define FILE_VER_STRING "WI-T3.0.0.30166" -#define LICENSE_VER_STRING "WI-T3.0.0.30166" -#define FILE_VER_NUMBER 3, 0, 0, 30166 +#define PRODUCT_VER_STRING "3.0.0.30173" +#define FILE_VER_STRING "WI-T3.0.0.30173" +#define LICENSE_VER_STRING "WI-T3.0.0.30173" +#define FILE_VER_NUMBER 3, 0, 0, 30173 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30166" +#define FB_BUILD_NO "30173" #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 2012-12-19 00:56:57 UTC (rev 57504) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-19 08:25:58 UTC (rev 57505) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30166 +BuildNum=30173 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...> - 2012-12-20 03:25:44
|
Revision: 57509 http://sourceforge.net/p/firebird/code/57509 Author: firebirds Date: 2012-12-20 03:25:42 +0000 (Thu, 20 Dec 2012) 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 2012-12-19 13:51:48 UTC (rev 57508) +++ firebird/trunk/ChangeLog 2012-12-20 03:25:42 UTC (rev 57509) @@ -1,3 +1,7 @@ + 2012-12-19 13:51 hvlad + M src/jrd/cch.cpp +Add lost PAGE_LOCK_RE_POST call. + 2012-12-19 00:56 asfernandes M src/common/classes/locks.h M src/dsql/StmtNodes.cpp @@ -215,7 +219,7 @@ 2012-12-06 14:51 hvlad M src/jrd/cch.cpp M src/jrd/jrd.h -Front ported fix for CORE-3034 (Bugcheсk 300 (can't find shared latch)) +Front ported fix for CORE-3034 (Bugche?\209?\129k 300 (can't find shared latch)) 2012-12-06 12:09 dimitr M src/dsql/StmtNodes.cpp @@ -3636,7 +3640,7 @@ M src/qli/dtr.h M src/qli/meta.epp M src/qli/qliswi.h -Stop db triggers in qli, from Herr Schlottmann-Gödde +Stop db triggers in qli, from Herr Schlottmann-G?\195?\182dde 2012-01-19 06:26 robocop M src/remote/inet.cpp @@ -3957,7 +3961,7 @@ 2011-12-30 14:38 asfernandes M doc/sql.extensions/README.builtin_functions.txt M src/common/os/guid.h -Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies· +Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies?\194?\183 2011-12-30 14:19 alexpeshkoff M src/jrd/svc.cpp @@ -6160,7 +6164,7 @@ 2011-06-03 19:12 asfernandes M src/common/IntlUtil.cpp M src/common/IntlUtil.h -Fixed CORE-3416 - Inserting Käse into a CHARACTER SET ASCII column succeeds. +Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. 2011-06-03 17:39 asfernandes M src/jrd/met.epp @@ -39212,7 +39216,7 @@ 2008-11-29 18:47 asfernandes M src/jrd/DataTypeUtil.cpp M src/jrd/DataTypeUtil.h -Fixed CORE-2019 – UTF-8 conversion error (string truncation). +Fixed CORE-2019 ?\195?\162?\226?\130?\172?\226?\128?\156 UTF-8 conversion error (string truncation). 2008-11-28 18:49 alexpeshkoff M src/common/classes/SafeArg.cpp @@ -41564,7 +41568,7 @@ 2008-07-16 14:16 asfernandes M src/jrd/idx.cpp -Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint +Fixed CORE-1989 - UTF8 UNICODE_CI collate can?\194?\180t be used in foreing key constraint 2008-07-16 13:55 asfernandes M src/jrd/Optimizer.cpp @@ -42572,7 +42576,7 @@ 2008-06-14 02:17 asfernandes M doc/sql.extensions/README.similar_to.txt M src/jrd/SimilarToMatcher.h -1) Fixed CORE-1935 – SIMILAR TO character classes are incorrectly recognized. +1) Fixed CORE-1935 ?\195?\162?\226?\130?\172?\226?\128?\156 SIMILAR TO character classes are incorrectly recognized. 2) Improve the documentation after some questions from Claudio. 2008-06-13 14:01 dimitr @@ -54840,7 +54844,7 @@ 2007-05-09 15:23 asfernandes M doc/sql.extensions/README.list -Updated LIST documentation - thanks to Maycon Ferraça +Updated LIST documentation - thanks to Maycon Ferra?\195?\167a 2007-05-09 02:03 asfernandes M src/burp/burp.cpp @@ -56791,7 +56795,7 @@ 2007-03-22 13:07 asfernandes M doc/sql.extensions/README.context_variables2 -Document the new context variable - thanks to Maicon Ferraça +Document the new context variable - thanks to Maicon Ferra?\195?\167a 2007-03-22 12:53 dimitr M src/dsql/pass1.cpp @@ -58468,7 +58472,7 @@ 2006-12-14 10:30 asfernandes M doc/sql.extensions/README.returning -Correction - thanks to Maycon Ferraça +Correction - thanks to Maycon Ferra?\195?\167a 2006-12-14 09:14 dimitr A doc/README.monitoring_tables @@ -59912,7 +59916,7 @@ 2006-10-10 03:53 asfernandes M src/jrd/jrd.cpp -Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling +Fix problem reported by Carsten Sch?\195?\164fer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:39 asfernandes M src/jrd/os/posix/isc_ipc.cpp @@ -60261,7 +60265,7 @@ 2006-09-13 12:59 asfernandes M src/dsql/pass1.cpp -Fix the problem with CAST and parameters reported by Maycon Ferraça in fb-devel +Fix the problem with CAST and parameters reported by Maycon Ferra?\195?\167a in fb-devel 2006-09-12 16:31 asfernandes M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-19 13:51:48 UTC (rev 57508) +++ firebird/trunk/src/jrd/build_no.h 2012-12-20 03:25:42 UTC (rev 57509) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30173 + FORMAL BUILD NUMBER:30174 */ -#define PRODUCT_VER_STRING "3.0.0.30173" -#define FILE_VER_STRING "WI-T3.0.0.30173" -#define LICENSE_VER_STRING "WI-T3.0.0.30173" -#define FILE_VER_NUMBER 3, 0, 0, 30173 +#define PRODUCT_VER_STRING "3.0.0.30174" +#define FILE_VER_STRING "WI-T3.0.0.30174" +#define LICENSE_VER_STRING "WI-T3.0.0.30174" +#define FILE_VER_NUMBER 3, 0, 0, 30174 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30173" +#define FB_BUILD_NO "30174" #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 2012-12-19 13:51:48 UTC (rev 57508) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-20 03:25:42 UTC (rev 57509) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30173 +BuildNum=30174 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...> - 2012-12-21 03:24:38
|
Revision: 57518 http://sourceforge.net/p/firebird/code/57518 Author: firebirds Date: 2012-12-21 03:24:35 +0000 (Fri, 21 Dec 2012) 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 2012-12-21 01:49:16 UTC (rev 57517) +++ firebird/trunk/ChangeLog 2012-12-21 03:24:35 UTC (rev 57518) @@ -1,3 +1,31 @@ + 2012-12-21 01:49 asfernandes + M src/jrd/GlobalRWLock.cpp + M src/jrd/idx.cpp + M src/jrd/jrd.cpp + M src/jrd/jrd.h +Misc. + + 2012-12-20 15:27 alexpeshkoff + M src/burp/burp.cpp +Fixed CORE-3995: Slight problem with GBAK parameter checking + + 2012-12-20 12:18 alexpeshkoff + M src/jrd/Attachment.cpp + M src/jrd/Attachment.h + M src/jrd/Function.epp + M src/jrd/cch.cpp + M src/jrd/idx.cpp + M src/jrd/intl.cpp + M src/jrd/jrd.h + M src/jrd/met.epp + M src/jrd/pag.cpp + M src/jrd/tra.cpp +Re-read attachment from lock after taking lock in attachment handler + + 2012-12-20 10:42 hvlad + M src/common/classes/Reasons.h +VC10 still have no support for __func__ + 2012-12-19 13:51 hvlad M src/jrd/cch.cpp Add lost PAGE_LOCK_RE_POST call. @@ -219,7 +247,7 @@ 2012-12-06 14:51 hvlad M src/jrd/cch.cpp M src/jrd/jrd.h -Front ported fix for CORE-3034 (Bugche?\209?\129k 300 (can't find shared latch)) +Front ported fix for CORE-3034 (Bugcheсk 300 (can't find shared latch)) 2012-12-06 12:09 dimitr M src/dsql/StmtNodes.cpp @@ -3640,7 +3668,7 @@ M src/qli/dtr.h M src/qli/meta.epp M src/qli/qliswi.h -Stop db triggers in qli, from Herr Schlottmann-G?\195?\182dde +Stop db triggers in qli, from Herr Schlottmann-Gödde 2012-01-19 06:26 robocop M src/remote/inet.cpp @@ -3961,7 +3989,7 @@ 2011-12-30 14:38 asfernandes M doc/sql.extensions/README.builtin_functions.txt M src/common/os/guid.h -Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies?\194?\183 +Make UUID_TO_CHAR2 returns lower-cased strings, as the RFC specifies· 2011-12-30 14:19 alexpeshkoff M src/jrd/svc.cpp @@ -6164,7 +6192,7 @@ 2011-06-03 19:12 asfernandes M src/common/IntlUtil.cpp M src/common/IntlUtil.h -Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. +Fixed CORE-3416 - Inserting Käse into a CHARACTER SET ASCII column succeeds. 2011-06-03 17:39 asfernandes M src/jrd/met.epp @@ -39216,7 +39244,7 @@ 2008-11-29 18:47 asfernandes M src/jrd/DataTypeUtil.cpp M src/jrd/DataTypeUtil.h -Fixed CORE-2019 ?\195?\162?\226?\130?\172?\226?\128?\156 UTF-8 conversion error (string truncation). +Fixed CORE-2019 – UTF-8 conversion error (string truncation). 2008-11-28 18:49 alexpeshkoff M src/common/classes/SafeArg.cpp @@ -41568,7 +41596,7 @@ 2008-07-16 14:16 asfernandes M src/jrd/idx.cpp -Fixed CORE-1989 - UTF8 UNICODE_CI collate can?\194?\180t be used in foreing key constraint +Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint 2008-07-16 13:55 asfernandes M src/jrd/Optimizer.cpp @@ -42576,7 +42604,7 @@ 2008-06-14 02:17 asfernandes M doc/sql.extensions/README.similar_to.txt M src/jrd/SimilarToMatcher.h -1) Fixed CORE-1935 ?\195?\162?\226?\130?\172?\226?\128?\156 SIMILAR TO character classes are incorrectly recognized. +1) Fixed CORE-1935 – SIMILAR TO character classes are incorrectly recognized. 2) Improve the documentation after some questions from Claudio. 2008-06-13 14:01 dimitr @@ -54844,7 +54872,7 @@ 2007-05-09 15:23 asfernandes M doc/sql.extensions/README.list -Updated LIST documentation - thanks to Maycon Ferra?\195?\167a +Updated LIST documentation - thanks to Maycon Ferraça 2007-05-09 02:03 asfernandes M src/burp/burp.cpp @@ -56795,7 +56823,7 @@ 2007-03-22 13:07 asfernandes M doc/sql.extensions/README.context_variables2 -Document the new context variable - thanks to Maicon Ferra?\195?\167a +Document the new context variable - thanks to Maicon Ferraça 2007-03-22 12:53 dimitr M src/dsql/pass1.cpp @@ -58472,7 +58500,7 @@ 2006-12-14 10:30 asfernandes M doc/sql.extensions/README.returning -Correction - thanks to Maycon Ferra?\195?\167a +Correction - thanks to Maycon Ferraça 2006-12-14 09:14 dimitr A doc/README.monitoring_tables @@ -59916,7 +59944,7 @@ 2006-10-10 03:53 asfernandes M src/jrd/jrd.cpp -Fix problem reported by Carsten Sch?\195?\164fer in fbdevel of incorrect server start when using connection pooling +Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:39 asfernandes M src/jrd/os/posix/isc_ipc.cpp @@ -60265,7 +60293,7 @@ 2006-09-13 12:59 asfernandes M src/dsql/pass1.cpp -Fix the problem with CAST and parameters reported by Maycon Ferra?\195?\167a in fb-devel +Fix the problem with CAST and parameters reported by Maycon Ferraça in fb-devel 2006-09-12 16:31 asfernandes M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-21 01:49:16 UTC (rev 57517) +++ firebird/trunk/src/jrd/build_no.h 2012-12-21 03:24:35 UTC (rev 57518) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30174 + FORMAL BUILD NUMBER:30178 */ -#define PRODUCT_VER_STRING "3.0.0.30174" -#define FILE_VER_STRING "WI-T3.0.0.30174" -#define LICENSE_VER_STRING "WI-T3.0.0.30174" -#define FILE_VER_NUMBER 3, 0, 0, 30174 +#define PRODUCT_VER_STRING "3.0.0.30178" +#define FILE_VER_STRING "WI-T3.0.0.30178" +#define LICENSE_VER_STRING "WI-T3.0.0.30178" +#define FILE_VER_NUMBER 3, 0, 0, 30178 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30174" +#define FB_BUILD_NO "30178" #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 2012-12-21 01:49:16 UTC (rev 57517) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-21 03:24:35 UTC (rev 57518) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30174 +BuildNum=30178 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...> - 2012-12-22 03:15:56
|
Revision: 57524 http://sourceforge.net/p/firebird/code/57524 Author: firebirds Date: 2012-12-22 03:15:52 +0000 (Sat, 22 Dec 2012) 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 2012-12-21 14:11:45 UTC (rev 57523) +++ firebird/trunk/ChangeLog 2012-12-22 03:15:52 UTC (rev 57524) @@ -1,3 +1,11 @@ + 2012-12-21 14:11 dimitr + M src/jrd/cch.cpp +Front ported to trunk. + + 2012-12-21 10:11 dimitr + M src/jrd/exe.cpp +Front ported to trunk. + 2012-12-21 01:49 asfernandes M src/jrd/GlobalRWLock.cpp M src/jrd/idx.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-21 14:11:45 UTC (rev 57523) +++ firebird/trunk/src/jrd/build_no.h 2012-12-22 03:15:52 UTC (rev 57524) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30178 + FORMAL BUILD NUMBER:30180 */ -#define PRODUCT_VER_STRING "3.0.0.30178" -#define FILE_VER_STRING "WI-T3.0.0.30178" -#define LICENSE_VER_STRING "WI-T3.0.0.30178" -#define FILE_VER_NUMBER 3, 0, 0, 30178 +#define PRODUCT_VER_STRING "3.0.0.30180" +#define FILE_VER_STRING "WI-T3.0.0.30180" +#define LICENSE_VER_STRING "WI-T3.0.0.30180" +#define FILE_VER_NUMBER 3, 0, 0, 30180 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30178" +#define FB_BUILD_NO "30180" #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 2012-12-21 14:11:45 UTC (rev 57523) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-22 03:15:52 UTC (rev 57524) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30178 +BuildNum=30180 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...> - 2012-12-24 03:23:23
|
Revision: 57537 http://sourceforge.net/p/firebird/code/57537 Author: firebirds Date: 2012-12-24 03:23:20 +0000 (Mon, 24 Dec 2012) 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 2012-12-23 15:11:03 UTC (rev 57536) +++ firebird/trunk/ChangeLog 2012-12-24 03:23:20 UTC (rev 57537) @@ -1,3 +1,15 @@ + 2012-12-23 07:10 dimitr + M src/jrd/Attachment.cpp + M src/jrd/Attachment.h + M src/jrd/VirtualTable.cpp + M src/jrd/exe.cpp + M src/jrd/jrd.cpp + M src/jrd/pag.cpp + M src/jrd/shut.cpp + M src/jrd/tra.cpp + M src/jrd/tra.h +Front ported my yesterday's commits to trunk. + 2012-12-21 14:11 dimitr M src/jrd/cch.cpp Front ported to trunk. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-23 15:11:03 UTC (rev 57536) +++ firebird/trunk/src/jrd/build_no.h 2012-12-24 03:23:20 UTC (rev 57537) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30180 + FORMAL BUILD NUMBER:30181 */ -#define PRODUCT_VER_STRING "3.0.0.30180" -#define FILE_VER_STRING "WI-T3.0.0.30180" -#define LICENSE_VER_STRING "WI-T3.0.0.30180" -#define FILE_VER_NUMBER 3, 0, 0, 30180 +#define PRODUCT_VER_STRING "3.0.0.30181" +#define FILE_VER_STRING "WI-T3.0.0.30181" +#define LICENSE_VER_STRING "WI-T3.0.0.30181" +#define FILE_VER_NUMBER 3, 0, 0, 30181 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30180" +#define FB_BUILD_NO "30181" #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 2012-12-23 15:11:03 UTC (rev 57536) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-24 03:23:20 UTC (rev 57537) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30180 +BuildNum=30181 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...> - 2012-12-26 03:18:44
|
Revision: 57550 http://sourceforge.net/p/firebird/code/57550 Author: firebirds Date: 2012-12-26 03:18:40 +0000 (Wed, 26 Dec 2012) 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 2012-12-25 17:34:50 UTC (rev 57549) +++ firebird/trunk/ChangeLog 2012-12-26 03:18:40 UTC (rev 57550) @@ -1,3 +1,26 @@ + 2012-12-25 17:34 asfernandes + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/dsql/DsqlCompilerScratch.h + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/Parser.cpp + M src/dsql/Parser.h + M src/dsql/StmtNodes.cpp + M src/dsql/dsql.cpp + M src/dsql/dsql.h + M src/dsql/make.cpp + M src/dsql/make_proto.h + M src/dsql/metd_proto.h + M src/dsql/parse.y + M src/dsql/pass1.cpp + M src/jrd/extds/ExtDS.cpp + M src/jrd/extds/ExtDS.h + M src/jrd/extds/IscDS.cpp + M src/jrd/extds/IscDS.h + M src/yvalve/keywords.cpp +Get rid of dsql_str and fix metadata strings. + 2012-12-23 07:10 dimitr M src/jrd/Attachment.cpp M src/jrd/Attachment.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-25 17:34:50 UTC (rev 57549) +++ firebird/trunk/src/jrd/build_no.h 2012-12-26 03:18:40 UTC (rev 57550) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30181 + FORMAL BUILD NUMBER:30182 */ -#define PRODUCT_VER_STRING "3.0.0.30181" -#define FILE_VER_STRING "WI-T3.0.0.30181" -#define LICENSE_VER_STRING "WI-T3.0.0.30181" -#define FILE_VER_NUMBER 3, 0, 0, 30181 +#define PRODUCT_VER_STRING "3.0.0.30182" +#define FILE_VER_STRING "WI-T3.0.0.30182" +#define LICENSE_VER_STRING "WI-T3.0.0.30182" +#define FILE_VER_NUMBER 3, 0, 0, 30182 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30181" +#define FB_BUILD_NO "30182" #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 2012-12-25 17:34:50 UTC (rev 57549) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-26 03:18:40 UTC (rev 57550) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30181 +BuildNum=30182 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...> - 2012-12-30 03:21:21
|
Revision: 57568 http://sourceforge.net/p/firebird/code/57568 Author: firebirds Date: 2012-12-30 03:21:19 +0000 (Sun, 30 Dec 2012) 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 2012-12-29 13:48:49 UTC (rev 57567) +++ firebird/trunk/ChangeLog 2012-12-30 03:21:19 UTC (rev 57568) @@ -1,3 +1,19 @@ + 2012-12-29 13:48 alexpeshkoff + M src/jrd/Attachment.cpp + M src/jrd/Attachment.h + M src/jrd/jrd.h + M src/jrd/lck.cpp + M src/jrd/lck.h +Avoid races with lck_attachment in AST + + 2012-12-29 11:15 alexpeshkoff + M src/auth/SecurityDatabase/LegacyManagement.epp +Fixed CORE-3932: can create but cant delete user with username containing double quotes with gsec + + 2012-12-29 10:53 alexpeshkoff + M src/utilities/gsec/gsec.cpp +Make gsec take into an account settings from firebird.conf + 2012-12-25 17:34 asfernandes M src/dsql/DdlNodes.epp M src/dsql/DdlNodes.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-12-29 13:48:49 UTC (rev 57567) +++ firebird/trunk/src/jrd/build_no.h 2012-12-30 03:21:19 UTC (rev 57568) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30182 + FORMAL BUILD NUMBER:30185 */ -#define PRODUCT_VER_STRING "3.0.0.30182" -#define FILE_VER_STRING "WI-T3.0.0.30182" -#define LICENSE_VER_STRING "WI-T3.0.0.30182" -#define FILE_VER_NUMBER 3, 0, 0, 30182 +#define PRODUCT_VER_STRING "3.0.0.30185" +#define FILE_VER_STRING "WI-T3.0.0.30185" +#define LICENSE_VER_STRING "WI-T3.0.0.30185" +#define FILE_VER_NUMBER 3, 0, 0, 30185 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30182" +#define FB_BUILD_NO "30185" #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 2012-12-29 13:48:49 UTC (rev 57567) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-12-30 03:21:19 UTC (rev 57568) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30182 +BuildNum=30185 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-01-07 03:25:04
|
Revision: 57583 http://sourceforge.net/p/firebird/code/57583 Author: firebirds Date: 2013-01-07 03:25:01 +0000 (Mon, 07 Jan 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-01-07 01:15:24 UTC (rev 57582) +++ firebird/trunk/ChangeLog 2013-01-07 03:25:01 UTC (rev 57583) @@ -1,3 +1,9 @@ + 2013-01-07 01:15 asfernandes + M src/jrd/cch.cpp + M src/jrd/jrd.cpp + M src/jrd/jrd.h +Misc. + 2012-12-29 13:48 alexpeshkoff M src/jrd/Attachment.cpp M src/jrd/Attachment.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-07 01:15:24 UTC (rev 57582) +++ firebird/trunk/src/jrd/build_no.h 2013-01-07 03:25:01 UTC (rev 57583) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30185 + FORMAL BUILD NUMBER:30186 */ -#define PRODUCT_VER_STRING "3.0.0.30185" -#define FILE_VER_STRING "WI-T3.0.0.30185" -#define LICENSE_VER_STRING "WI-T3.0.0.30185" -#define FILE_VER_NUMBER 3, 0, 0, 30185 +#define PRODUCT_VER_STRING "3.0.0.30186" +#define FILE_VER_STRING "WI-T3.0.0.30186" +#define LICENSE_VER_STRING "WI-T3.0.0.30186" +#define FILE_VER_NUMBER 3, 0, 0, 30186 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30185" +#define FB_BUILD_NO "30186" #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-01-07 01:15:24 UTC (rev 57582) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-07 03:25:01 UTC (rev 57583) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30185 +BuildNum=30186 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-01-09 03:48:09
|
Revision: 57591 http://sourceforge.net/p/firebird/code/57591 Author: firebirds Date: 2013-01-09 03:48:04 +0000 (Wed, 09 Jan 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-01-08 16:03:41 UTC (rev 57590) +++ firebird/trunk/ChangeLog 2013-01-09 03:48:04 UTC (rev 57591) @@ -1,3 +1,27 @@ + 2013-01-08 16:03 alexpeshkoff + M src/gpre/languages/cob.cpp +warnings + + 2013-01-08 15:47 alexpeshkoff + A src/misc/checkIface +Script to check correctness of FB_XX_VERSION constants in h-files + + 2013-01-08 15:23 alexpeshkoff + M src/misc/src_bundle.sh +misc + + 2013-01-08 15:03 alexpeshkoff + M src/include/firebird/ExternalEngine.h +misc + + 2013-01-08 10:53 alexpeshkoff + M src/alice/tdr.cpp +Frontported postfix for CORE-3612 - send errors to stderr + + 2013-01-08 10:51 alexpeshkoff + M src/jrd/vio.cpp +comment + 2013-01-07 01:15 asfernandes M src/jrd/cch.cpp M src/jrd/jrd.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-08 16:03:41 UTC (rev 57590) +++ firebird/trunk/src/jrd/build_no.h 2013-01-09 03:48:04 UTC (rev 57591) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30186 + FORMAL BUILD NUMBER:30192 */ -#define PRODUCT_VER_STRING "3.0.0.30186" -#define FILE_VER_STRING "WI-T3.0.0.30186" -#define LICENSE_VER_STRING "WI-T3.0.0.30186" -#define FILE_VER_NUMBER 3, 0, 0, 30186 +#define PRODUCT_VER_STRING "3.0.0.30192" +#define FILE_VER_STRING "WI-T3.0.0.30192" +#define LICENSE_VER_STRING "WI-T3.0.0.30192" +#define FILE_VER_NUMBER 3, 0, 0, 30192 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30186" +#define FB_BUILD_NO "30192" #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-01-08 16:03:41 UTC (rev 57590) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-09 03:48:04 UTC (rev 57591) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30186 +BuildNum=30192 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-01-10 07:04:46
|
Revision: 57504 http://firebird.svn.sourceforge.net/firebird/?rev=57504&view=rev Author: alexpeshkoff Date: 2013-01-10 07:04:40 +0000 (Thu, 10 Jan 2013) Log Message: ----------- Closed posix build Modified Paths: -------------- firebird/trunk/Makefile.in firebird/trunk/autogen.sh Modified: firebird/trunk/Makefile.in =================================================================== --- firebird/trunk/Makefile.in 2013-01-04 07:51:17 UTC (rev 57503) +++ firebird/trunk/Makefile.in 2013-01-10 07:04:40 UTC (rev 57504) @@ -1,6 +1,3 @@ -@SET_MAKE@ - -all: firebird - -.DEFAULT: - $(MAKE) -C gen $@ +all: + @echo "Please use 'svn checkout svn://svn.code.sf.net/p/firebird/code/firebird/trunk' to get fresh source code" + @exit 1 Modified: firebird/trunk/autogen.sh =================================================================== --- firebird/trunk/autogen.sh 2013-01-04 07:51:17 UTC (rev 57503) +++ firebird/trunk/autogen.sh 2013-01-10 07:04:40 UTC (rev 57504) @@ -1,93 +1,4 @@ #!/bin/sh -# -# Run this to generate all the initial makefiles, etc. -# -PKG_NAME=Firebird3 -SRCDIR=`dirname $0` -DIE=0 - -if [ -z "$AUTORECONF" ] -then - AUTORECONF=autoreconf -fi - -echo "AUTORECONF="$AUTORECONF - -# This prevents calling automake in old autotools -AUTOMAKE=true -export AUTOMAKE - -# This helps some old aclocal versions find binreloc.m4 in current directory -ACLOCAL='aclocal -I .' -export ACLOCAL - -VER=`$AUTORECONF --version|grep '^[Aa]utoreconf'|sed 's/^[^0-9]*//'` -case "$VER" in - 0* | 1\.* | 2\.[0-9] | 2\.[0-9][a-z]* | \ - 2\.[1-5][0-9] | 2\.[1-5][0-9][a-z]* | 2\.6[0-2] | 2\.6[0-2][a-z]* ) - echo - echo "**Error**: You must have autoconf 2.63 or later installed." - echo "Download the appropriate package for your distribution/OS," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/" - DIE=1 - ;; -esac - -# Put other tests for programs here! - -# If anything failed, exit now. -if test "$DIE" -eq 1; then - exit 1 -fi - -# Give a warning if no arguments to 'configure' have been supplied. -if test -z "$*" -a x$NOCONFIGURE = x; then - echo "**Warning**: I am going to run \`configure' with no arguments." - echo "If you wish to pass any to it, please specify them on the" - echo \`$0\'" command line." - echo -fi - -# Some versions of autotools need it -if [ ! -d m4 ]; then - rm -rf m4 - mkdir m4 -fi - -# Ensure correct utilities are called by AUTORECONF -autopath=`dirname $AUTORECONF` -if [ "x$autopath" != "x" ]; then - PATH=$autopath:$PATH - export PATH -fi - -echo "Running autoreconf ..." -$AUTORECONF --install --force --verbose || exit 1 - -# Hack to bypass bug in autoreconf - --install switch not passed to libtoolize, -# therefore missing config.sub and confg.guess files -CONFIG_AUX_DIR=builds/make.new/config -if [ ! -f $CONFIG_AUX_DIR/config.sub -o ! -f $CONFIG_AUX_DIR/config.guess ]; then - # re-run libtoolize with --install switch, if it does not understand that switch - # and there are no config.sub/guess files in CONFIG_AUX_DIR, we will anyway fail - echo "Re-running libtoolize ..." - if [ -z "$LIBTOOLIZE" ]; then - LIBTOOLIZE=libtoolize - fi - $LIBTOOLIZE --install --copy --force || exit 1 -fi - -# If NOCONFIGURE is set, skip the call to configure -if test "x$NOCONFIGURE" = "x"; then - conf_flags="$conf_flags --enable-binreloc" - echo Running $SRCDIR/configure $conf_flags "$@" ... - rm -f config.cache config.log - chmod a+x $SRCDIR/configure - $SRCDIR/configure $conf_flags "$@" \ - && echo Now type \`make\' to compile $PKG_NAME -else - echo Autogen skipping configure process. -fi - -# EOF +echo "Please use 'svn checkout svn://svn.code.sf.net/p/firebird/code/firebird/trunk' to get fresh source code" +exit 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-01-16 03:23:27
|
Revision: 57599 http://sourceforge.net/p/firebird/code/57599 Author: firebirds Date: 2013-01-16 03:23:24 +0000 (Wed, 16 Jan 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-01-15 11:39:41 UTC (rev 57598) +++ firebird/trunk/ChangeLog 2013-01-16 03:23:24 UTC (rev 57599) @@ -1,3 +1,7 @@ + 2013-01-15 11:39 alexpeshkoff + M src/common/unicode_util.cpp +warning + 2013-01-08 16:03 alexpeshkoff M src/gpre/languages/cob.cpp warnings Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-15 11:39:41 UTC (rev 57598) +++ firebird/trunk/src/jrd/build_no.h 2013-01-16 03:23:24 UTC (rev 57599) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30192 + FORMAL BUILD NUMBER:30193 */ -#define PRODUCT_VER_STRING "3.0.0.30192" -#define FILE_VER_STRING "WI-T3.0.0.30192" -#define LICENSE_VER_STRING "WI-T3.0.0.30192" -#define FILE_VER_NUMBER 3, 0, 0, 30192 +#define PRODUCT_VER_STRING "3.0.0.30193" +#define FILE_VER_STRING "WI-T3.0.0.30193" +#define LICENSE_VER_STRING "WI-T3.0.0.30193" +#define FILE_VER_NUMBER 3, 0, 0, 30193 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30192" +#define FB_BUILD_NO "30193" #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-01-15 11:39:41 UTC (rev 57598) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-16 03:23:24 UTC (rev 57599) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30192 +BuildNum=30193 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-01-17 03:36:07
|
Revision: 57602 http://sourceforge.net/p/firebird/code/57602 Author: firebirds Date: 2013-01-17 03:36:03 +0000 (Thu, 17 Jan 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-01-16 17:08:08 UTC (rev 57601) +++ firebird/trunk/ChangeLog 2013-01-17 03:36:03 UTC (rev 57602) @@ -1,3 +1,7 @@ + 2013-01-16 17:08 dimitr + M src/jrd/btr.cpp +Simplest fix for CORE-4038: Broken optimization for the stored dbkeys. + 2013-01-15 11:39 alexpeshkoff M src/common/unicode_util.cpp warning Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-16 17:08:08 UTC (rev 57601) +++ firebird/trunk/src/jrd/build_no.h 2013-01-17 03:36:03 UTC (rev 57602) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30193 + FORMAL BUILD NUMBER:30194 */ -#define PRODUCT_VER_STRING "3.0.0.30193" -#define FILE_VER_STRING "WI-T3.0.0.30193" -#define LICENSE_VER_STRING "WI-T3.0.0.30193" -#define FILE_VER_NUMBER 3, 0, 0, 30193 +#define PRODUCT_VER_STRING "3.0.0.30194" +#define FILE_VER_STRING "WI-T3.0.0.30194" +#define LICENSE_VER_STRING "WI-T3.0.0.30194" +#define FILE_VER_NUMBER 3, 0, 0, 30194 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30193" +#define FB_BUILD_NO "30194" #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-01-16 17:08:08 UTC (rev 57601) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-17 03:36:03 UTC (rev 57602) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30193 +BuildNum=30194 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-01-21 03:32:15
|
Revision: 57614 http://sourceforge.net/p/firebird/code/57614 Author: firebirds Date: 2013-01-21 03:32:12 +0000 (Mon, 21 Jan 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-01-20 19:55:52 UTC (rev 57613) +++ firebird/trunk/ChangeLog 2013-01-21 03:32:12 UTC (rev 57614) @@ -1,3 +1,11 @@ + 2013-01-20 19:55 asfernandes + M src/dsql/ddl.cpp +Fixed truncated error message for wrong CREATE COLLATION. + + 2013-01-20 15:11 asfernandes + M src/dsql/DdlNodes.epp +Fixed a problem with CREATE COLLATION. + 2013-01-16 17:08 dimitr M src/jrd/btr.cpp Simplest fix for CORE-4038: Broken optimization for the stored dbkeys. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-20 19:55:52 UTC (rev 57613) +++ firebird/trunk/src/jrd/build_no.h 2013-01-21 03:32:12 UTC (rev 57614) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30194 + FORMAL BUILD NUMBER:30196 */ -#define PRODUCT_VER_STRING "3.0.0.30194" -#define FILE_VER_STRING "WI-T3.0.0.30194" -#define LICENSE_VER_STRING "WI-T3.0.0.30194" -#define FILE_VER_NUMBER 3, 0, 0, 30194 +#define PRODUCT_VER_STRING "3.0.0.30196" +#define FILE_VER_STRING "WI-T3.0.0.30196" +#define LICENSE_VER_STRING "WI-T3.0.0.30196" +#define FILE_VER_NUMBER 3, 0, 0, 30196 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30194" +#define FB_BUILD_NO "30196" #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-01-20 19:55:52 UTC (rev 57613) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-21 03:32:12 UTC (rev 57614) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30194 +BuildNum=30196 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-01-25 06:06:37
|
Revision: 57621 http://sourceforge.net/p/firebird/code/57621 Author: firebirds Date: 2013-01-25 06:06:33 +0000 (Fri, 25 Jan 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-01-24 16:52:13 UTC (rev 57620) +++ firebird/trunk/ChangeLog 2013-01-25 06:06:33 UTC (rev 57621) @@ -1,3 +1,15 @@ + 2013-01-24 16:52 dimitr + M src/dsql/dsql.cpp +Slightly improved the condition for the Adriano's backward compatibility workaround, this optimizes METD_move() into a plain memcpy() for strings with an explicitly declared charset. + + 2013-01-24 09:30 dimitr + M src/common/cvt.cpp +This trivial optimization saves a few percents of performance when reading/writing DBKEYs from/to compatible local variables. + + 2013-01-24 07:05 dimitr + M src/dsql/StmtNodes.cpp +Misc adjustments. + 2013-01-20 19:55 asfernandes M src/dsql/ddl.cpp Fixed truncated error message for wrong CREATE COLLATION. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-24 16:52:13 UTC (rev 57620) +++ firebird/trunk/src/jrd/build_no.h 2013-01-25 06:06:33 UTC (rev 57621) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30196 + FORMAL BUILD NUMBER:30199 */ -#define PRODUCT_VER_STRING "3.0.0.30196" -#define FILE_VER_STRING "WI-T3.0.0.30196" -#define LICENSE_VER_STRING "WI-T3.0.0.30196" -#define FILE_VER_NUMBER 3, 0, 0, 30196 +#define PRODUCT_VER_STRING "3.0.0.30199" +#define FILE_VER_STRING "WI-T3.0.0.30199" +#define LICENSE_VER_STRING "WI-T3.0.0.30199" +#define FILE_VER_NUMBER 3, 0, 0, 30199 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30196" +#define FB_BUILD_NO "30199" #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-01-24 16:52:13 UTC (rev 57620) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-25 06:06:33 UTC (rev 57621) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30196 +BuildNum=30199 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-01-26 05:56:56
|
Revision: 57627 http://sourceforge.net/p/firebird/code/57627 Author: firebirds Date: 2013-01-26 05:56:52 +0000 (Sat, 26 Jan 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-01-25 13:01:19 UTC (rev 57626) +++ firebird/trunk/ChangeLog 2013-01-26 05:56:52 UTC (rev 57627) @@ -1,3 +1,29 @@ + 2013-01-25 13:01 dimitr + M src/jrd/extds/ExtDS.cpp + M src/jrd/extds/ExtDS.h + M src/jrd/extds/InternalDS.cpp +Slightly optimized fetches for internal EXECUTE STATEMENT. + + 2013-01-25 12:34 dimitr + M src/jrd/exe.cpp +Misc. + + 2013-01-25 12:34 dimitr + M src/dsql/BlrWriter.cpp + M src/dsql/BlrWriter.h + M src/dsql/Nodes.h + M src/dsql/Parser.h + M src/dsql/StmtNodes.h + M src/dsql/dsql.cpp + M src/jrd/DebugInterface.cpp + M src/jrd/DebugInterface.h + M src/jrd/filters.cpp + M src/jrd/met.epp + M src/jrd/met_proto.h + M src/jrd/par.cpp + M src/jrd/req.h +More work towards unlimited SQL/BLR lengths. + 2013-01-24 16:52 dimitr M src/dsql/dsql.cpp Slightly improved the condition for the Adriano's backward compatibility workaround, this optimizes METD_move() into a plain memcpy() for strings with an explicitly declared charset. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-25 13:01:19 UTC (rev 57626) +++ firebird/trunk/src/jrd/build_no.h 2013-01-26 05:56:52 UTC (rev 57627) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30199 + FORMAL BUILD NUMBER:30202 */ -#define PRODUCT_VER_STRING "3.0.0.30199" -#define FILE_VER_STRING "WI-T3.0.0.30199" -#define LICENSE_VER_STRING "WI-T3.0.0.30199" -#define FILE_VER_NUMBER 3, 0, 0, 30199 +#define PRODUCT_VER_STRING "3.0.0.30202" +#define FILE_VER_STRING "WI-T3.0.0.30202" +#define LICENSE_VER_STRING "WI-T3.0.0.30202" +#define FILE_VER_NUMBER 3, 0, 0, 30202 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30199" +#define FB_BUILD_NO "30202" #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-01-25 13:01:19 UTC (rev 57626) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-26 05:56:52 UTC (rev 57627) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30199 +BuildNum=30202 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-01-29 01:21:36
|
Revision: 57629 http://sourceforge.net/p/firebird/code/57629 Author: asfernandes Date: 2013-01-29 01:21:32 +0000 (Tue, 29 Jan 2013) Log Message: ----------- Migrate external triggers to the new message-based style. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/Message.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/Function.epp firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/met_proto.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-01-29 01:21:32 UTC (rev 57629) @@ -662,7 +662,7 @@ FB_UDR_BEGIN_PROCEDURE(gen_rows) FB_UDR_EXECUTE_DYNAMIC_PROCEDURE { - MessageImpl inMessage(2, inMsg); + MessageImpl inMessage(2, in); ParamDesc<ISC_LONG> startDesc(inMessage); ParamDesc<ISC_LONG> endDesc(inMessage); @@ -795,7 +795,6 @@ FB_UDR_END_PROCEDURE -//// TODO: Rework triggers. /*** Sample usage: @@ -828,6 +827,11 @@ after insert on persons external name 'udrcpp_example!replicate!ds1' engine udr; + +create trigger persons_replicate2 + after insert on persons + external name 'udrcpp_example!replicate_persons!ds1' + engine udr; ***/ FB_UDR_BEGIN_TRIGGER(replicate) FB_UDR_TRIGGER(replicate)() @@ -863,7 +867,7 @@ unsigned fieldsCount = fields->getCount(status); ThrowError::check(status->get()); - MessageImpl message(fieldsCount, newMsg); + MessageImpl message(fieldsCount, newFields); ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); @@ -905,11 +909,11 @@ const char* table = metadata->getTriggerTable(status); ThrowError::check(status->get()); - // Skip the first exclamation point, separing the module name and entry point. + // Skip the first exclamation point, separating the module name and entry point. const char* info = strchr(metadata->getEntryPoint(status), '!'); ThrowError::check(status->get()); - // Skip the second exclamation point, separing the entry point and the misc info (config). + // Skip the second exclamation point, separating the entry point and the misc info (config). if (info) info = strchr(info + 1, '!'); @@ -1046,7 +1050,7 @@ break; case SQL_FLOAT: - var->sqltype = SQL_DOUBLE | (var->sqltype & 1); + var->sqltype = SQL_DOUBLE; var->sqllen = sizeof(double); // fall into @@ -1069,8 +1073,7 @@ } var->sqltype |= 1; - var->sqlind = new short; - *reinterpret_cast<short*>(var->sqlind) = -1; + var->sqlind = new short(-1); } delete [] outSqlDa->sqlvar[0].sqldata; @@ -1083,3 +1086,151 @@ XSQLDA* inSqlDa; isc_stmt_handle stmtHandle; 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; + + delete [] reinterpret_cast<char*>(inSqlDa); + + ISC_STATUS_ARRAY statusVector = {0}; + isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); + } + + FB_UDR_EXECUTE_MESSAGE_TRIGGER( + (FB_INTEGER, id, "ID") + (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; + + 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); + + ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + inSqlDa), statusVector); + } + + FB_UDR_INITIALIZE + { + ISC_STATUS_ARRAY statusVector = {0}; + isc_db_handle dbHandle = getIscDbHandle(context); + isc_tr_handle trHandle = getIscTrHandle(context); + + stmtHandle = 0; + ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, + "select data_source from replicate_config where name = ?", + SQL_DIALECT_CURRENT, NULL), statusVector); + + AutoDispose<IStatus> status(master->getStatus()); + + const char* table = metadata->getTriggerTable(status); + ThrowError::check(status->get()); + + // Skip the first exclamation point, separating the module name and entry point. + const char* info = strchr(metadata->getEntryPoint(status), '!'); + ThrowError::check(status->get()); + + // Skip the second exclamation point, separating the entry point and the misc info (config). + if (info) + info = strchr(info + 1, '!'); + + if (info) + ++info; + else + info = ""; + + inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + inSqlDa->version = SQLDA_VERSION1; + inSqlDa->sqln = 1; + ThrowError::check(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); + + XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + outSqlDa->version = SQLDA_VERSION1; + outSqlDa->sqln = 1; + ThrowError::check(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'; + + ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + inSqlDa, outSqlDa), statusVector); + ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + + delete [] inSqlDa->sqlvar[0].sqldata; + delete [] reinterpret_cast<char*>(inSqlDa); + inSqlDa = NULL; + + const IParametersMetadata* fields = metadata->getTriggerFields(status); + ThrowError::check(status->get()); + + unsigned count = fields->getCount(status); + ThrowError::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" + " address type of column PERSONS.ADDRESS = ?,\n" + " info type of column PERSONS.INFO = ?\n" + ")" + "as\n" + "begin\n" + " execute statement ('insert into persons (id, name, address, info)\n" + " values (?, ?, ?, ?)') (:id, :name, :address, :info)\n" + " on external data source '"); + strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); + strcat(buffer, "';\nend"); + + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, + SQL_DIALECT_CURRENT, NULL), statusVector); + + inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(4))]); + inSqlDa->version = SQLDA_VERSION1; + inSqlDa->sqln = 4; + ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + statusVector); + + for (unsigned i = 0; i < 4; ++i) + { + XSQLVAR* var = &inSqlDa->sqlvar[i]; + var->sqltype |= 1; + } + + delete [] outSqlDa->sqlvar[0].sqldata; + delete [] reinterpret_cast<char*>(outSqlDa); + + initialized = true; + } + + bool initialized; + XSQLDA* inSqlDa; + isc_stmt_handle stmtHandle; +FB_UDR_END_TRIGGER Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2013-01-29 01:21:32 UTC (rev 57629) @@ -1504,6 +1504,10 @@ PARAMETER (GDS__null_spb = 335545045) INTEGER*4 GDS__max_args_exceeded PARAMETER (GDS__max_args_exceeded = 335545046) + INTEGER*4 GDS__ee_blr_mismatch_names_count + PARAMETER (GDS__ee_blr_mismatch_names_count = 335545047) + INTEGER*4 GDS__ee_blr_mismatch_name_not_found + PARAMETER (GDS__ee_blr_mismatch_name_not_found = 335545048) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/lang_helpers/gds_codes.pas 2013-01-29 01:21:32 UTC (rev 57629) @@ -759,6 +759,8 @@ gds_no_providers = 335545044; gds_null_spb = 335545045; gds_max_args_exceeded = 335545046; + gds_ee_blr_mismatch_names_count = 335545047; + gds_ee_blr_mismatch_name_not_found = 335545048; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/dsql/ExprNodes.cpp =================================================================== --- firebird/trunk/src/dsql/ExprNodes.cpp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/dsql/ExprNodes.cpp 2013-01-29 01:21:32 UTC (rev 57629) @@ -10764,11 +10764,11 @@ dsc* const srcDesc = EVL_expr(tdbb, request, *sourcePtr); if (srcDesc && !(request->req_flags & req_null)) { - *nullPtr = FALSE; + *nullPtr = 0; MOV_move(tdbb, srcDesc, &argDesc); } else - *nullPtr = TRUE; + *nullPtr = -1; } } Modified: firebird/trunk/src/include/firebird/ExternalEngine.h =================================================================== --- firebird/trunk/src/include/firebird/ExternalEngine.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/firebird/ExternalEngine.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -38,14 +38,23 @@ class ExternalEngine; -struct BlrMessage +class IRoutineMessage : public IVersioned { - const unsigned char* blr; - unsigned int blrLength; - unsigned int bufferLength; +public: + virtual void FB_CARG set(const unsigned char* blr, unsigned blrLength, unsigned bufferLength) = 0; }; +#define FB_ROUTINE_MESSAGE_VERSION (FB_VERSIONED_VERSION + 1) +class ITriggerMessage : public IVersioned +{ +public: + virtual void FB_CARG set(const unsigned char* blr, unsigned blrLength, unsigned bufferLength, + const char** names, unsigned count) = 0; +}; +#define FB_TRIGGER_MESSAGE_VERSION (FB_VERSIONED_VERSION + 1) + + // Connection to current database in external engine. // Context passed to ExternalEngine has SYSDBA privileges. // Context passed to ExternalFunction, ExternalProcedure and ExternalTrigger @@ -193,11 +202,11 @@ // Called when engine wants to load object in the cache. Objects are disposed when // going out of the cache. virtual ExternalFunction* FB_CALL makeFunction(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) = 0; + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) = 0; virtual ExternalProcedure* FB_CALL makeProcedure(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) = 0; + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) = 0; virtual ExternalTrigger* FB_CALL makeTrigger(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata) = 0; + const IRoutineMetadata* metadata, ITriggerMessage* triggerMsg) = 0; }; #define FB_EXTERNAL_ENGINE_VERSION (FB_PLUGIN_VERSION + 6) Modified: firebird/trunk/src/include/firebird/Message.h =================================================================== --- firebird/trunk/src/include/firebird/Message.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/firebird/Message.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -30,54 +30,66 @@ #include <string.h> #define FB_MESSAGE(name, fields) \ - FB_MESSAGE_I(name, FB_BOOST_PP_CAT(FB_MESSAGE_X fields, 0)) + struct name \ + { \ + 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_I(name, fields) \ +#define FB_TRIGGER_MESSAGE(name, fields) \ struct name \ { \ - static const unsigned char* getBlr(unsigned* length) \ - { \ - static const unsigned char blr[] = { \ - blr_version5, \ - blr_begin, \ - blr_message, 0, \ - (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) & 0xFF, \ - (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) >> 8, \ - FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_BLR, _, fields) \ - blr_end, \ - blr_eoc \ - }; \ - *length = sizeof(blr); \ - return blr; \ - } \ - \ - static unsigned getSize() \ - { \ - return (unsigned)(size_t) (&((name*) 0)->FB_BOOST_PP_CAT( \ - FB_BOOST_PP_TUPLE_ELEM(2, 1, \ - FB_BOOST_PP_SEQ_ELEM(FB_BOOST_PP_DEC(FB_BOOST_PP_SEQ_SIZE(fields)), fields)), \ - Null) - 0) + sizeof(ISC_SHORT); \ - } \ - \ - void clear() \ - { \ - memset(this, 0, sizeof(*this)); \ - } \ - \ - FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_FIELD, _, fields) \ + 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)) \ } +#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) \ + static const unsigned char* getBlr(unsigned* length) \ + { \ + static const unsigned char blr[] = { \ + blr_version5, \ + blr_begin, \ + blr_message, 0, \ + (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) & 0xFF, \ + (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) >> 8, \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_BLR, size, fields) \ + blr_end, \ + blr_eoc \ + }; \ + *length = sizeof(blr); \ + return blr; \ + } \ + \ + static unsigned getSize() \ + { \ + return (unsigned)(size_t) (&((name*) 0)->FB_BOOST_PP_CAT( \ + FB_BOOST_PP_TUPLE_ELEM(size, 1, \ + FB_BOOST_PP_SEQ_ELEM(FB_BOOST_PP_DEC(FB_BOOST_PP_SEQ_SIZE(fields)), fields)), \ + Null) - 0) + sizeof(ISC_SHORT); \ + } \ + \ + void clear() \ + { \ + memset(this, 0, sizeof(*this)); \ + } \ + \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_FIELD, size, fields) + #define FB_MESSAGE_FIELD(r, _, i, xy) \ - FB_BOOST_PP_CAT(FB_TYPE_, FB_BOOST_PP_TUPLE_ELEM(2, 0, xy)) FB_BOOST_PP_TUPLE_ELEM(2, 1, xy); \ - ISC_SHORT FB_BOOST_PP_CAT(FB_BOOST_PP_TUPLE_ELEM(2, 1, xy), Null); + 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_BLR(r, _, i, xy) \ - FB_BOOST_PP_CAT(FB_BLR_, FB_BOOST_PP_TUPLE_ELEM(2, 0, xy)), \ + FB_BOOST_PP_CAT(FB_BLR_, FB_BOOST_PP_TUPLE_ELEM(_, 0, xy)), \ FB_BLR_FB_SMALLINT, #define FB_BLR_FB_SCALED_SMALLINT(scale) blr_short, (scale) @@ -126,7 +138,45 @@ } \ } +#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_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_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_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/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -86,11 +86,11 @@ #define FB_UDR_EXECUTE__FUNCTION \ virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - void* inMsg, void* outMsg) \ + void* in, void* out) \ { \ try \ { \ - internalExecute(error, context, (InMessage*) inMsg, (OutMessage*) outMsg); \ + internalExecute(error, context, (InMessage*) in, (OutMessage*) out); \ } \ FB_UDR__CATCH \ } \ @@ -151,11 +151,11 @@ #define FB_UDR_EXECUTE__PROCEDURE \ virtual ::Firebird::ExternalResultSet* FB_CALL open(::Firebird::Error* error, \ - ::Firebird::ExternalContext* context, void* inMsg, void* outMsg) \ + ::Firebird::ExternalContext* context, void* in, void* out) \ { \ try \ { \ - return new ResultSet(error, context, this, (InMessage*) inMsg, (OutMessage*) outMsg); \ + return new ResultSet(error, context, this, (InMessage*) in, (OutMessage*) out); \ } \ FB_UDR__CATCH \ \ @@ -166,9 +166,9 @@ { \ public: \ ResultSet(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - This* procedure, InMessage* inMsg, OutMessage* outMsg) \ + This* const procedure, InMessage* const in, OutMessage* const out) \ : ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage>( \ - context, procedure, inMsg, outMsg) + context, procedure, in, out) #define FB_UDR_FETCH_PROCEDURE \ virtual bool FB_CALL fetch(::Firebird::Error* error) \ @@ -202,21 +202,30 @@ }; #define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \ + typedef void* 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 \ virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) \ + ::Firebird::ExternalTrigger::Action action, void* oldFields, void* newFields) \ { \ try \ { \ - internalExecute(error, context, action, oldMsg, newMsg); \ + internalExecute(error, context, action, (FieldsMessage*) oldFields, (FieldsMessage*) newFields); \ } \ FB_UDR__CATCH \ } \ \ void internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) + ::Firebird::ExternalTrigger::Action action, FieldsMessage* oldFields, FieldsMessage* newFields) #define FB_UDR_INITIALIZE \ @@ -499,10 +508,10 @@ } protected: - Firebird::ExternalContext* context; - Procedure* procedure; - InMessage* in; - OutMessage* out; + Firebird::ExternalContext* const context; + Procedure* const procedure; + InMessage* const in; + OutMessage* const out; }; @@ -620,10 +629,10 @@ } virtual void setup(Error* /*error*/, ExternalContext* /*context*/, - const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* /*metadata*/, IRoutineMessage* in, IRoutineMessage* out) { - setBlr(inBlr, (typename T::InMessage*) 0); - setBlr(outBlr, (typename T::OutMessage*) 0); + setBlr(in, (typename T::InMessage*) 0); + setBlr(out, (typename T::OutMessage*) 0); } virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, @@ -635,13 +644,14 @@ } private: - template <typename MessageType> void setBlr(BlrMessage* blrMessage, MessageType*) + template <typename MessageType> void setBlr(IRoutineMessage* blrMessage, MessageType*) { - blrMessage->blr = MessageType::getBlr(&blrMessage->blrLength); - blrMessage->bufferLength = MessageType::getSize(); + unsigned blrLength; + const unsigned char* blr = MessageType::getBlr(&blrLength); + blrMessage->set(blr, blrLength, MessageType::getSize()); } - void setBlr(BlrMessage* blrMessage, void**) + void setBlr(IRoutineMessage* /*blrMessage*/, void**) { } }; @@ -656,10 +666,10 @@ } virtual void setup(Error* /*error*/, ExternalContext* /*context*/, - const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* /*metadata*/, IRoutineMessage* in, IRoutineMessage* out) { - setBlr(inBlr, (typename T::InMessage*) 0); - setBlr(outBlr, (typename T::OutMessage*) 0); + setBlr(in, (typename T::InMessage*) 0); + setBlr(out, (typename T::OutMessage*) 0); } virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, @@ -671,13 +681,14 @@ } private: - template <typename MessageType> void setBlr(BlrMessage* blrMessage, MessageType*) + template <typename MessageType> void setBlr(IRoutineMessage* blrMessage, MessageType*) { - blrMessage->blr = MessageType::getBlr(&blrMessage->blrLength); - blrMessage->bufferLength = MessageType::getSize(); + unsigned blrLength; + const unsigned char* blr = MessageType::getBlr(&blrLength); + blrMessage->set(blr, blrLength, MessageType::getSize()); } - void setBlr(BlrMessage* blrMessage, void**) + void setBlr(IRoutineMessage* /*blrMessage*/, void**) { } }; @@ -692,8 +703,9 @@ } virtual void setup(Error* /*error*/, ExternalContext* /*context*/, - const IRoutineMetadata* /*metadata*/) + const IRoutineMetadata* /*metadata*/, ITriggerMessage* fields) { + setBlr(fields, (typename T::FieldsMessage*) 0); } virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, @@ -703,6 +715,20 @@ obj->initialize(error, context); return obj; } + +private: + template <typename MessageType> void setBlr(ITriggerMessage* blrMessage, MessageType*) + { + unsigned blrLength, namesCount; + const unsigned char* blr = MessageType::getBlr(&blrLength); + const char** names = MessageType::getNames(&namesCount); + + blrMessage->set(blr, blrLength, MessageType::getSize(), names, namesCount); + } + + void setBlr(ITriggerMessage* /*blrMessage*/, void**) + { + } }; Modified: firebird/trunk/src/include/firebird/UdrEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrEngine.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/firebird/UdrEngine.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -40,7 +40,7 @@ { public: virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, - BlrMessage* inBlr, BlrMessage* outBlr) = 0; + IRoutineMessage* in, IRoutineMessage* out) = 0; virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; @@ -49,7 +49,7 @@ { public: virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, - BlrMessage* inBlr, BlrMessage* outBlr) = 0; + IRoutineMessage* in, IRoutineMessage* out) = 0; virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; @@ -57,7 +57,8 @@ class TriggerFactory { public: - virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) = 0; + virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + ITriggerMessage* fields) = 0; virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/gen/codetext.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -748,6 +748,8 @@ {"no_providers", 335545044}, {"null_spb", 335545045}, {"max_args_exceeded", 335545046}, + {"ee_blr_mismatch_names_count", 335545047}, + {"ee_blr_mismatch_name_not_found", 335545048}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/gen/iberror.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -782,6 +782,8 @@ const ISC_STATUS isc_no_providers = 335545044L; const ISC_STATUS isc_null_spb = 335545045L; const ISC_STATUS isc_max_args_exceeded = 335545046L; +const ISC_STATUS isc_ee_blr_mismatch_names_count = 335545047L; +const ISC_STATUS isc_ee_blr_mismatch_name_not_found = 335545048L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1226,7 +1228,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1170; +const ISC_STATUS isc_err_max = 1172; #else /* c definitions */ @@ -1978,6 +1980,8 @@ #define isc_no_providers 335545044L #define isc_null_spb 335545045L #define isc_max_args_exceeded 335545046L +#define isc_ee_blr_mismatch_names_count 335545047L +#define isc_ee_blr_mismatch_name_not_found 335545048L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2422,7 +2426,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1170 +#define isc_err_max 1172 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/gen/msgs.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -751,6 +751,8 @@ {335545044, "No providers loaded"}, /* no_providers */ {335545045, "NULL data with non-zero SPB length"}, /* null_spb */ {335545046, "Maximum (@1) number of arguments exceeded for function @2"}, /* max_args_exceeded */ + {335545047, "External BLR message mismatch: names count = @1, blr count = @2"}, /* ee_blr_mismatch_names_count */ + {335545048, "External BLR message mismatch: name @1 not found"}, /* ee_blr_mismatch_name_not_found */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/gen/sql_code.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -747,6 +747,8 @@ {335545044, -902}, /* 724 no_providers */ {335545045, -104}, /* 725 null_spb */ {335545046, -833}, /* 726 max_args_exceeded */ + {335545047, -901}, /* 727 ee_blr_mismatch_names_count */ + {335545048, -901}, /* 728 ee_blr_mismatch_name_not_found */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/include/gen/sql_state.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -747,6 +747,8 @@ {335545044, "39000"}, // 724 no_providers {335545045, "42818"}, // 725 null_spb {335545046, "42000"}, // 726 max_args_exceeded + {335545047, "42000"}, // 727 ee_blr_mismatch_names_count + {335545048, "42000"}, // 728 ee_blr_mismatch_name_not_found {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-01-29 01:21:32 UTC (rev 57629) @@ -41,6 +41,7 @@ #include "../jrd/intl_proto.h" #include "../jrd/met_proto.h" #include "../jrd/mov_proto.h" +#include "../jrd/par_proto.h" #include "../jrd/thread_proto.h" #include "../jrd/Function.h" #include "../common/isc_proto.h" @@ -408,16 +409,140 @@ //--------------------- -ExtEngineManager::Trigger::Trigger(thread_db* tdbb, ExtEngineManager* aExtManager, - ExternalEngine* aEngine, RoutineMetadata* aMetadata, ExternalTrigger* aTrigger, - const Jrd::Trigger* aTrg) +ExtEngineManager::Trigger::Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager, + ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg, + ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg) : extManager(aExtManager), engine(aEngine), metadata(aMetadata), trigger(aTrigger), trg(aTrg), + fieldsPos(pool), database(tdbb->getDatabase()) { + dsc shortDesc; + shortDesc.makeShort(0); + + jrd_rel* relation = trg->relation; + + if (relation) + { + bool blrPresent = fieldsMsg.blr.hasData(); + Format* relFormat = relation->rel_current_format; + 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) + continue; + + fieldsMap.put(field->fld_name, (USHORT) i); + } + + BlrReader reader(fieldsMsg.blr.begin(), fieldsMsg.blr.getCount()); + ULONG offset = 0; + USHORT maxAlignment = 0; + USHORT count; + + if (blrPresent) + { + reader.checkByte(blr_version5); + reader.checkByte(blr_begin); + reader.checkByte(blr_message); + reader.getByte(); // message number: ignore it + count = reader.getWord(); + + if (count != 2 * fieldsMsg.names.getCount()) + { + status_exception::raise( + Arg::Gds(isc_ee_blr_mismatch_names_count) << + Arg::Num(fieldsMsg.names.getCount()) << + Arg::Num(count)); + } + } + else + count = fieldsMap.count() * 2; + + format.reset(Format::newFormat(pool, count)); + + for (unsigned i = 0; i < count / 2; ++i) + { + dsc* desc = &format->fmt_desc[i * 2]; + + if (blrPresent) + { + USHORT pos; + + if (!fieldsMap.get(fieldsMsg.names[i], pos)) + { + status_exception::raise( + Arg::Gds(isc_ee_blr_mismatch_name_not_found) << + Arg::Str(fieldsMsg.names[i])); + } + + fieldsPos.add(pos); + PAR_datatype(tdbb, reader, desc); + } + else + { + fieldsPos.add(i); + *desc = relFormat->fmt_desc[i]; + } + + USHORT align = type_alignments[desc->dsc_dtype]; + maxAlignment = MAX(maxAlignment, align); + + offset = FB_ALIGN(offset, align); + desc->dsc_address = (UCHAR*) offset; + offset += desc->dsc_length; + + const dsc* fieldDesc = &relFormat->fmt_desc[i]; + + if (desc->isText() && desc->getCharSet() == CS_NONE) + desc->setTextType(fieldDesc->getTextType()); + desc->setNullable(fieldDesc->isNullable()); + + ++desc; + + if (blrPresent) + { + PAR_datatype(tdbb, reader, desc); + + if (!DSC_EQUIV(desc, &shortDesc, false)) + { + status_exception::raise( + Arg::Gds(isc_ee_blr_mismatch_null) << + Arg::Num(i * 2 + 1)); + } + } + else + *desc = shortDesc; + + align = type_alignments[desc->dsc_dtype]; + maxAlignment = MAX(maxAlignment, align); + + offset = FB_ALIGN(offset, align); + desc->dsc_address = (UCHAR*) offset; + offset += desc->dsc_length; + } + + if (blrPresent) + { + reader.checkByte(blr_end); + reader.checkByte(blr_eoc); + + if (offset != fieldsMsg.bufferLength) + { + status_exception::raise( + Arg::Gds(isc_ee_blr_mismatch_length) << + Arg::Num(fieldsMsg.bufferLength) << + Arg::Num(offset)); + } + } + + format->fmt_length = FB_ALIGN(offset, maxAlignment); + } } @@ -444,85 +569,73 @@ if (newRpb) setValues(tdbb, newMsg, newRpb); - Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); + { // scope + Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - trigger->execute(RaiseError(), attInfo->context, action, - (oldRpb ? oldMsg.begin() : NULL), (newRpb ? newMsg.begin() : NULL)); + trigger->execute(RaiseError(), attInfo->context, action, + (oldRpb ? oldMsg.begin() : NULL), (newRpb ? newMsg.begin() : NULL)); + } if (newRpb) { + // Move data back from the message to the record. + Record* record = newRpb->rpb_record; - const Format* format = record->rec_format; - const UCHAR* msg = newMsg.begin(); - unsigned pos = 0; + UCHAR* p = newMsg.begin(); - for (unsigned i = 0; i < format->fmt_count; ++i) + for (unsigned i = 0; i < format->fmt_count / 2; ++i) { - if (format->fmt_desc[i].dsc_dtype == dtype_unknown) - continue; + USHORT fieldPos = fieldsPos[i]; - dsc desc; - bool readonly = !EVL_field(newRpb->rpb_relation, record, i, &desc) && - desc.dsc_address && !(desc.dsc_flags & DSC_null); + dsc target; + bool readonly = !EVL_field(newRpb->rpb_relation, record, fieldPos, &target) && + target.dsc_address && !(target.dsc_flags & DSC_null); - unsigned align = type_alignments[desc.dsc_dtype]; - if (align) - pos = FB_ALIGN(pos, align); - - const unsigned dataPos = pos; - pos += desc.dsc_length; - - align = type_alignments[dtype_short]; - if (align) - pos = FB_ALIGN(pos, align); - if (!readonly) { - if (*(USHORT*) &msg[pos]) - SET_NULL(record, i); - else + SSHORT* nullSource = (SSHORT*) (p + (IPTR) format->fmt_desc[i * 2 + 1].dsc_address); + + if (*nullSource == 0) { - memcpy(desc.dsc_address, msg + dataPos, desc.dsc_length); - CLEAR_NULL(record, i); + dsc source = format->fmt_desc[i * 2]; + source.dsc_address += (IPTR) p; + MOV_move(tdbb, &source, &target); + CLEAR_NULL(record, fieldPos); } + else + SET_NULL(record, fieldPos); } - - pos += sizeof(USHORT); } } } -void ExtEngineManager::Trigger::setValues(thread_db* /*tdbb*/, Array<UCHAR>& msgBuffer, +void ExtEngineManager::Trigger::setValues(thread_db* tdbb, Array<UCHAR>& msgBuffer, record_param* rpb) const { if (!rpb || !rpb->rpb_record) return; - Record* record = rpb->rpb_record; - const Format* format = record->rec_format; + UCHAR* p = msgBuffer.getBuffer(format->fmt_length); + ///memset(p, 0, format->fmt_length); - for (unsigned i = 0; i < format->fmt_count; ++i) + for (unsigned i = 0; i < format->fmt_count / 2; ++i) { - if (format->fmt_desc[i].dsc_dtype == dtype_unknown) - continue; + USHORT fieldPos = fieldsPos[i]; - dsc desc; - EVL_field(rpb->rpb_relation, record, i, &desc); + dsc source; + EVL_field(rpb->rpb_relation, rpb->rpb_record, fieldPos, &source); // CVC: I'm not sure why it's not important to check EVL_field's result. - unsigned align = type_alignments[desc.dsc_dtype]; - if (align) - msgBuffer.resize(FB_ALIGN(msgBuffer.getCount(), align)); + SSHORT* nullTarget = (SSHORT*) (p + (IPTR) format->fmt_desc[i * 2 + 1].dsc_address); + *nullTarget = (source.dsc_flags & DSC_null) != 0 ? -1 : 0; - msgBuffer.add(desc.dsc_address, desc.dsc_length); - - align = type_alignments[dtype_short]; - if (align) - msgBuffer.resize(FB_ALIGN(msgBuffer.getCount(), align)); - - USHORT nullFlag = (desc.dsc_flags & DSC_null) != 0; - msgBuffer.add((UCHAR*) &nullFlag, sizeof(nullFlag)); + if (*nullTarget == 0) + { + dsc target = format->fmt_desc[i * 2]; + target.dsc_address += (IPTR) p; + MOV_move(tdbb, &source, &target); + } } } @@ -598,7 +711,7 @@ ExtEngineManager::Function* ExtEngineManager::makeFunction(thread_db* tdbb, const Jrd::Function* udf, const MetaName& engine, const string& entryPoint, const string& body, - BlrMessage* inBlr, BlrMessage* outBlr) + RoutineMessage* inMsg, RoutineMessage* outMsg) { string entryPointTrimmed = entryPoint; entryPointTrimmed.trim(); @@ -657,7 +770,7 @@ Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); externalFunction = attInfo->engine->makeFunction(RaiseError(), attInfo->context, metadata, - inBlr, outBlr); + inMsg, outMsg); if (!externalFunction) { @@ -683,7 +796,7 @@ ExtEngineManager::Procedure* ExtEngineManager::makeProcedure(thread_db* tdbb, const jrd_prc* prc, const MetaName& engine, const string& entryPoint, const string& body, - BlrMessage* inBlr, BlrMessage* outBlr) + RoutineMessage* inMsg, RoutineMessage* outMsg) { string entryPointTrimmed = entryPoint; entryPointTrimmed.trim(); @@ -736,7 +849,7 @@ Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); externalProcedure = attInfo->engine->makeProcedure(RaiseError(), attInfo->context, metadata, - inBlr, outBlr); + inMsg, outMsg); if (!externalProcedure) { @@ -761,7 +874,8 @@ ExtEngineManager::Trigger* ExtEngineManager::makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg, - const MetaName& engine, const string& entryPoint, const string& body, ExternalTrigger::Type type) + const MetaName& engine, const string& entryPoint, const string& body, + ExternalTrigger::Type type) { string entryPointTrimmed = entryPoint; entryPointTrimmed.trim(); @@ -807,12 +921,14 @@ } } + TriggerMessage fieldsMsg(pool); ExternalTrigger* externalTrigger; { // scope Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalTrigger = attInfo->engine->makeTrigger(RaiseError(), attInfo->context, metadata); + externalTrigger = attInfo->engine->makeTrigger(RaiseError(), attInfo->context, metadata, + &fieldsMsg); if (!externalTrigger) { @@ -823,8 +939,8 @@ try { - return FB_NEW(getPool()) Trigger(tdbb, this, attInfo->engine, metadata.release(), - externalTrigger, trg); + return FB_NEW(getPool()) Trigger(tdbb, pool, this, attInfo->engine, metadata.release(), + fieldsMsg, externalTrigger, trg); } catch (...) { Modified: firebird/trunk/src/jrd/ExtEngineManager.h =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/ExtEngineManager.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -52,6 +52,58 @@ struct record_param; +class RoutineMessage : + public Firebird::VersionedIface<Firebird::IRoutineMessage, FB_ROUTINE_MESSAGE_VERSION>, + public Firebird::PermanentStorage +{ +public: + explicit RoutineMessage(MemoryPool& pool) + : PermanentStorage(pool), + blr(pool), + bufferLength(0) + { + } + + virtual void FB_CARG set(const unsigned char* aBlr, unsigned aBlrLength, unsigned aBufferLength) + { + blr.assign(aBlr, aBlrLength); + bufferLength = aBufferLength; + } + +public: + Firebird::Array<UCHAR> blr; + unsigned bufferLength; +}; + +class TriggerMessage : + public Firebird::VersionedIface<Firebird::ITriggerMessage, FB_TRIGGER_MESSAGE_VERSION>, + public Firebird::PermanentStorage +{ +public: + explicit TriggerMessage(MemoryPool& pool) + : PermanentStorage(pool), + names(pool), + blr(pool), + bufferLength(0) + { + } + + virtual void FB_CARG set(const unsigned char* aBlr, unsigned aBlrLength, unsigned aBufferLength, + const char** aNames, unsigned aCount) + { + blr.assign(aBlr, aBlrLength); + bufferLength = aBufferLength; + + for (unsigned i = 0; i < aCount; ++i) + names.add(aNames[i]); + } + +public: + Firebird::ObjectsArray<Firebird::string> names; + Firebird::Array<UCHAR> blr; + unsigned bufferLength; +}; + class ExtEngineManager : public Firebird::PermanentStorage { private: @@ -59,8 +111,9 @@ template <typename T> class ContextManager; class TransactionImpl; - class RoutineMetadata : public Firebird::VersionedIface<Firebird::IRoutineMetadata, FB_ROUTINE_METADATA_VERSION>, - public Firebird::PermanentStorage + class RoutineMetadata : + public Firebird::VersionedIface<Firebird::IRoutineMetadata, FB_ROUTINE_METADATA_VERSION>, + public Firebird::PermanentStorage { public: explicit RoutineMetadata(MemoryPool& pool) @@ -264,11 +317,9 @@ class Trigger { public: - Trigger(thread_db* tdbb, ExtEngineManager* aExtManager, - Firebird::ExternalEngine* aEngine, - RoutineMetadata* aMetadata, - Firebird::ExternalTrigger* aTrigger, - const Jrd::Trigger* aTrg); + Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager, + Firebird::ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg, + Firebird::ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg); ~Trigger(); void execute(thread_db* tdbb, Firebird::ExternalTrigger::Action action, @@ -280,8 +331,10 @@ ExtEngineManager* extManager; Firebird::ExternalEngine* engine; Firebird::AutoPtr<RoutineMetadata> metadata; + Firebird::AutoPtr<Format> format; Firebird::ExternalTrigger* trigger; const Jrd::Trigger* trg; + Firebird::Array<USHORT> fieldsPos; Database* database; }; @@ -303,10 +356,10 @@ Function* makeFunction(thread_db* tdbb, const Jrd::Function* udf, const Firebird::MetaName& engine, const Firebird::string& entryPoint, - const Firebird::string& body, Firebird::BlrMessage* inBlr, Firebird::BlrMessage* outBlr); + const Firebird::string& body, RoutineMessage* inMsg, RoutineMessage* outMsg); Procedure* makeProcedure(thread_db* tdbb, const jrd_prc* prc, const Firebird::MetaName& engine, const Firebird::string& entryPoint, - const Firebird::string& body, Firebird::BlrMessage* inBlr, Firebird::BlrMessage* outBlr); + const Firebird::string& body, RoutineMessage* inMsg, RoutineMessage* outMsg); Trigger* makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg, const Firebird::MetaName& engine, const Firebird::string& entryPoint, const Firebird::string& body, Firebird::ExternalTrigger::Type type); Modified: firebird/trunk/src/jrd/Function.epp =================================================================== --- firebird/trunk/src/jrd/Function.epp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/Function.epp 2013-01-29 01:21:32 UTC (rev 57629) @@ -374,16 +374,9 @@ function->fun_external = NULL; function->setStatement(NULL); - BlrMessage inBlr; - inBlr.blr = NULL; - inBlr.blrLength = 0; - inBlr.bufferLength = 0; + RoutineMessage inMsg(*attachment->att_pool); + RoutineMessage outMsg(*attachment->att_pool); - BlrMessage outBlr; - outBlr.blr = NULL; - outBlr.blrLength = 0; - outBlr.bufferLength = 0; - if (!X.RDB$ENGINE_NAME.NULL || !X.RDB$FUNCTION_BLR.NULL) { if (!X.RDB$ENGINE_NAME.NULL) @@ -403,7 +396,7 @@ function->fun_external = dbb->dbb_extManager.makeFunction(tdbb, function, X.RDB$ENGINE_NAME, (X.RDB$ENTRYPOINT.NULL ? "" : X.RDB$ENTRYPOINT), (char*) body.begin(), - &inBlr, &outBlr); + &inMsg, &outMsg); if (!function->fun_external) function->setDefined(false); @@ -422,7 +415,7 @@ try { MET_parse_routine_blr(tdbb, function, &X.RDB$FUNCTION_BLR, csb, - !X.RDB$ENGINE_NAME.NULL, inBlr, outBlr); + !X.RDB$ENGINE_NAME.NULL, inMsg, outMsg); } catch (const Exception&) { Modified: firebird/trunk/src/jrd/dfw.epp =================================================================== --- firebird/trunk/src/jrd/dfw.epp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/dfw.epp 2013-01-29 01:21:32 UTC (rev 57629) @@ -5651,7 +5651,7 @@ try { - BlrMessage dummy; + RoutineMessage dummy(*csb_pool); MET_parse_routine_blr(tdbb, function, &FUN.RDB$FUNCTION_BLR, csb, false, dummy, dummy); Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/jrd.cpp 2013-01-29 01:21:32 UTC (rev 57629) @@ -642,10 +642,9 @@ return; extTrigger = dbb->dbb_extManager.makeTrigger(tdbb, this, engine, entryPoint, extBody.c_str(), - (relation ? (type & 1 ? - Firebird::ExternalTrigger::TYPE_BEFORE : - Firebird::ExternalTrigger::TYPE_AFTER) : - Firebird::ExternalTrigger::TYPE_DATABASE)); + (relation ? + (type & 1 ? ExternalTrigger::TYPE_BEFORE : ExternalTrigger::TYPE_AFTER) : + Firebird::ExternalTrigger::TYPE_DATABASE)); } void Trigger::release(thread_db* tdbb) Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/met.epp 2013-01-29 01:21:32 UTC (rev 57629) @@ -2975,16 +2975,9 @@ } END_FOR - BlrMessage inBlr; - inBlr.blr = NULL; - inBlr.blrLength = 0; - inBlr.bufferLength = 0; + RoutineMessage inMsg(*tdbb->getDefaultPool()); + RoutineMessage outMsg(*tdbb->getDefaultPool()); - BlrMessage outBlr; - outBlr.blr = NULL; - outBlr.blrLength = 0; - outBlr.bufferLength = 0; - const bool external = !P.RDB$ENGINE_NAME.NULL; // ODS_12_0 if (external) @@ -3004,7 +2997,7 @@ procedure->setExternal(dbb->dbb_extManager.makeProcedure( tdbb, procedure, P.RDB$ENGINE_NAME, - (P.RDB$ENTRYPOINT.NULL ? "" : P.RDB$ENTRYPOINT), body.begin(), &inBlr, &outBlr)); + (P.RDB$ENTRYPOINT.NULL ? "" : P.RDB$ENTRYPOINT), body.begin(), &inMsg, &outMsg)); } Array<NestConst<Parameter> >& paramArray = procedure->getOutputFields(); @@ -3055,7 +3048,7 @@ { MET_parse_routine_blr(tdbb, procedure, (P.RDB$PROCEDURE_BLR.NULL ? NULL : &P.RDB$PROCEDURE_BLR), csb, external, - inBlr, outBlr); + inMsg, outMsg); } catch (const Exception&) { @@ -4304,7 +4297,7 @@ // Generate BLR message for external procedures static bool gen_ext_message(thread_db* tdbb, CompilerScratch* csb, UCharBuffer& blr, UCHAR message, - UCHAR message2, const Array<NestConst<Parameter> >& parameters, const BlrMessage& extBlr, + UCHAR message2, const Array<NestConst<Parameter> >& parameters, const RoutineMessage& extMsg, UCharBuffer& appendBlr) { const size_t prevAppendBlrSize = appendBlr.getCount(); @@ -4315,9 +4308,9 @@ dsc shortDesc; shortDesc.makeShort(0); - if (extBlr.blr) + if (extMsg.blr.hasData()) { - BlrReader reader(extBlr.blr, extBlr.blrLength); + BlrReader reader(extMsg.blr.begin(), extMsg.blr.getCount()); reader.checkByte(blr_version5); reader.checkByte(blr_begin); @@ -4372,11 +4365,11 @@ reader.checkByte(blr_end); reader.checkByte(blr_eoc); - if (offset != extBlr.bufferLength) + if (offset != extMsg.bufferLength) { status_exception::raise( Arg::Gds(isc_ee_blr_mismatch_length) << - Arg::Num(extBlr.bufferLength) << + Arg::Num(extMsg.bufferLength) << Arg::Num(offset)); } } @@ -4458,8 +4451,8 @@ // Parse routine BLR. -void MET_parse_routine_blr(thread_db* tdbb, Routine* routine, bid* blob_id, - CompilerScratch* csb, bool external, const BlrMessage& extInBlr, const BlrMessage& extOutBlr) +void MET_parse_routine_blr(thread_db* tdbb, Routine* routine, bid* blob_id, CompilerScratch* csb, + bool external, const RoutineMessage& extInMsg, const RoutineMessage& extOutMsg) { SET_TDBB(tdbb); Jrd::Attachment* attachment = tdbb->getAttachment(); @@ -4477,9 +4470,9 @@ UCharBuffer appendBlr; bool genExtIn = gen_ext_message(tdbb, csb, tmp, e_extrout_input_message, - e_extrout_input_message2, routine->getInputFields(), extInBlr, appendBlr); + e_extrout_input_message2, routine->getInputFields(), extInMsg, appendBlr); bool genExtOut = gen_ext_message(tdbb, csb, tmp, e_extrout_output_message, - e_extrout_output_message2, routine->getOutputFields(), extOutBlr, appendBlr); + e_extrout_output_message2, routine->getOutputFields(), extOutMsg, appendBlr); dsc shortDesc; shortDesc.makeShort(0); Modified: firebird/trunk/src/jrd/met_proto.h =================================================================== --- firebird/trunk/src/jrd/met_proto.h 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/jrd/met_proto.h 2013-01-29 01:21:32 UTC (rev 57629) @@ -104,8 +104,8 @@ Jrd::DmlNode* MET_parse_blob(Jrd::thread_db*, Jrd::jrd_rel*, Jrd::bid*, Jrd::CompilerScratch**, Jrd::JrdStatement**, bool, bool); void MET_parse_routine_blr(Jrd::thread_db*, Jrd::Routine*, Jrd::bid*, Jrd::CompilerScratch*, - bool, const Firebird::BlrMessage& extInBlr, - const Firebird::BlrMessage& extOutBlr); + bool, const Jrd::RoutineMessage& extInMsg, + const Jrd::RoutineMessage& extOutMsg); void MET_parse_sys_trigger(Jrd::thread_db*, Jrd::jrd_rel*); void MET_post_existence(Jrd::thread_db*, Jrd::jrd_rel*); void MET_prepare(Jrd::thread_db*, Jrd::jrd_tra*, USHORT, const UCHAR*); Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/msgs/facilities2.sql 2013-01-29 01:21:32 UTC (rev 57629) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2012-09-20 12:25:00', 'JRD', 0, 727) +('2013-01-27 13:00:00', 'JRD', 0, 729) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2009-07-16 05:26:11', 'GFIX', 3, 121) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/msgs/messages2.sql 2013-01-29 01:21:32 UTC (rev 57629) @@ -834,6 +834,8 @@ ('no_providers', NULL, 'why.cpp', NULL, 0, 724, NULL, 'No providers loaded', NULL, NULL); ('null_spb', NULL, 'why.cpp', NULL, 0, 725, NULL, 'NULL data with non-zero SPB length', NULL, NULL); ('max_args_exceeded', NULL, 'ExprNodes.cpp', NULL, 0, 726, NULL, 'Maximum (@1) number of arguments exceeded for function @2', NULL, NULL) +('ee_blr_mismatch_names_count', NULL, 'ExtEngineManager.cpp', NULL, 0, 727, NULL, 'External BLR message mismatch: names count = @1, blr count = @2', NULL, NULL) +('ee_blr_mismatch_name_not_found', NULL, 'ExtEngineManager.cpp', NULL, 0, 728, NULL, 'External BLR message mismatch: name @1 not found', NULL, NULL) -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/msgs/system_errors2.sql 2013-01-29 01:21:32 UTC (rev 57629) @@ -733,6 +733,8 @@ (-902, '39', '000', 0, 724, 'no_providers', NULL, NULL) (-104, '42', '818', 0, 725, 'null_spb', NULL, NULL) (-833, '42', '000', 0, 726, 'max_args_exceeded', NULL, NULL) +(-901, '42', '000', 0, 727, 'ee_blr_mismatch_names_count', NULL, NULL) +(-901, '42', '000', 0, 728, 'ee_blr_mismatch_name_not_found', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) Modified: firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp =================================================================== --- firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-01-26 08:38:50 UTC (rev 57628) +++ firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-01-29 01:21:32 UTC (rev 57629) @@ -153,11 +153,11 @@ virtual void FB_CALL openAttachment(Error* error, ExternalContext* context); virtual void FB_CALL closeAttachment(Error* error, ExternalContext* context); virtual ExternalFunction* FB_CALL makeFunction(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr); + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg); virtual ExternalProcedure* FB_CALL makeProcedure(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr); + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg); virtual ExternalTrigger* FB_CALL makeTrigger(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata); + const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg); public: virtual void FB_CALL dispose(Error* error); @@ -207,7 +207,7 @@ { public: SharedFunction(Error* error, Engine* aEngine, ExternalContext* context, - const IRoutineMetadata* aMetadata, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* aMetadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -217,7 +217,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); FunctionNode* node = engine->findNode<FunctionNode>(registeredFunctions, moduleName, entryPoint); - node->factory->setup(error, context, metadata, inBlr, outBlr); + node->factory->setup(error, context, metadata, inMsg, outMsg); } virtual ~SharedFunction() @@ -275,7 +275,7 @@ { public: SharedProcedure(Error* error, Engine* aEngine, ExternalContext* context, - const IRoutineMetadata* aMetadata, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* aMetadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -285,7 +285,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); ProcedureNode* node = engine->findNode<ProcedureNode>(registeredProcedures, moduleName, entryPoint); - node->factory->setup(error, context, metadata, inBlr, outBlr); + node->factory->setup(error, context, metadata, inMsg, outMsg); } virtual ~SharedProcedure() @@ -351,7 +351,7 @@ { public: SharedTrigger(Error* error, Engine* aEngine, ExternalContext* context, - const IRoutineMetadata* aMetadata) + const IRoutineMetadata* aMetadata, ITriggerMessage* fieldsMsg) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -361,7 +361,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); TriggerNode* node = engine->findNode<TriggerNode>(registeredTriggers, moduleName, entryPoint); - node->factory->setup(error, context, metadata); + node->factory->setup(error, context, metadata, fieldsMsg); } virtual ~SharedTrigger() @@ -681,11 +681,11 @@ ExternalFunction* FB_CALL Engine::makeFunction(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) { try { - return new SharedFunction(error, this, context, metadata, inBlr, outBlr); + return new SharedFunction(error, this, context, metadata, inMsg, outMsg); } catch (const ThrowError::Exception& e) { @@ -696,11 +696,11 @@ ExternalProcedure* FB_CALL Engine::makeProcedure(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) + const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) { try { - return new SharedProcedure(error, this, context, metadata, inBlr, outBlr); + return new SharedProcedure(error, this, context, metadata, inMsg, outMsg); } catch (const ThrowError::Exception& e) { @@ -711,11 +711,11 @@ ExternalTrigger* FB_CALL Engine::makeTrigger(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata) + const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg) { try { - return new SharedTrigger(error, this, context, metadata); + return new SharedTrigger(error, this, context, metadata, fieldsMsg); } catch (const ThrowError::Exception& e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-01-29 05:33:54
|
Revision: 57630 http://sourceforge.net/p/firebird/code/57630 Author: firebirds Date: 2013-01-29 05:33:50 +0000 (Tue, 29 Jan 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-01-29 01:21:32 UTC (rev 57629) +++ firebird/trunk/ChangeLog 2013-01-29 05:33:50 UTC (rev 57630) @@ -1,3 +1,30 @@ + 2013-01-29 01:21 asfernandes + M examples/udr/UdrCppExample.cpp + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/ExprNodes.cpp + M src/include/firebird/ExternalEngine.h + M src/include/firebird/Message.h + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/jrd/Function.epp + M src/jrd/dfw.epp + M src/jrd/jrd.cpp + M src/jrd/met.epp + M src/jrd/met_proto.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/plugins/udr_engine/UdrEngine.cpp +Migrate external triggers to the new message-based style. + 2013-01-25 13:01 dimitr M src/jrd/extds/ExtDS.cpp M src/jrd/extds/ExtDS.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-29 01:21:32 UTC (rev 57629) +++ firebird/trunk/src/jrd/build_no.h 2013-01-29 05:33:50 UTC (rev 57630) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30202 + FORMAL BUILD NUMBER:30203 */ -#define PRODUCT_VER_STRING "3.0.0.30202" -#define FILE_VER_STRING "WI-T3.0.0.30202" -#define LICENSE_VER_STRING "WI-T3.0.0.30202" -#define FILE_VER_NUMBER 3, 0, 0, 30202 +#define PRODUCT_VER_STRING "3.0.0.30203" +#define FILE_VER_STRING "WI-T3.0.0.30203" +#define LICENSE_VER_STRING "WI-T3.0.0.30203" +#define FILE_VER_NUMBER 3, 0, 0, 30203 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30202" +#define FB_BUILD_NO "30203" #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-01-29 01:21:32 UTC (rev 57629) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-29 05:33:50 UTC (rev 57630) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30202 +BuildNum=30203 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-01-30 05:35:09
|
Revision: 57632 http://sourceforge.net/p/firebird/code/57632 Author: firebirds Date: 2013-01-30 05:35:07 +0000 (Wed, 30 Jan 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-01-29 15:09:34 UTC (rev 57631) +++ firebird/trunk/ChangeLog 2013-01-30 05:35:07 UTC (rev 57632) @@ -1,3 +1,9 @@ + 2013-01-29 15:09 dimitr + M src/dsql/BlrWriter.cpp + M src/jrd/DebugInterface.cpp + M src/jrd/DebugInterface.h +Fixed inconsistency in the debug info version. + 2013-01-29 01:21 asfernandes M examples/udr/UdrCppExample.cpp M lang_helpers/gds_codes.ftn Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-29 15:09:34 UTC (rev 57631) +++ firebird/trunk/src/jrd/build_no.h 2013-01-30 05:35:07 UTC (rev 57632) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30203 + FORMAL BUILD NUMBER:30204 */ -#define PRODUCT_VER_STRING "3.0.0.30203" -#define FILE_VER_STRING "WI-T3.0.0.30203" -#define LICENSE_VER_STRING "WI-T3.0.0.30203" -#define FILE_VER_NUMBER 3, 0, 0, 30203 +#define PRODUCT_VER_STRING "3.0.0.30204" +#define FILE_VER_STRING "WI-T3.0.0.30204" +#define LICENSE_VER_STRING "WI-T3.0.0.30204" +#define FILE_VER_NUMBER 3, 0, 0, 30204 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30203" +#define FB_BUILD_NO "30204" #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-01-29 15:09:34 UTC (rev 57631) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-30 05:35:07 UTC (rev 57632) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30203 +BuildNum=30204 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-01-31 05:37:31
|
Revision: 57635 http://sourceforge.net/p/firebird/code/57635 Author: firebirds Date: 2013-01-31 05:37:28 +0000 (Thu, 31 Jan 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-01-31 00:33:23 UTC (rev 57634) +++ firebird/trunk/ChangeLog 2013-01-31 05:37:28 UTC (rev 57635) @@ -1,3 +1,7 @@ + 2013-01-31 00:33 asfernandes + M src/common/cvt.cpp +Misc. + 2013-01-29 15:09 dimitr M src/dsql/BlrWriter.cpp M src/jrd/DebugInterface.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-01-31 00:33:23 UTC (rev 57634) +++ firebird/trunk/src/jrd/build_no.h 2013-01-31 05:37:28 UTC (rev 57635) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30204 + FORMAL BUILD NUMBER:30205 */ -#define PRODUCT_VER_STRING "3.0.0.30204" -#define FILE_VER_STRING "WI-T3.0.0.30204" -#define LICENSE_VER_STRING "WI-T3.0.0.30204" -#define FILE_VER_NUMBER 3, 0, 0, 30204 +#define PRODUCT_VER_STRING "3.0.0.30205" +#define FILE_VER_STRING "WI-T3.0.0.30205" +#define LICENSE_VER_STRING "WI-T3.0.0.30205" +#define FILE_VER_NUMBER 3, 0, 0, 30205 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30204" +#define FB_BUILD_NO "30205" #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-01-31 00:33:23 UTC (rev 57634) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-01-31 05:37:28 UTC (rev 57635) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30204 +BuildNum=30205 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-02-09 06:16:26
|
Revision: 57650 http://sourceforge.net/p/firebird/code/57650 Author: firebirds Date: 2013-02-09 06:16:23 +0000 (Sat, 09 Feb 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-02-09 05:47:19 UTC (rev 57649) +++ firebird/trunk/ChangeLog 2013-02-09 06:16:23 UTC (rev 57650) @@ -1,3 +1,25 @@ + 2013-02-08 01:50 asfernandes + M src/dsql/dsql.cpp +Misc. + + 2013-02-08 01:48 asfernandes + M src/dsql/dsql.cpp + M src/jrd/ExtEngineManager.cpp + M src/jrd/met.epp + M src/jrd/par.cpp + M src/jrd/par_proto.h +Parse BLR messages using BlrReader (and without duplicate code) to avoid segfaults with truncated or invalid data. + + 2013-02-08 01:48 asfernandes + M src/dsql/StmtNodes.cpp + M src/dsql/pass1.cpp + M src/dsql/pass1_proto.h +Misc. + + 2013-02-07 12:51 alexpeshkoff + M examples/empbuild/empdml.sql +Fixed employee build - avoid CHECK constraint errors + 2013-01-31 00:33 asfernandes M src/common/cvt.cpp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-02-09 05:47:19 UTC (rev 57649) +++ firebird/trunk/src/jrd/build_no.h 2013-02-09 06:16:23 UTC (rev 57650) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30205 + FORMAL BUILD NUMBER:30209 */ -#define PRODUCT_VER_STRING "3.0.0.30205" -#define FILE_VER_STRING "WI-T3.0.0.30205" -#define LICENSE_VER_STRING "WI-T3.0.0.30205" -#define FILE_VER_NUMBER 3, 0, 0, 30205 +#define PRODUCT_VER_STRING "3.0.0.30209" +#define FILE_VER_STRING "WI-T3.0.0.30209" +#define LICENSE_VER_STRING "WI-T3.0.0.30209" +#define FILE_VER_NUMBER 3, 0, 0, 30209 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30205" +#define FB_BUILD_NO "30209" #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-02-09 05:47:19 UTC (rev 57649) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-02-09 06:16:23 UTC (rev 57650) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30205 +BuildNum=30209 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-02-10 06:47:59
|
Revision: 57651 http://sourceforge.net/p/firebird/code/57651 Author: firebirds Date: 2013-02-10 06:47:56 +0000 (Sun, 10 Feb 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-02-09 06:16:23 UTC (rev 57650) +++ firebird/trunk/ChangeLog 2013-02-10 06:47:56 UTC (rev 57651) @@ -1,3 +1,11 @@ + 2013-02-09 05:47 dimitr + M src/common/classes/Aligner.h +Cleanup. + + 2013-02-09 01:51 asfernandes + M src/dsql/StmtNodes.cpp +Fix SELECT FOR UPDATE problem related to r57615 change. + 2013-02-08 01:50 asfernandes M src/dsql/dsql.cpp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-02-09 06:16:23 UTC (rev 57650) +++ firebird/trunk/src/jrd/build_no.h 2013-02-10 06:47:56 UTC (rev 57651) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30209 + FORMAL BUILD NUMBER:30211 */ -#define PRODUCT_VER_STRING "3.0.0.30209" -#define FILE_VER_STRING "WI-T3.0.0.30209" -#define LICENSE_VER_STRING "WI-T3.0.0.30209" -#define FILE_VER_NUMBER 3, 0, 0, 30209 +#define PRODUCT_VER_STRING "3.0.0.30211" +#define FILE_VER_STRING "WI-T3.0.0.30211" +#define LICENSE_VER_STRING "WI-T3.0.0.30211" +#define FILE_VER_NUMBER 3, 0, 0, 30211 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30209" +#define FB_BUILD_NO "30211" #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-02-09 06:16:23 UTC (rev 57650) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-02-10 06:47:56 UTC (rev 57651) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30209 +BuildNum=30211 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-02-12 06:57:57
|
Revision: 57656 http://sourceforge.net/p/firebird/code/57656 Author: firebirds Date: 2013-02-12 06:57:51 +0000 (Tue, 12 Feb 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-02-11 01:57:15 UTC (rev 57655) +++ firebird/trunk/ChangeLog 2013-02-12 06:57:51 UTC (rev 57656) @@ -1,3 +1,8 @@ + 2013-02-11 01:57 asfernandes + M src/dsql/ddl.cpp + M src/dsql/dsql.h +Misc. + 2013-02-09 05:47 dimitr M src/common/classes/Aligner.h Cleanup. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-02-11 01:57:15 UTC (rev 57655) +++ firebird/trunk/src/jrd/build_no.h 2013-02-12 06:57:51 UTC (rev 57656) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30211 + FORMAL BUILD NUMBER:30212 */ -#define PRODUCT_VER_STRING "3.0.0.30211" -#define FILE_VER_STRING "WI-T3.0.0.30211" -#define LICENSE_VER_STRING "WI-T3.0.0.30211" -#define FILE_VER_NUMBER 3, 0, 0, 30211 +#define PRODUCT_VER_STRING "3.0.0.30212" +#define FILE_VER_STRING "WI-T3.0.0.30212" +#define LICENSE_VER_STRING "WI-T3.0.0.30212" +#define FILE_VER_NUMBER 3, 0, 0, 30212 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30211" +#define FB_BUILD_NO "30212" #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-02-11 01:57:15 UTC (rev 57655) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-02-12 06:57:51 UTC (rev 57656) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30211 +BuildNum=30212 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-02-15 02:48:58
|
Revision: 57659 http://sourceforge.net/p/firebird/code/57659 Author: asfernandes Date: 2013-02-15 02:48:54 +0000 (Fri, 15 Feb 2013) Log Message: ----------- Unifying the external engines API with the new ones. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/FirebirdApi.h firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp firebird/trunk/src/yvalve/PluginManager.cpp Removed Paths: ------------- firebird/trunk/src/jrd/ErrorImpl.cpp firebird/trunk/src/jrd/ErrorImpl.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-02-15 02:48:54 UTC (rev 57659) @@ -589,10 +589,10 @@ isc_db_handle dbHandle = getIscDbHandle(context); ISC_ULONG counter = 0; - ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + StatusException::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); isc_event_counts(&counter, eveLen, eveBuffer, eveResult); - ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + StatusException::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); isc_event_counts(&counter, eveLen, eveBuffer, eveResult); @@ -616,13 +616,13 @@ FB_UDR_BEGIN_FUNCTION(sum_args) FB_UDR_EXECUTE_DYNAMIC_FUNCTION { - AutoDispose<IStatus> status(master->getStatus()); + ///AutoDispose<IStatus> status(master->getStatus()); const IParametersMetadata* params = metadata->getInputParameters(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); unsigned count = params->getCount(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); MessageImpl inMessage(count, in); @@ -859,13 +859,13 @@ FB_UDR_EXECUTE_DYNAMIC_TRIGGER { - AutoDispose<IStatus> status(master->getStatus()); + ///AutoDispose<IStatus> status(master->getStatus()); const IParametersMetadata* fields = metadata->getTriggerFields(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); unsigned fieldsCount = fields->getCount(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); MessageImpl message(fieldsCount, newFields); @@ -888,7 +888,7 @@ } } - ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + StatusException::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); } @@ -899,19 +899,19 @@ isc_tr_handle trHandle = getIscTrHandle(context); stmtHandle = 0; - ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &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 = ?", SQL_DIALECT_CURRENT, NULL), statusVector); - AutoDispose<IStatus> status(master->getStatus()); + ///AutoDispose<IStatus> status(master->getStatus()); const char* table = metadata->getTriggerTable(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); // Skip the first exclamation point, separating the module name and entry point. const char* info = strchr(metadata->getEntryPoint(status), '!'); - ThrowError::check(status->get()); + StatusException::check(status->get()); // Skip the second exclamation point, separating the entry point and the misc info (config). if (info) @@ -925,7 +925,7 @@ inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + StatusException::check(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); @@ -934,24 +934,24 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), + StatusException::check(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'; - ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); - ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); inSqlDa = NULL; const IParametersMetadata* fields = metadata->getTriggerFields(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); unsigned count = fields->getCount(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); char buffer[65536]; strcpy(buffer, "execute block (\n"); @@ -962,7 +962,7 @@ strcat(buffer, ",\n"); const char* name = fields->getField(status, i); - ThrowError::check(status->get()); + StatusException::check(status->get()); strcat(buffer, " p"); sprintf(buffer + strlen(buffer), "%d type of column \"%s\".\"%s\" = ?", i, table, name); @@ -983,7 +983,7 @@ strcat(buffer, ", "); const char* name = fields->getField(status, i); - ThrowError::check(status->get()); + StatusException::check(status->get()); strcat(buffer, "\""); strcat(buffer, name); @@ -1013,13 +1013,13 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, + StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, SQL_DIALECT_CURRENT, NULL), statusVector); inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = count; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); for (unsigned i = 0; i < count; ++i) @@ -1128,7 +1128,7 @@ isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); - ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + StatusException::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); } @@ -1139,19 +1139,19 @@ isc_tr_handle trHandle = getIscTrHandle(context); stmtHandle = 0; - ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &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 = ?", SQL_DIALECT_CURRENT, NULL), statusVector); - AutoDispose<IStatus> status(master->getStatus()); + ///AutoDispose<IStatus> status(master->getStatus()); const char* table = metadata->getTriggerTable(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); // Skip the first exclamation point, separating the module name and entry point. const char* info = strchr(metadata->getEntryPoint(status), '!'); - ThrowError::check(status->get()); + StatusException::check(status->get()); // Skip the second exclamation point, separating the entry point and the misc info (config). if (info) @@ -1165,7 +1165,7 @@ inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + StatusException::check(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); @@ -1174,24 +1174,24 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), + StatusException::check(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'; - ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); - ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); inSqlDa = NULL; const IParametersMetadata* fields = metadata->getTriggerFields(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); unsigned count = fields->getCount(status); - ThrowError::check(status->get()); + StatusException::check(status->get()); char buffer[65536]; strcpy(buffer, @@ -1209,13 +1209,13 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, + StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, SQL_DIALECT_CURRENT, NULL), statusVector); inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(4))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 4; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); for (unsigned i = 0; i < 4; ++i) Modified: firebird/trunk/src/include/FirebirdApi.h =================================================================== --- firebird/trunk/src/include/FirebirdApi.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/include/FirebirdApi.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -61,20 +61,12 @@ #endif -class Error -{ -public: - virtual bool FB_CALL addCode(int32 code) = 0; - virtual bool FB_CALL addString(const char* str, uint strLength) = 0; -}; - - // Interface used in cases which an instance is created by one layer and released by another one. class Disposable { public: // Disposes the object. - virtual void FB_CALL dispose(Error* error) = 0; + virtual void FB_CALL dispose() = 0; }; Modified: firebird/trunk/src/include/firebird/ExternalEngine.h =================================================================== --- firebird/trunk/src/include/firebird/ExternalEngine.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/include/firebird/ExternalEngine.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -64,15 +64,18 @@ class ExternalContext { public: + // Gets the IMaster associated with this context. + virtual IMaster* FB_CALL getMaster() = 0; + // Gets the ExternalEngine associated with this context. - virtual ExternalEngine* FB_CALL getEngine(Error* error) = 0; + virtual ExternalEngine* FB_CALL getEngine(IStatus* status) = 0; // Gets the Attachment associated with this context. - virtual IAttachment* FB_CALL getAttachment(Error* error) = 0; + virtual IAttachment* FB_CALL getAttachment(IStatus* status) = 0; // Obtained transaction is valid only before control is returned to the engine // or in ExternalResultSet::fetch calls of correspondent ExternalProcedure::open. - virtual ITransaction* FB_CALL getTransaction(Error* error) = 0; + virtual ITransaction* FB_CALL getTransaction(IStatus* status) = 0; virtual const char* FB_CALL getUserName() = 0; virtual const char* FB_CALL getDatabaseName() = 0; @@ -95,7 +98,7 @@ class ExternalResultSet : public Disposable { public: - virtual bool FB_CALL fetch(Error* error) = 0; + virtual bool FB_CALL fetch(IStatus* status) = 0; }; @@ -105,10 +108,10 @@ // This method is called just before execute and informs the engine our requested character // set for data exchange inside that method. // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) = 0; - virtual void FB_CALL execute(Error* error, ExternalContext* context, + virtual void FB_CALL execute(IStatus* status, ExternalContext* context, void* inMsg, void* outMsg) = 0; }; @@ -119,13 +122,13 @@ // This method is called just before open and informs the engine our requested character // set for data exchange inside that method and ExternalResultSet::fetch. // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) = 0; // Returns a ExternalResultSet for selectable procedures. // Returning NULL results in a result set of one record. // Procedures without output parameters should return NULL. - virtual ExternalResultSet* FB_CALL open(Error* error, ExternalContext* context, + virtual ExternalResultSet* FB_CALL open(IStatus* status, ExternalContext* context, void* inMsg, void* outMsg) = 0; }; @@ -157,10 +160,10 @@ // This method is called just before execute and informs the engine our requested character // set for data exchange inside that method. // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) = 0; - virtual void FB_CALL execute(Error* error, ExternalContext* context, + virtual void FB_CALL execute(IStatus* status, ExternalContext* context, Action action, void* oldMsg, void* newMsg) = 0; }; @@ -190,22 +193,22 @@ // The requested character set for data exchange inside methods of this interface should // be copied to charSet parameter. // During this call, the context uses the UTF-8 character set. - virtual void FB_CALL open(Error* error, ExternalContext* context, + virtual void FB_CALL open(IStatus* status, ExternalContext* context, Utf8* charSet, uint charSetSize) = 0; // Attachment is being opened. - virtual void FB_CALL openAttachment(Error* error, ExternalContext* context) = 0; + virtual void FB_CALL openAttachment(IStatus* status, ExternalContext* context) = 0; // Attachment is being closed. - virtual void FB_CALL closeAttachment(Error* error, ExternalContext* context) = 0; + virtual void FB_CALL closeAttachment(IStatus* status, ExternalContext* context) = 0; // Called when engine wants to load object in the cache. Objects are disposed when // going out of the cache. - virtual ExternalFunction* FB_CALL makeFunction(Error* error, ExternalContext* context, + virtual ExternalFunction* FB_CALL makeFunction(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) = 0; - virtual ExternalProcedure* FB_CALL makeProcedure(Error* error, ExternalContext* context, + virtual ExternalProcedure* FB_CALL makeProcedure(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) = 0; - virtual ExternalTrigger* FB_CALL makeTrigger(Error* error, ExternalContext* context, + virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, ITriggerMessage* triggerMsg) = 0; }; #define FB_EXTERNAL_ENGINE_VERSION (FB_PLUGIN_VERSION + 6) Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -53,7 +53,7 @@ class FB_UDR_FUNCTION(name) : public ::Firebird::Udr::Function<FB_UDR_FUNCTION(name)> \ { \ public: \ - void initialize(::Firebird::Error* error, void*) \ + void initialize(::Firebird::IStatus* /*status*/, void*) \ { \ } @@ -85,17 +85,17 @@ FB_UDR_EXECUTE__FUNCTION #define FB_UDR_EXECUTE__FUNCTION \ - virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + virtual void FB_CALL execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ void* in, void* out) \ { \ try \ { \ - internalExecute(error, context, (InMessage*) in, (OutMessage*) out); \ + internalExecute(status, context, (InMessage*) in, (OutMessage*) out); \ } \ FB_UDR__CATCH \ } \ \ - void internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ InMessage* in, OutMessage* out) @@ -109,7 +109,7 @@ public: \ typedef FB_UDR_PROCEDURE(name) This; \ \ - void initialize(::Firebird::Error* error, void*) \ + void initialize(::Firebird::IStatus* /*status*/, void*) \ { \ } @@ -150,12 +150,12 @@ FB_UDR_EXECUTE__PROCEDURE #define FB_UDR_EXECUTE__PROCEDURE \ - virtual ::Firebird::ExternalResultSet* FB_CALL open(::Firebird::Error* error, \ + virtual ::Firebird::ExternalResultSet* FB_CALL open(::Firebird::IStatus* status, \ ::Firebird::ExternalContext* context, void* in, void* out) \ { \ try \ { \ - return new ResultSet(error, context, this, (InMessage*) in, (OutMessage*) out); \ + return new ResultSet(status, context, this, (InMessage*) in, (OutMessage*) out); \ } \ FB_UDR__CATCH \ \ @@ -165,24 +165,24 @@ class ResultSet : public ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage> \ { \ public: \ - ResultSet(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + ResultSet(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ This* const procedure, InMessage* const in, OutMessage* const out) \ : ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage>( \ context, procedure, in, out) #define FB_UDR_FETCH_PROCEDURE \ - virtual bool FB_CALL fetch(::Firebird::Error* error) \ + virtual bool FB_CALL fetch(::Firebird::IStatus* status) \ { \ try \ { \ - return internalFetch(error); \ + return internalFetch(status); \ } \ FB_UDR__CATCH \ \ return 0; \ } \ \ - bool internalFetch(::Firebird::Error* error) + bool internalFetch(::Firebird::IStatus* status) #define FB_UDR_BEGIN_TRIGGER(name) \ @@ -194,7 +194,7 @@ { \ public: \ \ - void initialize(::Firebird::Error* error, void*) \ + void initialize(::Firebird::IStatus* /*status*/, void*) \ { \ } @@ -214,162 +214,54 @@ FB_UDR_EXECUTE__TRIGGER #define FB_UDR_EXECUTE__TRIGGER \ - virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + virtual void FB_CALL execute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ ::Firebird::ExternalTrigger::Action action, void* oldFields, void* newFields) \ { \ try \ { \ - internalExecute(error, context, action, (FieldsMessage*) oldFields, (FieldsMessage*) newFields); \ + internalExecute(status, context, action, (FieldsMessage*) oldFields, (FieldsMessage*) newFields); \ } \ FB_UDR__CATCH \ } \ \ - void internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ ::Firebird::ExternalTrigger::Action action, FieldsMessage* oldFields, FieldsMessage* newFields) #define FB_UDR_INITIALIZE \ - void initialize(::Firebird::Error* error, ExternalContext* context) \ + void initialize(::Firebird::IStatus* status, ExternalContext* context) \ { \ try \ { \ - internalInitialize(error, context); \ + internalInitialize(status, context); \ } \ FB_UDR__CATCH \ } \ \ - void internalInitialize(::Firebird::Error* error, ::Firebird::ExternalContext* context) + void internalInitialize(::Firebird::IStatus* status, ::Firebird::ExternalContext* context) #define FB_UDR__CATCH \ - catch (const ::Firebird::Udr::ThrowError::Exception& e) \ + catch (const ::Firebird::Udr::StatusException& e) \ { \ - e.stuff(error); \ + e.stuff(status); \ } \ catch (...) \ { \ - const char exceptionText[] = "Unrecognized C++ exception"; \ - \ - error->addCode(isc_arg_gds); \ - error->addCode(isc_random); \ - error->addString(exceptionText, sizeof(exceptionText) - 1); \ + ISC_STATUS statusVector[] = { \ + isc_arg_gds, isc_random, isc_arg_string, (ISC_STATUS) "Unrecognized C++ exception", \ + isc_arg_end}; \ + status->set(statusVector); \ } -class ThrowError : public Error +class StatusException { -private: - struct Info - { - Info() - : next(FB_NULL), - str(FB_NULL) - { - } - - ~Info() - { - if (str) - delete [] str; - } - - static void free(Info* info) - { - while (info) - { - Info* p = info; - info = info->next; - delete p; - } - } - - enum { TYPE_CODE, TYPE_STR } type; - - Info* next; - int32 code; - char* str; - int strLength; - }; - public: - class Exception + StatusException(const ISC_STATUS* vector) { - public: - explicit Exception(Info* aInfo) - : info(aInfo) - { - } + ISC_STATUS* p = statusVector; - Exception(const Exception& e) - : info(FB_NULL) - { - Info* end = FB_NULL; - - for (const Info* p = e.info; p; p = p->next) - { - Info* newInfo = new Info; - newInfo->type = p->type; - newInfo->code = p->code; - - if (p->str) - { - newInfo->str = new char[p->strLength]; - memcpy(newInfo->str, p->str, p->strLength); - newInfo->strLength = p->strLength; - } - - if (end) - end->next = newInfo; - - end = newInfo; - - if (!info) - info = newInfo; - } - } - - ~Exception() - { - Info::free(info); - } - - public: - void stuff(Error* error) const - { - for (const Info* p = info; p; p = p->next) - { - if (p->type == Info::TYPE_CODE) - error->addCode(p->code); - else if (p->type == Info::TYPE_STR) - error->addString(p->str, p->strLength); - } - } - - private: - Info* info; - }; - -public: - ThrowError() - : start(FB_NULL), - end(FB_NULL) - { - } - - virtual ~ThrowError() - { - raise(); - Info::free(start); - } - -public: - static void check(ISC_STATUS status, const ISC_STATUS* vector) - { - if (status == 0) - return; - - ThrowError error; - while (*vector != isc_arg_end) { switch (*vector) @@ -381,84 +273,122 @@ case isc_arg_vms: case isc_arg_unix: case isc_arg_win32: - error.addCode(*vector++); - error.addCode(*vector++); + *p++ = *vector++; + *p++ = *vector++; break; case isc_arg_string: - error.addString((const char*) vector[1], strlen((const char*) vector[1])); - vector += 2; + *p++ = *vector++; + *p++ = *vector++; break; case isc_arg_cstring: - error.addString((const char*) vector[2], vector[1]); - vector += 3; + *p++ = *vector++; + *p++ = *vector++; + *p++ = *vector++; break; default: return; } } + + *p = isc_arg_end; } +public: static void check(const ISC_STATUS* vector) { - check(vector[1], vector); + if (vector[1]) + throw StatusException(vector); } -public: - inline operator Firebird::Error* () + static void check(ISC_STATUS status, const ISC_STATUS* vector) { - return this; + if (status == 0) + return; + + check(vector); } public: - virtual bool FB_CALL addCode(Firebird::int32 code) + const ISC_STATUS* getStatusVector() const { - Info* info = new Info; - info->type = Info::TYPE_CODE; - info->code = code; + return statusVector; + } - if (end) - end->next = info; + void stuff(IStatus* status) const + { + status->set(statusVector); + } - end = info; +private: + ISC_STATUS_ARRAY statusVector; +}; - if (!start) - start = info; +class StatusImpl : public IStatus +{ +public: + StatusImpl(IMaster* master) + : delegate(master->getStatus()), + success(true) + { + } - return true; + virtual int FB_CARG getVersion() + { + return FB_STATUS_VERSION; } - virtual bool FB_CALL addString(const char* str, uint strLength) + virtual IPluginModule* FB_CARG getModule() { - Info* info = new Info; - info->type = Info::TYPE_STR; - info->str = new char[strLength]; - memcpy(info->str, str, strLength); - info->strLength = strLength; + return NULL; + } - if (end) - end->next = info; + virtual void FB_CARG dispose() + { + delegate->dispose(); + delete this; + } - end = info; + virtual void FB_CARG set(unsigned int length, const ISC_STATUS* value) + { + delegate->set(length, value); + success = delegate->isSuccess(); + } - if (!start) - start = info; + virtual void FB_CARG set(const ISC_STATUS* value) + { + delegate->set(value); + success = delegate->isSuccess(); + } - return true; + virtual void FB_CARG init() + { + delegate->init(); + success = true; } -private: - void raise() + virtual const ISC_STATUS* FB_CARG get() const { - if (start) - throw Exception(start); + return delegate->get(); } -protected: - Info* start; - Info* end; + virtual int FB_CARG isSuccess() const + { + return success; + } + +public: + void check() + { + if (!success) + StatusException::check(delegate->get()); + } + +private: + IStatus* delegate; + bool success; }; @@ -470,19 +400,33 @@ public: static isc_db_handle getIscDbHandle(ExternalContext* context) { - ISC_STATUS_ARRAY status = {0}; + StatusImpl status(context->getMaster()); + + IAttachment* attachment = context->getAttachment(&status); + status.check(); + + ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle handle = 0; - fb_get_database_handle(status, &handle, context->getAttachment(ThrowError())); - ThrowError::check(status); + + fb_get_database_handle(statusVector, &handle, attachment); + StatusException::check(statusVector); + return handle; } static isc_tr_handle getIscTrHandle(ExternalContext* context) { - ISC_STATUS_ARRAY status = {0}; + StatusImpl status(context->getMaster()); + + ITransaction* transaction = context->getTransaction(&status); + status.check(); + + ISC_STATUS_ARRAY statusVector = {0}; isc_tr_handle handle = 0; - fb_get_transaction_handle(status, &handle, context->getTransaction(ThrowError())); - ThrowError::check(status); + + fb_get_transaction_handle(statusVector, &handle, transaction); + StatusException::check(statusVector); + return handle; } }; @@ -492,7 +436,7 @@ class ResultSet : public ExternalResultSet, public Helper { public: - ResultSet(Firebird::ExternalContext* aContext, Procedure* aProcedure, + ResultSet(ExternalContext* aContext, Procedure* aProcedure, InMessage* aIn, OutMessage* aOut) : context(aContext), procedure(aProcedure), @@ -502,13 +446,13 @@ } public: - virtual void FB_CALL dispose(Firebird::Error* /*error*/) + virtual void FB_CALL dispose() { delete static_cast<This*>(this); } protected: - Firebird::ExternalContext* const context; + ExternalContext* const context; Procedure* const procedure; InMessage* const in; OutMessage* const out; @@ -531,12 +475,12 @@ class Function : public ExternalFunction, public Helper { public: - virtual void FB_CALL dispose(Error* /*error*/) + virtual void FB_CALL dispose() { delete static_cast<This*>(this); } - virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + virtual void FB_CALL getCharSet(IStatus* /*status*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) { } @@ -562,12 +506,12 @@ class Procedure : public ExternalProcedure, public Helper { public: - virtual void FB_CALL dispose(Error* /*error*/) + virtual void FB_CALL dispose() { delete static_cast<This*>(this); } - virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + virtual void FB_CALL getCharSet(IStatus* /*status*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) { } @@ -593,12 +537,12 @@ class Trigger : public ExternalTrigger, public Helper { public: - virtual void FB_CALL dispose(Error* /*error*/) + virtual void FB_CALL dispose() { delete static_cast<This*>(this); } - virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + virtual void FB_CALL getCharSet(IStatus* /*status*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) { } @@ -628,18 +572,18 @@ fbUdrRegFunction(name, this); } - virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + virtual void setup(IStatus* /*status*/, ExternalContext* /*context*/, const IRoutineMetadata* /*metadata*/, IRoutineMessage* in, IRoutineMessage* out) { setBlr(in, (typename T::InMessage*) 0); setBlr(out, (typename T::OutMessage*) 0); } - virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalFunction* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { T* obj = new(metadata) Routine<T>; - obj->initialize(error, context); + obj->initialize(status, context); return obj; } @@ -665,18 +609,18 @@ fbUdrRegProcedure(name, this); } - virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + virtual void setup(IStatus* /*status*/, ExternalContext* /*context*/, const IRoutineMetadata* /*metadata*/, IRoutineMessage* in, IRoutineMessage* out) { setBlr(in, (typename T::InMessage*) 0); setBlr(out, (typename T::OutMessage*) 0); } - virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalProcedure* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { T* obj = new(metadata) Routine<T>; - obj->initialize(error, context); + obj->initialize(status, context); return obj; } @@ -702,17 +646,17 @@ fbUdrRegTrigger(name, this); } - virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + virtual void setup(IStatus* /*status*/, ExternalContext* /*context*/, const IRoutineMetadata* /*metadata*/, ITriggerMessage* fields) { setBlr(fields, (typename T::FieldsMessage*) 0); } - virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalTrigger* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { T* obj = new(metadata) Routine<T>; - obj->initialize(error, context); + obj->initialize(status, context); return obj; } Modified: firebird/trunk/src/include/firebird/UdrEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrEngine.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/include/firebird/UdrEngine.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -39,27 +39,27 @@ class FunctionFactory { public: - virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + virtual void setup(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* in, IRoutineMessage* out) = 0; - virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalFunction* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; class ProcedureFactory { public: - virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + virtual void setup(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* in, IRoutineMessage* out) = 0; - virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalProcedure* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; class TriggerFactory { public: - virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + virtual void setup(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, ITriggerMessage* fields) = 0; - virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, + virtual ExternalTrigger* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; Deleted: firebird/trunk/src/jrd/ErrorImpl.cpp =================================================================== --- firebird/trunk/src/jrd/ErrorImpl.cpp 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/jrd/ErrorImpl.cpp 2013-02-15 02:48:54 UTC (rev 57659) @@ -1,167 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project, based on previous work done - * by Eugeney Putilin <evgeneyputilin at mail.ru>, - * Vlad Khorsun <hvlad at users.sourceforge.net> and - * Roman Rokytskyy <roman at rokytskyy.de>. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - * Eugeney Putilin <evgeneyputilin at mail.ru> - * Vlad Khorsun <hvlad at users.sourceforge.net> - * Roman Rokytskyy <roman at rokytskyy.de> - */ - -#include "firebird.h" -#include "../jrd/ErrorImpl.h" -#include "../jrd/err_proto.h" -#include "../common/classes/alloc.h" - -using namespace Firebird; -using Firebird::uint; - -namespace Jrd { - - -ErrorImpl::~ErrorImpl() -{ - for (ISC_STATUS* p = status; p <= next; p++) - { - if (*p == isc_arg_cstring) - { - ++p; - char* s = (char*) (*++p); - delete[] s; - } - } -} - - -void ErrorImpl::statusVectorToError(const ISC_STATUS* vector, Error* error) -{ - while (*vector != isc_arg_end) - { - switch (*vector) - { - case isc_arg_warning: - case isc_arg_gds: - case isc_arg_number: - case isc_arg_interpreted: - case isc_arg_vms: - case isc_arg_unix: - case isc_arg_win32: - error->addCode(*vector++); - error->addCode(*vector++); - break; - - case isc_arg_string: - error->addString((const char*) vector[1], strlen((const char*) vector[1])); - vector += 2; - break; - - case isc_arg_cstring: - error->addString((const char*) vector[2], vector[1]); - vector += 3; - break; - - default: - fb_assert(false); - return; - } - } -} - - -void ErrorImpl::exceptionToError(const Firebird::Exception& ex, Error* error) -{ - ISC_STATUS_ARRAY statusVector; - ex.stuff_exception(statusVector); - statusVectorToError(statusVector, error); -} - - -bool FB_CALL ErrorImpl::addCode(int32 code) -{ - if (next - status >= ISC_STATUS_LENGTH - 1) - return false; - - *next++ = code; - *next = isc_arg_end; - - return true; -} - - -bool FB_CALL ErrorImpl::addString(const char* str, uint strLength) -{ - //// TODO: transliteration - - if (next - status < ISC_STATUS_LENGTH - 3) - { - *next++ = isc_arg_cstring; - - MemoryPool* pool = getDefaultMemoryPool(); - char* s = FB_NEW(*pool) char[strLength + 1]; - - memcpy(s, str, strLength); - s[strLength] = 0; - - *next++ = (ISC_STATUS) strLength; - *next++ = (ISC_STATUS)(IPTR) s; - *next = isc_arg_end; - } - - return true; -} - - -//--------------------- - - -RaiseError::~RaiseError() -{ - if (next == status) - return; - - Arg::StatusVector newStatusVector; - - if (*status != isc_arg_gds) - newStatusVector << Arg::Gds(isc_random); - - newStatusVector.append(Arg::StatusVector(status)); - - Firebird::status_exception::raise(newStatusVector); -} - - -//--------------------- - - -LogError::~LogError() -{ - if (next == status) - return; - - char msg[1024]; - const ISC_STATUS* p = status; - - if (fb_interpret(msg, sizeof(msg), &p) != 0) - gds__log("%s", msg); -} - - -} // namespace Jrd Deleted: firebird/trunk/src/jrd/ErrorImpl.h =================================================================== --- firebird/trunk/src/jrd/ErrorImpl.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/jrd/ErrorImpl.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -1,120 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project, based on previous work done - * by Eugeney Putilin <evgeneyputilin at mail.ru>, - * Vlad Khorsun <hvlad at users.sourceforge.net> and - * Roman Rokytskyy <roman at rokytskyy.de>. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - * Eugeney Putilin <evgeneyputilin at mail.ru> - * Vlad Khorsun <hvlad at users.sourceforge.net> - * Roman Rokytskyy <roman at rokytskyy.de> - */ - -#ifndef JRD_ERROR_IMPL_H -#define JRD_ERROR_IMPL_H - -#include "FirebirdApi.h" -#include "firebird/ExternalEngine.h" -#include "iberror.h" - -namespace Jrd { - - -class ErrorImpl : public Firebird::Error -{ -public: - inline ErrorImpl() - : next(status) - { - *next = isc_arg_end; - } - - virtual ~ErrorImpl(); - - static void statusVectorToError(const ISC_STATUS* vector, Error* error); - static void exceptionToError(const Firebird::Exception& ex, Error* error); - - bool errorOccurred() const - { - return next != status; - } - - inline operator Error* () - { - return this; - } - - virtual bool FB_CALL addCode(Firebird::int32 code); - virtual bool FB_CALL addString(const char* str, Firebird::uint strLength); - -protected: - ISC_STATUS_ARRAY status; - ISC_STATUS* next; -}; - - -class RaiseError : public ErrorImpl -{ -public: - virtual ~RaiseError(); -}; - - -class LogError : public ErrorImpl -{ -public: - virtual ~LogError(); -}; - - -class DelegateError : public Firebird::Error -{ -public: - explicit DelegateError(Firebird::Error* aError) - : error(aError), - raised(false) - { - } - - virtual bool FB_CALL addCode(Firebird::int32 code) - { - raised = true; - return error->addCode(code); - } - - virtual bool FB_CALL addString(const char* str, Firebird::uint strLength) - { - raised = true; - return error->addString(str, strLength); - } - - bool isRaised() const - { - return raised; - } - -private: - Firebird::Error* error; - bool raised; -}; - - -} // namespace Jrd - -#endif // JRD_ERROR_IMPL_H Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-02-15 02:48:54 UTC (rev 57659) @@ -25,7 +25,6 @@ #include "iberror.h" #include "inf_pub.h" #include "../jrd/ExtEngineManager.h" -#include "../jrd/ErrorImpl.h" #include "../dsql/sqlda_pub.h" #include "../common/dsc.h" #include "../jrd/align.h" @@ -140,7 +139,9 @@ { // scope Attachment::Checkout attCout(attachment, FB_FUNCTION); - obj->getCharSet(RaiseError(), attInfo->context, charSetName, MAX_SQL_IDENTIFIER_LEN); + LocalStatus status; + obj->getCharSet(&status, attInfo->context, charSetName, MAX_SQL_IDENTIFIER_LEN); + status.check(); charSetName[MAX_SQL_IDENTIFIER_LEN] = '\0'; } @@ -235,17 +236,23 @@ } } -ExternalEngine* ExtEngineManager::ExternalContextImpl::getEngine(Error* /*error*/) +IMaster* ExtEngineManager::ExternalContextImpl::getMaster() { + MasterInterfacePtr master; + return master; +} + +ExternalEngine* ExtEngineManager::ExternalContextImpl::getEngine(IStatus* /*status*/) +{ return engine; } -Firebird::IAttachment* FB_CALL ExtEngineManager::ExternalContextImpl::getAttachment(Error* /*error*/) +Firebird::IAttachment* FB_CALL ExtEngineManager::ExternalContextImpl::getAttachment(IStatus* /*status*/) { return externalAttachment; } -Firebird::ITransaction* FB_CALL ExtEngineManager::ExternalContextImpl::getTransaction(Error* /*error*/) +Firebird::ITransaction* FB_CALL ExtEngineManager::ExternalContextImpl::getTransaction(IStatus* /*status*/) { return externalTransaction; } @@ -305,7 +312,7 @@ ExtEngineManager::Function::~Function() { //Database::Checkout dcoHolder(database); - function->dispose(LogError()); + function->dispose(); } @@ -319,7 +326,9 @@ Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - function->execute(RaiseError(), attInfo->context, inMsg, outMsg); + LocalStatus status; + function->execute(&status, attInfo->context, inMsg, outMsg); + status.check(); } @@ -342,7 +351,7 @@ ExtEngineManager::Procedure::~Procedure() { //Database::Checkout dcoHolder(database); - procedure->dispose(LogError()); + procedure->dispose(); } @@ -372,7 +381,9 @@ Attachment::Checkout attCout(attachment, FB_FUNCTION); - resultSet = procedure->procedure->open(RaiseError(), attInfo->context, inMsg, outMsg); + LocalStatus status; + resultSet = procedure->procedure->open(&status, attInfo->context, inMsg, outMsg); + status.check(); } @@ -382,7 +393,7 @@ { fb_assert(attachment == JRD_get_thread_data()->getAttachment()); Attachment::Checkout attCout(attachment, FB_FUNCTION); - resultSet->dispose(LogError()); + resultSet->dispose(); } } @@ -402,7 +413,12 @@ fb_assert(attachment == tdbb->getAttachment()); Attachment::Checkout attCout(attachment, FB_FUNCTION); - return resultSet->fetch(RaiseError()); + + LocalStatus status; + bool ret = resultSet->fetch(&status); + status.check(); + + return ret; } @@ -572,8 +588,10 @@ { // scope Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - trigger->execute(RaiseError(), attInfo->context, action, + LocalStatus status; + trigger->execute(&status, attInfo->context, action, (oldRpb ? oldMsg.begin() : NULL), (newRpb ? newMsg.begin() : NULL)); + status.check(); } if (newRpb) @@ -700,7 +718,8 @@ { { // scope ContextManager<ExternalFunction> ctxManager(tdbb, attInfo, attInfo->adminCharSet); - engine->closeAttachment(LogError(), attInfo->context); + LocalStatus status; + engine->closeAttachment(&status, attInfo->context); //// FIXME: log status } delete attInfo; @@ -769,14 +788,15 @@ { // scope Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalFunction = attInfo->engine->makeFunction(RaiseError(), attInfo->context, metadata, + LocalStatus status; + externalFunction = attInfo->engine->makeFunction(&status, attInfo->context, metadata, inMsg, outMsg); + status.check(); if (!externalFunction) { status_exception::raise( - Arg::Gds(isc_eem_func_not_returned) << - udf->getName().toString() << engine); + Arg::Gds(isc_eem_func_not_returned) << udf->getName().toString() << engine); } } @@ -788,7 +808,7 @@ catch (...) { Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalFunction->dispose(LogError()); + externalFunction->dispose(); throw; } } @@ -848,8 +868,10 @@ { // scope Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalProcedure = attInfo->engine->makeProcedure(RaiseError(), attInfo->context, metadata, + LocalStatus status; + externalProcedure = attInfo->engine->makeProcedure(&status, attInfo->context, metadata, inMsg, outMsg); + status.check(); if (!externalProcedure) { @@ -867,7 +889,7 @@ catch (...) { Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalProcedure->dispose(LogError()); + externalProcedure->dispose(); throw; } } @@ -927,8 +949,10 @@ { // scope Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalTrigger = attInfo->engine->makeTrigger(RaiseError(), attInfo->context, metadata, + LocalStatus status; + externalTrigger = attInfo->engine->makeTrigger(&status, attInfo->context, metadata, &fieldsMsg); + status.check(); if (!externalTrigger) { @@ -945,7 +969,7 @@ catch (...) { Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - externalTrigger->dispose(LogError()); + externalTrigger->dispose(); throw; } } @@ -988,7 +1012,8 @@ setupAdminCharSet(tdbb, engine, attInfo); ContextManager<ExternalFunction> ctxManager(tdbb, attInfo, attInfo->adminCharSet); - engine->openAttachment(LogError(), attInfo->context); + LocalStatus status; + engine->openAttachment(&status, attInfo->context); //// FIXME: log status } } catch (...) @@ -1054,7 +1079,8 @@ ContextManager<ExternalFunction> ctxManager(tdbb, attInfo, attInfo->adminCharSet); Attachment::Checkout attCout(tdbb->getAttachment(), FB_FUNCTION); - engine->openAttachment(LogError(), attInfo->context); + LocalStatus status; + engine->openAttachment(&status, attInfo->context); //// FIXME: log status } return attInfo; @@ -1077,8 +1103,11 @@ ContextManager<ExternalFunction> ctxManager(tdbb, attInfo, CS_UTF8); Utf8 charSetName[MAX_SQL_IDENTIFIER_SIZE] = "NONE"; - engine->open(RaiseError(), attInfo->context, charSetName, - MAX_SQL_IDENTIFIER_LEN); + + LocalStatus status; + engine->open(&status, attInfo->context, charSetName, MAX_SQL_IDENTIFIER_LEN); + status.check(); + charSetName[MAX_SQL_IDENTIFIER_LEN] = '\0'; if (!MET_get_char_coll_subtype(tdbb, &attInfo->adminCharSet, Modified: firebird/trunk/src/jrd/ExtEngineManager.h =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.h 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/jrd/ExtEngineManager.h 2013-02-15 02:48:54 UTC (rev 57659) @@ -198,9 +198,10 @@ void releaseTransaction(); void setTransaction(thread_db* tdbb); - virtual Firebird::ExternalEngine* FB_CALL getEngine(Firebird::Error* error); - virtual Firebird::IAttachment* FB_CALL getAttachment(Firebird::Error* error); - virtual Firebird::ITransaction* FB_CALL getTransaction(Firebird::Error* error); + virtual Firebird::IMaster* FB_CALL getMaster(); + virtual Firebird::ExternalEngine* FB_CALL getEngine(Firebird::IStatus* status); + virtual Firebird::IAttachment* FB_CALL getAttachment(Firebird::IStatus* status); + virtual Firebird::ITransaction* FB_CALL getTransaction(Firebird::IStatus* status); virtual const char* FB_CALL getUserName(); virtual const char* FB_CALL getDatabaseName(); virtual const Firebird::Utf8* FB_CALL getClientCharSet(); Modified: firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp =================================================================== --- firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-02-15 01:21:40 UTC (rev 57658) +++ firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-02-15 02:48:54 UTC (rev 57659) @@ -134,7 +134,7 @@ public: void loadModule(const IRoutineMetadata* metadata, PathName* moduleName, string* entryPoint); template <typename NodeType, typename ObjType, typename SharedObjType> ObjType* getChild( - Error* error, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, + IStatus* status, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, SharedObjType* sharedObj, ExternalContext* context, NodeType* nodes, SortedArray<SharedObjType*>& sharedObjs, const PathName& moduleName); template <typename ObjType> void deleteChildren( @@ -144,23 +144,23 @@ const string& entryPoint); private: - template <typename T, typename T2> T2* getNode(Error* error, T* nodes, + template <typename T, typename T2> T2* getNode(IStatus* status, T* nodes, const PathName& moduleName, ExternalContext* context, const IRoutineMetadata* metadata, const string& entryPoint); public: - virtual void FB_CALL open(Error* error, ExternalContext* context, Utf8* name, uint nameSize); - virtual void FB_CALL openAttachment(Error* error, ExternalContext* context); - virtual void FB_CALL closeAttachment(Error* error, ExternalContext* context); - virtual ExternalFunction* FB_CALL makeFunction(Error* error, ExternalContext* context, + virtual void FB_CALL open(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize); + virtual void FB_CALL openAttachment(IStatus* status, ExternalContext* context); + virtual void FB_CALL closeAttachment(IStatus* status, ExternalContext* context); + virtual ExternalFunction* FB_CALL makeFunction(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg); - virtual ExternalProcedure* FB_CALL makeProcedure(Error* error, ExternalContext* context, + virtual ExternalProcedure* FB_CALL makeProcedure(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg); - virtual ExternalTrigger* FB_CALL makeTrigger(Error* error, ExternalContext* context, + virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg); public: - virtual void FB_CALL dispose(Error* error); + virtual void FB_CALL dispose(); private: Mutex childrenMutex; @@ -206,7 +206,7 @@ class SharedFunction : public ExternalFunction { public: - SharedFunction(Error* error, Engine* aEngine, ExternalContext* context, + SharedFunction(IStatus* status, Engine* aEngine, ExternalContext* context, const IRoutineMetadata* aMetadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) : engine(aEngine), metadata(aMetadata), @@ -217,7 +217,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); FunctionNode* node = engine->findNode<FunctionNode>(registeredFunctions, moduleName, entryPoint); - node->factory->setup(error, context, metadata, inMsg, outMsg); + node->factory->setup(status, context, metadata, inMsg, outMsg); } virtual ~SharedFunction() @@ -226,36 +226,36 @@ } public: - virtual void FB_CALL dispose(Firebird::Error* /*error*/) + virtual void FB_CALL dispose() { delete this; } public: - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) { strncpy(name, context->getClientCharSet(), nameSize); try { - ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(error, + ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(status, children, this, context, registeredFunctions, engine->functions, moduleName); if (function) - function->getCharSet(error, context, name, nameSize); + function->getCharSet(status, context, name, nameSize); } - catch (const ThrowError::Exception& e) + catch (const StatusException& e) { - e.stuff(error); + e.stuff(status); } } - virtual void FB_CALL execute(Error* error, ExternalContext* context, void* inMsg, void* outMsg) + virtual void FB_CALL execute(IStatus* status, ExternalContext* context, void* inMsg, void* outMsg) { - ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(error, + ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(status, children, this, context, registeredFunctions, engine->functions, moduleName); if (function) - function->execute(error, context, inMsg, outMsg); + function->execute(status, context, inMsg, outMsg); } public: @@ -274,7 +274,7 @@ class SharedProcedure : public ExternalProcedure { public: - SharedProcedure(Error* error, Engine* aEngine, ExternalContext* context, + SharedProcedure(IStatus* status, Engine* aEngine, ExternalContext* context, const IRoutineMetadata* aMetadata, IRoutineMessage* inMsg, IRoutineMessage* outMsg) : engine(aEngine), metadata(aMetadata), @@ -285,7 +285,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); ProcedureNode* node = engine->findNode<ProcedureNode>(registeredProcedures, moduleName, entryPoint); - node->factory->setup(error, context, metadata, inMsg, outMsg); + node->factory->setup(status, context, metadata, inMsg, outMsg); } virtual ~SharedProcedure() @@ -294,42 +294,42 @@ } public: - virtual void FB_CALL dispose(Firebird::Error* /*error*/) + virtual void FB_CALL dispose() { delete this; } public: - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) { strncpy(name, context->getClientCharSet(), nameSize); try { - ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(error, + ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(status, children, this, context, registeredProcedures, engine->procedures, moduleName); if (procedure) - procedure->getCharSet(error, context, name, nameSize); + procedure->getCharSet(status, context, name, nameSize); } - catch (const ThrowError::Exception& e) + catch (const StatusException& e) { - e.stuff(error); + e.stuff(status); } } - virtual ExternalResultSet* FB_CALL open(Error* error, ExternalContext* context, + virtual ExternalResultSet* FB_CALL open(IStatus* status, ExternalContext* context, void* inMsg, void* outMsg) { try { - ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(error, + ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(status, children, this, context, registeredProcedures, engine->procedures, moduleName); - return procedure ? procedure->open(error, context, inMsg, outMsg) : NULL; + return procedure ? procedure->open(status, context, inMsg, outMsg) : NULL; } - catch (const ThrowError::Exception& e) + catch (const StatusException& e) { - e.stuff(error); + e.stuff(status); return NULL; } } @@ -350,7 +350,7 @@ class SharedTrigger : public ExternalTrigger { public: - SharedTrigger(Error* error, Engine* aEngine, ExternalContext* context, + SharedTrigger(IStatus* status, Engine* aEngine, ExternalContext* context, const IRoutineMetadata* aMetadata, ITriggerMessage* fieldsMsg) : engine(aEngine), metadata(aMetadata), @@ -361,7 +361,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); TriggerNode* node = engine->findNode<TriggerNode>(registeredTriggers, moduleName, entryPoint); - node->factory->setup(error, context, metadata, fieldsMsg); + node->factory->setup(status, context, metadata, fieldsMsg); } virtual ~SharedTrigger() @@ -370,37 +370,37 @@ } public: - virtual void FB_CALL dispose(Firebird::Error* /*error*/) + virtual void FB_CALL dispose() { delete this; } public: - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, + virtual void FB_CALL getCharSet(IStatus* status, ExternalContext* context, Utf8* name, uint nameSize) { strncpy(name, context->getClientCharSet(), nameSize); try { - ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(error, + ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(status, children, this, context, registeredTriggers, engine->triggers, moduleName); if (trigger) - trigger->getCharSet(error, context, name, nameSize); + trigger->getCharSet(status, context, name, nameSize); } - catch (const ThrowError::Exception& e) + catch (const StatusException& e) { - e.stuff(error); + e.stuff(status); } } - virtual void FB_CALL execute(Error* error, ExternalContext* context, + virtual void FB_CALL execute(IStatus* status, ExternalContext* context, ExternalTrigger::Action action, void* oldMsg, void* newMsg) { - ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(error, + ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(status, children, this, context, registeredTriggers, engine->triggers, moduleName); if (trigger) - trigger->execute(error, context, action, oldMsg, newMsg); + trigger->execute(status, context, action, oldMsg, newMsg); } public: @@ -497,7 +497,7 @@ { LocalStatus status; const string str(metadata->getEntryPoint(&status)); - ThrowError::check(status.get()); + StatusException::check(status.get()); const size_t pos = str.find('!'); if (pos == string::npos) @@ -509,7 +509,7 @@ isc_arg_end }; - ThrowError::check(statusVector); + StatusException::check(statusVector); } *moduleName = PathName(str.substr(0, pos).c_str()); @@ -523,7 +523,7 @@ isc_arg_end }; - ThrowError::check(statusVector); + StatusException::check(statusVector); } *entryPoint = str.substr(pos + 1); @@ -559,14 +559,14 @@ isc_arg_end }; - ThrowError::check(statusVector); + StatusException::check(statusVector); } } } template <typename NodeType, typename ObjType, typename SharedObjType> ObjType* Engine::getChild( - Error* error, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, + IStatus* status, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, SharedObjType* sharedObj, ExternalContext* context, NodeType* nodes, SortedAr... [truncated message content] |
From: <fir...@us...> - 2013-02-16 01:06:10
|
Revision: 57661 http://sourceforge.net/p/firebird/code/57661 Author: firebirds Date: 2013-02-16 01:06:07 +0000 (Sat, 16 Feb 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-02-15 08:49:39 UTC (rev 57660) +++ firebird/trunk/ChangeLog 2013-02-16 01:06:07 UTC (rev 57661) @@ -1,3 +1,17 @@ + 2013-02-15 02:48 asfernandes + M examples/udr/UdrCppExample.cpp + M src/include/FirebirdApi.h + M src/include/firebird/ExternalEngine.h + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + D src/jrd/ErrorImpl.cpp + D src/jrd/ErrorImpl.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/plugins/udr_engine/UdrEngine.cpp + M src/yvalve/PluginManager.cpp +Unifying the external engines API with the new ones. + 2013-02-11 01:57 asfernandes M src/dsql/ddl.cpp M src/dsql/dsql.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-02-15 08:49:39 UTC (rev 57660) +++ firebird/trunk/src/jrd/build_no.h 2013-02-16 01:06:07 UTC (rev 57661) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30212 + FORMAL BUILD NUMBER:30213 */ -#define PRODUCT_VER_STRING "3.0.0.30212" -#define FILE_VER_STRING "WI-T3.0.0.30212" -#define LICENSE_VER_STRING "WI-T3.0.0.30212" -#define FILE_VER_NUMBER 3, 0, 0, 30212 +#define PRODUCT_VER_STRING "3.0.0.30213" +#define FILE_VER_STRING "WI-T3.0.0.30213" +#define LICENSE_VER_STRING "WI-T3.0.0.30213" +#define FILE_VER_NUMBER 3, 0, 0, 30213 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30212" +#define FB_BUILD_NO "30213" #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-02-15 08:49:39 UTC (rev 57660) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-02-16 01:06:07 UTC (rev 57661) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30212 +BuildNum=30213 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |