From: <fir...@us...> - 2014-04-24 01:05:37
|
Revision: 59474 http://sourceforge.net/p/firebird/code/59474 Author: firebirds Date: 2014-04-24 01:05:32 +0000 (Thu, 24 Apr 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-04-23 16:14:15 UTC (rev 59473) +++ firebird/trunk/ChangeLog 2014-04-24 01:05:32 UTC (rev 59474) @@ -1,3 +1,7 @@ + 2014-04-23 12:43 alexpeshkoff + M src/common/os/posix/path_utils.cpp +Missing return - thanks to Claudio + 2014-04-22 13:37 alexpeshkoff M lang_helpers/gds_codes.ftn M lang_helpers/gds_codes.pas Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-04-23 16:14:15 UTC (rev 59473) +++ firebird/trunk/src/jrd/build_no.h 2014-04-24 01:05:32 UTC (rev 59474) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31075 + FORMAL BUILD NUMBER:31076 */ -#define PRODUCT_VER_STRING "3.0.0.31075" -#define FILE_VER_STRING "WI-T3.0.0.31075" -#define LICENSE_VER_STRING "WI-T3.0.0.31075" -#define FILE_VER_NUMBER 3, 0, 0, 31075 +#define PRODUCT_VER_STRING "3.0.0.31076" +#define FILE_VER_STRING "WI-T3.0.0.31076" +#define LICENSE_VER_STRING "WI-T3.0.0.31076" +#define FILE_VER_NUMBER 3, 0, 0, 31076 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31075" +#define FB_BUILD_NO "31076" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-04-23 16:14:15 UTC (rev 59473) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-04-24 01:05:32 UTC (rev 59474) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31075 +BuildNum=31076 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-04-26 00:33:33
|
Revision: 59479 http://sourceforge.net/p/firebird/code/59479 Author: firebirds Date: 2014-04-26 00:33:30 +0000 (Sat, 26 Apr 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-04-25 11:01:51 UTC (rev 59478) +++ firebird/trunk/ChangeLog 2014-04-26 00:33:30 UTC (rev 59479) @@ -1,3 +1,25 @@ + 2014-04-25 10:59 alexpeshkoff + M src/alice/alice.cpp + M src/alice/alice_proto.h + M src/burp/burp.cpp + M src/burp/burp_proto.h + M src/common/UtilSvc.cpp + M src/common/UtilSvc.h + M src/jrd/EngineInterface.h + M src/jrd/jrd.cpp + M src/jrd/svc.cpp + M src/jrd/svc.h + M src/jrd/svc_tab.cpp + M src/jrd/svc_tab.h + M src/jrd/trace/TraceService.cpp + M src/jrd/trace/TraceService.h + M src/utilities/gsec/gsec.cpp + M src/utilities/gsec/gsec_proto.h + M src/utilities/gstat/dba.epp + M src/utilities/nbackup/nbackup.cpp + M src/utilities/nbackup/nbk_proto.h +Fixed CORE-4303: Possible races while Service destruction, related code cleanup + 2014-04-23 12:43 alexpeshkoff M src/common/os/posix/path_utils.cpp Missing return - thanks to Claudio Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-04-25 11:01:51 UTC (rev 59478) +++ firebird/trunk/src/jrd/build_no.h 2014-04-26 00:33:30 UTC (rev 59479) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31076 + FORMAL BUILD NUMBER:31077 */ -#define PRODUCT_VER_STRING "3.0.0.31076" -#define FILE_VER_STRING "WI-T3.0.0.31076" -#define LICENSE_VER_STRING "WI-T3.0.0.31076" -#define FILE_VER_NUMBER 3, 0, 0, 31076 +#define PRODUCT_VER_STRING "3.0.0.31077" +#define FILE_VER_STRING "WI-T3.0.0.31077" +#define LICENSE_VER_STRING "WI-T3.0.0.31077" +#define FILE_VER_NUMBER 3, 0, 0, 31077 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31076" +#define FB_BUILD_NO "31077" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-04-25 11:01:51 UTC (rev 59478) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-04-26 00:33:30 UTC (rev 59479) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31076 +BuildNum=31077 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-04-28 01:46:49
|
Revision: 59488 http://sourceforge.net/p/firebird/code/59488 Author: firebirds Date: 2014-04-28 01:46:46 +0000 (Mon, 28 Apr 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-04-27 10:06:54 UTC (rev 59487) +++ firebird/trunk/ChangeLog 2014-04-28 01:46:46 UTC (rev 59488) @@ -1,3 +1,12 @@ + 2014-04-26 09:02 mapopa + A builds/misc (from /firebird/trunk/builds/misc:59480) +revert the change + + 2014-04-26 08:40 mapopa + M builds/make.new/config/install-sh + D builds/misc +removed 11 years ago due to new method to create security database + 2014-04-25 10:59 alexpeshkoff M src/alice/alice.cpp M src/alice/alice_proto.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-04-27 10:06:54 UTC (rev 59487) +++ firebird/trunk/src/jrd/build_no.h 2014-04-28 01:46:46 UTC (rev 59488) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31077 + FORMAL BUILD NUMBER:31079 */ -#define PRODUCT_VER_STRING "3.0.0.31077" -#define FILE_VER_STRING "WI-T3.0.0.31077" -#define LICENSE_VER_STRING "WI-T3.0.0.31077" -#define FILE_VER_NUMBER 3, 0, 0, 31077 +#define PRODUCT_VER_STRING "3.0.0.31079" +#define FILE_VER_STRING "WI-T3.0.0.31079" +#define LICENSE_VER_STRING "WI-T3.0.0.31079" +#define FILE_VER_NUMBER 3, 0, 0, 31079 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31077" +#define FB_BUILD_NO "31079" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-04-27 10:06:54 UTC (rev 59487) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-04-28 01:46:46 UTC (rev 59488) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31077 +BuildNum=31079 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-04-29 00:48:05
|
Revision: 59496 http://sourceforge.net/p/firebird/code/59496 Author: firebirds Date: 2014-04-29 00:48:02 +0000 (Tue, 29 Apr 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-04-28 16:05:34 UTC (rev 59495) +++ firebird/trunk/ChangeLog 2014-04-29 00:48:02 UTC (rev 59496) @@ -1,3 +1,23 @@ + 2014-04-28 12:51 alexpeshkoff + M src/yvalve/PluginManager.cpp + M src/yvalve/why.cpp +Fixed CORE-4395: execute statement on external doesn't find Firebird 2.5 database + + 2014-04-28 12:50 hvlad + M src/common/classes/Reasons.h +MSVC 12 support, very first step + + 2014-04-28 09:40 alexpeshkoff + M src/burp/backup.epp + M src/burp/burp.cpp + M src/burp/burp.h + M src/burp/burpswi.h + M src/burp/restore.epp + M src/jrd/SimilarToMatcher.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql +Implemented CORE-2208: New gbak option to ignore specific tables data during the backup + 2014-04-26 09:02 mapopa A builds/misc (from /firebird/trunk/builds/misc:59480) revert the change Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-04-28 16:05:34 UTC (rev 59495) +++ firebird/trunk/src/jrd/build_no.h 2014-04-29 00:48:02 UTC (rev 59496) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31079 + FORMAL BUILD NUMBER:31082 */ -#define PRODUCT_VER_STRING "3.0.0.31079" -#define FILE_VER_STRING "WI-T3.0.0.31079" -#define LICENSE_VER_STRING "WI-T3.0.0.31079" -#define FILE_VER_NUMBER 3, 0, 0, 31079 +#define PRODUCT_VER_STRING "3.0.0.31082" +#define FILE_VER_STRING "WI-T3.0.0.31082" +#define LICENSE_VER_STRING "WI-T3.0.0.31082" +#define FILE_VER_NUMBER 3, 0, 0, 31082 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31079" +#define FB_BUILD_NO "31082" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-04-28 16:05:34 UTC (rev 59495) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-04-29 00:48:02 UTC (rev 59496) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31079 +BuildNum=31082 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-04-30 15:12:16
|
Revision: 59508 http://sourceforge.net/p/firebird/code/59508 Author: alexpeshkoff Date: 2014-04-30 15:12:12 +0000 (Wed, 30 Apr 2014) Log Message: ----------- Implemented CORE-1377: Add an ability to change role without reconnecting to database Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/StmtNodes.cpp firebird/trunk/src/dsql/StmtNodes.h firebird/trunk/src/dsql/dsql.cpp firebird/trunk/src/dsql/dsql.h firebird/trunk/src/dsql/parse.y firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/isql/isql.epp firebird/trunk/src/jrd/irq.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/scl.epp firebird/trunk/src/jrd/scl.h firebird/trunk/src/jrd/scl_proto.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/yvalve/keywords.cpp Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-04-30 15:12:12 UTC (rev 59508) @@ -1590,6 +1590,10 @@ PARAMETER (GDS__map_nodb = 335545088) INTEGER*4 GDS__map_notable PARAMETER (GDS__map_notable = 335545089) + INTEGER*4 GDS__miss_trusted_role + PARAMETER (GDS__miss_trusted_role = 335545090) + INTEGER*4 GDS__set_invalid_role + PARAMETER (GDS__set_invalid_role = 335545091) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/lang_helpers/gds_codes.pas 2014-04-30 15:12:12 UTC (rev 59508) @@ -802,6 +802,8 @@ gds_baddpb_temp_buffers = 335545087; gds_map_nodb = 335545088; gds_map_notable = 335545089; + gds_miss_trusted_role = 335545090; + gds_set_invalid_role = 335545091; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/dsql/StmtNodes.cpp =================================================================== --- firebird/trunk/src/dsql/StmtNodes.cpp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/dsql/StmtNodes.cpp 2014-04-30 15:12:12 UTC (rev 59508) @@ -49,6 +49,7 @@ #include "../jrd/par_proto.h" #include "../jrd/rlck_proto.h" #include "../jrd/tra_proto.h" +#include "../jrd/scl_proto.h" #include "../dsql/ddl_proto.h" #include "../dsql/metd_proto.h" #include "../jrd/vio_proto.h" @@ -7593,6 +7594,45 @@ //-------------------- +SetRoleNode* SetRoleNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) +{ + dsqlScratch->getStatement()->setType(DsqlCompiledStatement::TYPE_SET_ROLE); + + return this; +} + +void SetRoleNode::execute(thread_db* tdbb, dsql_req* request, jrd_tra** transaction) const +{ + SET_TDBB(tdbb); + Attachment* const attachment = tdbb->getAttachment(); + UserId* user = attachment->att_user; + fb_assert(user); + + if (trusted) + { + if (!user->usr_trusted_role.hasData()) + Arg::Gds(isc_miss_trusted_role).raise(); + user->usr_sql_role_name = user->usr_trusted_role; + } + else + { + if (!SCL_role_granted(tdbb, *user, roleName.c_str())) + (Arg::Gds(isc_set_invalid_role) << roleName).raise(); + user->usr_sql_role_name = roleName.c_str(); + } + + if (SCL_admin_role(tdbb, user->usr_sql_role_name.c_str())) + user->usr_flags |= USR_dba; + else + user->usr_flags &= ~USR_dba; + + SCL_release_all(attachment->att_security_classes); +} + + +//-------------------- + + StmtNode* UpdateOrInsertNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) { thread_db* tdbb = JRD_get_thread_data(); // necessary? Modified: firebird/trunk/src/dsql/StmtNodes.h =================================================================== --- firebird/trunk/src/dsql/StmtNodes.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/dsql/StmtNodes.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -1509,6 +1509,42 @@ }; +// This node should better be session management node, +// but as long as we do not have other session management and +// node is rather similiar internally to transaction management +// let it for now be transaction management node. +class SetRoleNode : public TransactionNode +{ +public: + explicit SetRoleNode(MemoryPool& pool) + : TransactionNode(pool), + trusted(true), + roleName(pool) + { + } + + SetRoleNode(MemoryPool& pool, Firebird::MetaName* name) + : TransactionNode(pool), + trusted(false), + roleName(pool, *name) + { + } + +public: + virtual void print(Firebird::string& text) const + { + text = "SetRoleNode"; + } + + virtual SetRoleNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); + virtual void execute(thread_db* tdbb, dsql_req* request, jrd_tra** transaction) const; + +public: + bool trusted; + Firebird::MetaName roleName; +}; + + class UpdateOrInsertNode : public TypedNode<DsqlOnlyStmtNode, StmtNode::TYPE_UPDATE_OR_INSERT> { public: Modified: firebird/trunk/src/dsql/dsql.cpp =================================================================== --- firebird/trunk/src/dsql/dsql.cpp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/dsql/dsql.cpp 2014-04-30 15:12:12 UTC (rev 59508) @@ -1822,6 +1822,7 @@ break; case DsqlCompiledStatement::TYPE_CREATE_DB: case DsqlCompiledStatement::TYPE_DDL: + case DsqlCompiledStatement::TYPE_SET_ROLE: number = isc_info_sql_stmt_ddl; break; case DsqlCompiledStatement::TYPE_COMMIT: Modified: firebird/trunk/src/dsql/dsql.h =================================================================== --- firebird/trunk/src/dsql/dsql.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/dsql/dsql.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -429,7 +429,7 @@ TYPE_SELECT, TYPE_SELECT_UPD, TYPE_INSERT, TYPE_DELETE, TYPE_UPDATE, TYPE_UPDATE_CURSOR, TYPE_DELETE_CURSOR, TYPE_COMMIT, TYPE_ROLLBACK, TYPE_CREATE_DB, TYPE_DDL, TYPE_START_TRANS, TYPE_EXEC_PROCEDURE, TYPE_COMMIT_RETAIN, TYPE_ROLLBACK_RETAIN, TYPE_SET_GENERATOR, - TYPE_SAVEPOINT, TYPE_EXEC_BLOCK, TYPE_SELECT_BLOCK + TYPE_SAVEPOINT, TYPE_EXEC_BLOCK, TYPE_SELECT_BLOCK, TYPE_SET_ROLE }; // Statement flags. Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/dsql/parse.y 2014-04-30 15:12:12 UTC (rev 59508) @@ -569,6 +569,7 @@ %token <metaNamePtr> PLUGIN %token <metaNamePtr> SERVERWIDE %token <metaNamePtr> INCREMENT +%token <metaNamePtr> TRUSTED // precedence declarations for expression evaluation @@ -697,6 +698,7 @@ Jrd::CreateAlterUserNode* createAlterUserNode; Jrd::MappingNode* mappingNode; Jrd::MappingNode::OP mappingOp; + Jrd::SetRoleNode* setRoleNode; } %include types.y @@ -749,6 +751,7 @@ : set_transaction { $$ = $1; } | commit { $$ = $1; } | rollback { $$ = $1; } + | set_role { $$ = $1; } ; @@ -4468,6 +4471,14 @@ { $$ = $3; } ; +%type <setRoleNode> set_role +set_role + : SET ROLE valid_symbol_name + { $$ = newNode<SetRoleNode>($3); } + | SET TRUSTED ROLE + { $$ = newNode<SetRoleNode>(); } + ; + %type tran_option_list_opt(<setTransactionNode>) tran_option_list_opt($setTransactionNode) : // nothing @@ -7373,6 +7384,7 @@ | PLUGIN | SERVERWIDE | INCREMENT + | TRUSTED ; %% Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/include/gen/codetext.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -791,6 +791,8 @@ {"baddpb_temp_buffers", 335545087}, {"map_nodb", 335545088}, {"map_notable", 335545089}, + {"miss_trusted_role", 335545090}, + {"set_invalid_role", 335545091}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/include/gen/iberror.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -825,6 +825,8 @@ const ISC_STATUS isc_baddpb_temp_buffers = 335545087L; const ISC_STATUS isc_map_nodb = 335545088L; const ISC_STATUS isc_map_notable = 335545089L; +const ISC_STATUS isc_miss_trusted_role = 335545090L; +const ISC_STATUS isc_set_invalid_role = 335545091L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1278,7 +1280,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 = 1222; +const ISC_STATUS isc_err_max = 1224; #else /* c definitions */ @@ -2073,6 +2075,8 @@ #define isc_baddpb_temp_buffers 335545087L #define isc_map_nodb 335545088L #define isc_map_notable 335545089L +#define isc_miss_trusted_role 335545090L +#define isc_set_invalid_role 335545091L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2526,7 +2530,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 1222 +#define isc_err_max 1224 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/include/gen/msgs.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -794,6 +794,8 @@ {335545087, "Attempt to temporarily set number of buffers less than @1"}, /* baddpb_temp_buffers */ {335545088, "Global mapping is not available when database @1 is not present"}, /* map_nodb */ {335545089, "Global mapping is not available when table RDB$MAP is not present in database @1"}, /* map_notable */ + {335545090, "Your attachment has no trusted role"}, /* miss_trusted_role */ + {335545091, "Role @1 is invalid or unavailable"}, /* set_invalid_role */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/include/gen/sql_code.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -790,6 +790,8 @@ {335545087, -924}, /* 767 baddpb_temp_buffers */ {335545088, -901}, /* 768 map_nodb */ {335545089, -901}, /* 769 map_notable */ + {335545090, -901}, /* 770 miss_trusted_role */ + {335545091, -901}, /* 771 set_invalid_role */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/include/gen/sql_state.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -790,6 +790,8 @@ {335545087, "HY000"}, // 767 baddpb_temp_buffers {335545088, "0A000"}, // 768 map_nodb {335545089, "0A000"}, // 769 map_notable + {335545090, "0P000"}, // 770 miss_trusted_role + {335545091, "0P000"}, // 771 set_invalid_role {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/isql/isql.epp =================================================================== --- firebird/trunk/src/isql/isql.epp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/isql/isql.epp 2014-04-30 15:12:12 UTC (rev 59508) @@ -4918,7 +4918,7 @@ //#ifdef DEV_BUILD sqlda_display, //#endif - sql, warning, generator, statistics, heading, bail, + sql, warning, sqlCont, heading, bail, bulk_insert, maxrows, wrong }; SetOptions(const optionsMap* inmap, size_t insize, int wrongval) @@ -4948,13 +4948,15 @@ {SetOptions::sql, "SQL", 0}, {SetOptions::warning, "WARNINGS", 7}, {SetOptions::warning, "WNG", 0}, - {SetOptions::generator, "GENERATOR", 0}, - {SetOptions::statistics, "STATISTICS", 0}, + {SetOptions::sqlCont, "GENERATOR", 0}, + {SetOptions::sqlCont, "STATISTICS", 0}, {SetOptions::heading, "HEADING", 0}, {SetOptions::bail, "BAIL", 0}, {SetOptions::bulk_insert, "BULK_INSERT", 0}, {SetOptions::maxrows, "ROWCOUNT", 0}, // legacy, compatible with FB2.5 {SetOptions::maxrows, "MAXROWS", 0}, + {SetOptions::sqlCont, "ROLE", 0}, + {SetOptions::sqlCont, "TRUSTED", 0}, // TRUSTED ROLE, will get DSQL error other case }; // Display current set options @@ -4965,6 +4967,10 @@ const SetOptions setoptions(options, FB_NELEM(options), SetOptions::wrong); switch (setoptions.getCommand(parms[1])) { + case SetOptions::sqlCont: + ret = CONT; + break; + case SetOptions::stat: ret = do_set_command(parms[2], &Stats); break; @@ -5082,11 +5088,6 @@ ret = do_set_command (parms[2], &Warnings); break; - case SetOptions::generator: - case SetOptions::statistics: - ret = CONT; - break; - case SetOptions::heading: ret = do_set_command(parms[2], &Heading); break; Modified: firebird/trunk/src/jrd/irq.h =================================================================== --- firebird/trunk/src/jrd/irq.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/jrd/irq.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -103,6 +103,8 @@ irq_c_trg_perm, // check if trig can ignore perm. checks irq_get_role_mem, // get SQL role membership irq_get_role_name, // get SQL role name + irq_is_admin_role, // check is current role admin or not + irq_get_att_class, // get security class for current attachment irq_format6, // make a new format for a record irq_r_gen_id_num, // lookup generator by ID. irq_upd_gen_id_step, // update the STEP of a generator (only for legacy code). Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/jrd/jrd.cpp 2014-04-30 15:12:12 UTC (rev 59508) @@ -1223,6 +1223,87 @@ return getTransactionInterface(status, tra)->getHandle(); } +static void makeRoleName(Database* dbb, string& userIdRole, DatabaseOptions& options) +{ + if (userIdRole.hasData()) + { + switch (options.dpb_sql_dialect) + { + case 0: + // V6 Client --> V6 Server, dummy client SQL dialect 0 was passed + // It means that client SQL dialect was not set by user + // and takes DB SQL dialect as client SQL dialect + if (dbb->dbb_flags & DBB_DB_SQL_dialect_3) + { + // DB created in IB V6.0 by client SQL dialect 3 + options.dpb_sql_dialect = SQL_DIALECT_V6; + } + else + { + // old DB was gbaked in IB V6.0 + options.dpb_sql_dialect = SQL_DIALECT_V5; + } + break; + + case 99: + // V5 Client --> V6 Server, old client has no concept of dialect + options.dpb_sql_dialect = SQL_DIALECT_V5; + break; + + default: + // V6 Client --> V6 Server, but client SQL dialect was set + // by user and was passed. + break; + } + + CharSet* utf8CharSet = IntlUtil::getUtf8CharSet(); + + switch (options.dpb_sql_dialect) + { + case SQL_DIALECT_V5: + { + strip_quotes(userIdRole); + IntlUtil::toUpper(utf8CharSet, userIdRole); + } + break; + + case SQL_DIALECT_V6_TRANSITION: + case SQL_DIALECT_V6: + { + if (userIdRole.hasData() && (userIdRole[0] == DBL_QUOTE || userIdRole[0] == SINGLE_QUOTE)) + { + const char end_quote = userIdRole[0]; + // remove the delimited quotes and escape quote + // from ROLE name + userIdRole.erase(0, 1); + for (string::iterator p = userIdRole.begin(); p < userIdRole.end(); ++p) + { + if (*p == end_quote) + { + if (++p < userIdRole.end() && *p == end_quote) + { + // skip the escape quote here + userIdRole.erase(p--); + } + else + { + // delimited done + userIdRole.erase(--p, userIdRole.end()); + } + } + } + } + else + IntlUtil::toUpper(utf8CharSet, userIdRole); + } + break; + + default: + break; + } + } +} + JAttachment* FB_CARG JProvider::attachDatabase(IStatus* user_status, const char* filename, unsigned int dpb_length, const unsigned char* dpb) { @@ -1505,83 +1586,9 @@ Arg::Gds(isc_valid_client_dialects) << Arg::Str("1, 2 or 3")); } - if (userId.usr_sql_role_name.hasData()) - { - switch (options.dpb_sql_dialect) - { - case 0: - // V6 Client --> V6 Server, dummy client SQL dialect 0 was passed - // It means that client SQL dialect was not set by user - // and takes DB SQL dialect as client SQL dialect - if (dbb->dbb_flags & DBB_DB_SQL_dialect_3) - { - // DB created in IB V6.0 by client SQL dialect 3 - options.dpb_sql_dialect = SQL_DIALECT_V6; - } - else - { - // old DB was gbaked in IB V6.0 - options.dpb_sql_dialect = SQL_DIALECT_V5; - } - break; - case 99: - // V5 Client --> V6 Server, old client has no concept of dialect - options.dpb_sql_dialect = SQL_DIALECT_V5; - break; - default: - // V6 Client --> V6 Server, but client SQL dialect was set - // by user and was passed. - break; - } + makeRoleName(dbb, userId.usr_sql_role_name, options); + makeRoleName(dbb, userId.usr_trusted_role, options); - CharSet* utf8CharSet = IntlUtil::getUtf8CharSet(); - - switch (options.dpb_sql_dialect) - { - case SQL_DIALECT_V5: - { - strip_quotes(userId.usr_sql_role_name); - IntlUtil::toUpper(utf8CharSet, userId.usr_sql_role_name); - } - break; - - case SQL_DIALECT_V6_TRANSITION: - case SQL_DIALECT_V6: - { - string& role = userId.usr_sql_role_name; - if (role.hasData() && (role[0] == DBL_QUOTE || role[0] == SINGLE_QUOTE)) - { - const char end_quote = role[0]; - // remove the delimited quotes and escape quote - // from ROLE name - role.erase(0, 1); - for (string::iterator p = role.begin(); p < role.end(); ++p) - { - if (*p == end_quote) - { - if (++p < role.end() && *p == end_quote) - { - // skip the escape quote here - role.erase(p--); - } - else - { - // delimited done - role.erase(--p, role.end()); - } - } - } - } - else - IntlUtil::toUpper(utf8CharSet, role); - } - break; - - default: - break; - } - } - options.dpb_sql_dialect = 0; SCL_init(tdbb, false, userId); @@ -7126,10 +7133,9 @@ { user.usr_sql_role_name = options.dpb_role_name; } - else if (trusted_role.hasData()) + if (trusted_role.hasData()) { - user.usr_sql_role_name = trusted_role; - user.usr_flags |= USR_trole; + user.usr_trusted_role = trusted_role; } } Modified: firebird/trunk/src/jrd/scl.epp =================================================================== --- firebird/trunk/src/jrd/scl.epp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/jrd/scl.epp 2014-04-30 15:12:12 UTC (rev 59508) @@ -804,6 +804,91 @@ } +bool SCL_role_granted(thread_db* tdbb, const UserId& usr, const TEXT* sql_role) +{ +/************************************** + * + * S C L _ r o l e _ g r a n t e d + * + ************************************** + * + * Functional description + * Check is sql_role granted to the user. + * + **************************************/ + SET_TDBB(tdbb); + Jrd::Attachment* const attachment = tdbb->getAttachment(); + + if (!strcmp(sql_role, NULL_ROLE)) + { + return true; + } + + Firebird::string loginName(usr.usr_user_name); + loginName.upper(); + const TEXT* login_name = loginName.c_str(); + + bool found = false; + + AutoCacheRequest request(tdbb, irq_verify_role_name, IRQ_REQUESTS); + + // CVC: The caller has hopefully uppercased the role or stripped quotes. Of course, + // uppercase-UPPER7 should only happen if the role wasn't enclosed in quotes. + // Shortsighted developers named the field rdb$relation_name instead of rdb$object_name. + // This request is not exactly the same than irq_get_role_mem, sorry, I can't reuse that. + // If you think that an unknown role cannot be granted, think again: someone made sure + // in DYN that SYSDBA can do almost anything, including invalid grants. + + FOR (REQUEST_HANDLE request) FIRST 1 RR IN RDB$ROLES + CROSS UU IN RDB$USER_PRIVILEGES + WITH RR.RDB$ROLE_NAME EQ sql_role + AND RR.RDB$ROLE_NAME EQ UU.RDB$RELATION_NAME + AND UU.RDB$OBJECT_TYPE EQ obj_sql_role + AND (UU.RDB$USER EQ login_name + OR UU.RDB$USER EQ "PUBLIC") + AND UU.RDB$USER_TYPE EQ obj_user + AND UU.RDB$PRIVILEGE EQ "M" + { + if (!UU.RDB$USER.NULL) + found = true; + } + END_FOR + + return found; +} + + +bool SCL_admin_role(thread_db* tdbb, const TEXT* sql_role) +{ +/************************************** + * + * S C L _ a d m i n _ r o l e + * + ************************************** + * + * Functional description + * Check is sql_role is an admin role. + * + **************************************/ + SET_TDBB(tdbb); + Jrd::Attachment* const attachment = tdbb->getAttachment(); + + bool adminRole = false; + + AutoCacheRequest request(tdbb, irq_is_admin_role, IRQ_REQUESTS); + + FOR(REQUEST_HANDLE request) R IN RDB$ROLES + WITH R.RDB$ROLE_NAME EQ sql_role + { + if (R.RDB$SYSTEM_FLAG & ROLE_FLAG_DBO) + adminRole = true; + } + END_FOR + + return adminRole; +} + + void SCL_init(thread_db* tdbb, bool create, const UserId& tempId) { /************************************** @@ -815,10 +900,8 @@ * Functional description * Check database access control list. * - * Checks the userinfo database to get the - * password and other stuff about the specified - * user. Compares the password to that passed - * in, encrypting if necessary. + * Finally fills UserId information + * (role, flags, etc.). * **************************************/ SET_TDBB(tdbb); @@ -826,17 +909,17 @@ Jrd::Attachment* const attachment = tdbb->getAttachment(); const TEXT* sql_role = tempId.usr_sql_role_name.nullStr(); - Firebird::string loginName(tempId.usr_user_name); - loginName.upper(); - const TEXT* login_name = loginName.c_str(); - Firebird::MetaName role_name; // CVC: We'll verify the role and wipe it out when it doesn't exist - if (strlen(login_name) != 0) + if (tempId.usr_user_name.hasData()) { if (!create) { + Firebird::string loginName(tempId.usr_user_name); + loginName.upper(); + const TEXT* login_name = loginName.c_str(); + AutoCacheRequest request(tdbb, irq_get_role_name, IRQ_REQUESTS); FOR(REQUEST_HANDLE request) X IN RDB$ROLES @@ -851,51 +934,17 @@ // CVC: If we aren't creating a db and sql_role was specified, // then verify it against rdb$roles and rdb$user_privileges - if (!create && sql_role && *sql_role && strcmp(sql_role, NULL_ROLE)) + if (!create && sql_role && *sql_role) { - bool found = false; + if (!SCL_role_granted(tdbb, tempId, sql_role)) + sql_role = NULL; + } - AutoCacheRequest request(tdbb, irq_verify_role_name, IRQ_REQUESTS); + if (!sql_role) + sql_role = tempId.usr_trusted_role.nullStr(); - // CVC: The caller has hopefully uppercased the role or stripped quotes. Of course, - // uppercase-UPPER7 should only happen if the role wasn't enclosed in quotes. - // Shortsighted developers named the field rdb$relation_name instead of rdb$object_name. - // This request is not exactly the same than irq_get_role_mem, sorry, I can't reuse that. - // If you think that an unknown role cannot be granted, think again: someone made sure - // in DYN that SYSDBA can do almost anything, including invalid grants. + MetaName role_name(sql_role ? sql_role : NULL_ROLE); - if (!(tempId.usr_flags & USR_trole)) - { - FOR (REQUEST_HANDLE request) FIRST 1 RR IN RDB$ROLES - CROSS UU IN RDB$USER_PRIVILEGES - WITH RR.RDB$ROLE_NAME EQ sql_role - AND RR.RDB$ROLE_NAME EQ UU.RDB$RELATION_NAME - AND UU.RDB$OBJECT_TYPE EQ obj_sql_role - AND (UU.RDB$USER EQ login_name - OR UU.RDB$USER EQ "PUBLIC") - AND UU.RDB$USER_TYPE EQ obj_user - AND UU.RDB$PRIVILEGE EQ "M" - { - if (!UU.RDB$USER.NULL) - found = true; - } - END_FOR - } - else - found = true; - - if (!found) - role_name = NULL_ROLE; - } - - if (sql_role) - { - if (role_name != NULL_ROLE) - role_name = sql_role; - } - else - role_name = NULL_ROLE; - MemoryPool& pool = *attachment->att_pool; UserId* const user = FB_NEW(pool) UserId(pool, tempId); user->usr_sql_role_name = role_name.c_str(); @@ -903,9 +952,9 @@ if (!create) { - AutoRequest handle, handle1, handle2; + AutoCacheRequest request(tdbb, irq_get_att_class, IRQ_REQUESTS); - FOR(REQUEST_HANDLE handle) X IN RDB$DATABASE + FOR(REQUEST_HANDLE request) X IN RDB$DATABASE { if (!X.RDB$SECURITY_CLASS.NULL) attachment->att_security_class = SCL_get_class(tdbb, X.RDB$SECURITY_CLASS); @@ -914,7 +963,9 @@ if (dbb->dbb_owner.isEmpty()) { - FOR(REQUEST_HANDLE handle1) + AutoRequest request; + + FOR(REQUEST_HANDLE request) FIRST 1 REL IN RDB$RELATIONS WITH REL.RDB$RELATION_NAME EQ "RDB$DATABASE" { @@ -927,13 +978,8 @@ if (dbb->dbb_owner == user->usr_user_name) user->usr_flags |= USR_owner; - FOR(REQUEST_HANDLE handle2) R IN RDB$ROLES - WITH R.RDB$ROLE_NAME EQ role_name.c_str() - { - if (R.RDB$SYSTEM_FLAG & ROLE_FLAG_DBO) - user->usr_flags |= USR_dba; - } - END_FOR + if (sql_role && SCL_admin_role(tdbb, role_name.c_str())) + user->usr_flags |= USR_dba; } else { @@ -1294,6 +1340,8 @@ case id_sql_role: if (!role_name || check_string(a, role_name)) hit = false; + else if (user.usr_sql_role_name == user.usr_trusted_role) + hit = true; else { TEXT login_name[129]; Modified: firebird/trunk/src/jrd/scl.h =================================================================== --- firebird/trunk/src/jrd/scl.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/jrd/scl.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -84,14 +84,13 @@ const USHORT USR_locksmith = 1; // User has great karma const USHORT USR_dba = 2; // User has DBA privileges const USHORT USR_owner = 4; // User owns database -const USHORT USR_trole = 8; // Role was set by trusted auth - class UserId { public: Firebird::string usr_user_name; // User name Firebird::string usr_sql_role_name; // Role name + Firebird::string usr_trusted_role; // Trusted role if set Firebird::string usr_project_name; // Project name Firebird::string usr_org_name; // Organization name Firebird::string usr_auth_method; // Authentication method @@ -112,6 +111,7 @@ UserId(Firebird::MemoryPool& p, const UserId& ui) : usr_user_name(p, ui.usr_user_name), usr_sql_role_name(p, ui.usr_sql_role_name), + usr_trusted_role(p, ui.usr_trusted_role), usr_project_name(p, ui.usr_project_name), usr_org_name(p, ui.usr_org_name), usr_auth_method(p, ui.usr_auth_method), @@ -126,6 +126,7 @@ UserId(const UserId& ui) : usr_user_name(ui.usr_user_name), usr_sql_role_name(ui.usr_sql_role_name), + usr_trusted_role(ui.usr_trusted_role), usr_project_name(ui.usr_project_name), usr_org_name(ui.usr_org_name), usr_auth_method(ui.usr_auth_method), @@ -140,6 +141,7 @@ { usr_user_name = ui.usr_user_name; usr_sql_role_name = ui.usr_sql_role_name; + usr_trusted_role = ui.usr_trusted_role; usr_project_name = ui.usr_project_name; usr_org_name = ui.usr_org_name; usr_auth_method = ui.usr_auth_method; Modified: firebird/trunk/src/jrd/scl_proto.h =================================================================== --- firebird/trunk/src/jrd/scl_proto.h 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/jrd/scl_proto.h 2014-04-30 15:12:12 UTC (rev 59508) @@ -51,6 +51,8 @@ void SCL_init(Jrd::thread_db* tdbb, bool, const Jrd::UserId& tempId); Jrd::SecurityClass* SCL_recompute_class(Jrd::thread_db*, const TEXT*); void SCL_release_all(Jrd::SecurityClassList*&); +bool SCL_role_granted(Jrd::thread_db* tdbb, const Jrd::UserId& usr, const TEXT* sql_role); +bool SCL_admin_role(Jrd::thread_db* tdbb, const TEXT* sql_role); namespace Jrd { typedef Firebird::Array<UCHAR> Acl; Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/msgs/facilities2.sql 2014-04-30 15:12:12 UTC (rev 59508) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2014-04-18 19:01:37', 'JRD', 0, 770) +('2014-04-30 18:55:42', 'JRD', 0, 772) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2013-11-13 15:59:10', 'GFIX', 3, 122) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/msgs/messages2.sql 2014-04-30 15:12:12 UTC (rev 59508) @@ -877,6 +877,8 @@ ('baddpb_temp_buffers', 'DatabaseOptions::get', 'jrd.cpp', NULL, 0, 767, NULL, 'Attempt to temporarily set number of buffers less than @1', NULL, NULL); ('map_nodb', 'MappingList::getList', 'Mapping.cpp', NULL, 0, 768, NULL, 'Global mapping is not available when database @1 is not present', NULL, NULL); ('map_notable', 'MappingList::getList', 'Mapping.cpp', NULL, 0, 769, NULL, 'Global mapping is not available when table RDB$MAP is not present in database @1', NULL, NULL); +('miss_trusted_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 770, NULL, 'Your attachment has no trusted role', NULL, NULL); +('set_invalid_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 771, NULL, 'Role @1 is invalid or unavailable', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/msgs/system_errors2.sql 2014-04-30 15:12:12 UTC (rev 59508) @@ -776,6 +776,8 @@ (-924, 'HY', '000', 0, 767, 'baddpb_temp_buffers', NULL, NULL); (-901, '0A', '000', 0, 768, 'map_nodb', NULL, NULL); (-901, '0A', '000', 0, 769, 'map_notable', NULL, NULL); +(-901, '0P', '000', 0, 770, 'miss_trusted_role', NULL, NULL); +(-901, '0P', '000', 0, 771, 'set_invalid_role', 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/yvalve/keywords.cpp =================================================================== --- firebird/trunk/src/yvalve/keywords.cpp 2014-04-30 12:20:59 UTC (rev 59507) +++ firebird/trunk/src/yvalve/keywords.cpp 2014-04-30 15:12:12 UTC (rev 59508) @@ -407,6 +407,7 @@ {TRIM, "TRIM", 2, false}, {KW_TRUE, "TRUE", 2, false}, {TRUNC, "TRUNC", 2, false}, + {TRUSTED, "TRUSTED", 2, false}, {TWO_PHASE, "TWO_PHASE", 2, true}, {KW_TYPE, "TYPE", 2, true}, {UNCOMMITTED, "UNCOMMITTED", 1, false}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-01 00:31:55
|
Revision: 59510 http://sourceforge.net/p/firebird/code/59510 Author: firebirds Date: 2014-05-01 00:31:52 +0000 (Thu, 01 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-04-30 15:38:29 UTC (rev 59509) +++ firebird/trunk/ChangeLog 2014-05-01 00:31:52 UTC (rev 59510) @@ -1,3 +1,64 @@ + 2014-04-30 15:38 hvlad + M src/jrd/Mapping.cpp +Fixed event leak. Alex, please review. + + 2014-04-30 15:12 alexpeshkoff + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/dsql/dsql.cpp + M src/dsql/dsql.h + M src/dsql/parse.y + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/isql/isql.epp + M src/jrd/irq.h + M src/jrd/jrd.cpp + M src/jrd/scl.epp + M src/jrd/scl.h + M src/jrd/scl_proto.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/yvalve/keywords.cpp +Implemented CORE-1377: Add an ability to change role without reconnecting to database + + 2014-04-30 12:20 alexpeshkoff + M src/jrd/svc.cpp +Fixed unhandled exception in services brought my one of recent commits + + 2014-04-30 11:09 hvlad + M builds/win32/msvc10/common.vcxproj + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/fbtrace.vcxproj + M builds/win32/msvc10/firebird2.props + M builds/win32/msvc10/gpre.vcxproj + M builds/win32/msvc10/gpre_common.vcxproj + M builds/win32/msvc10/intl.vcxproj + M builds/win32/msvc10/isql.vcxproj + M builds/win32/msvc10/legacy_auth.vcxproj + M builds/win32/msvc10/legacy_usermanager.vcxproj + M builds/win32/msvc10/srp.vcxproj + M builds/win32/msvc10/udr_engine.vcxproj + M builds/win32/msvc10/yvalve.vcxproj +Fixed VC10 build - make all project use the same set of include directories. + + 2014-04-30 09:20 mapopa + M src/jrd/lck.cpp +VMS lock cleanup + + 2014-04-30 09:14 mapopa + M src/common/classes/alloc.h +VMS cleanup + + 2014-04-30 09:08 mapopa + D src/jrd/os/vms +VMS cleanup + 2014-04-28 12:51 alexpeshkoff M src/yvalve/PluginManager.cpp M src/yvalve/why.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-04-30 15:38:29 UTC (rev 59509) +++ firebird/trunk/src/jrd/build_no.h 2014-05-01 00:31:52 UTC (rev 59510) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31082 + FORMAL BUILD NUMBER:31089 */ -#define PRODUCT_VER_STRING "3.0.0.31082" -#define FILE_VER_STRING "WI-T3.0.0.31082" -#define LICENSE_VER_STRING "WI-T3.0.0.31082" -#define FILE_VER_NUMBER 3, 0, 0, 31082 +#define PRODUCT_VER_STRING "3.0.0.31089" +#define FILE_VER_STRING "WI-T3.0.0.31089" +#define LICENSE_VER_STRING "WI-T3.0.0.31089" +#define FILE_VER_NUMBER 3, 0, 0, 31089 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31082" +#define FB_BUILD_NO "31089" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-04-30 15:38:29 UTC (rev 59509) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-01 00:31:52 UTC (rev 59510) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31082 +BuildNum=31089 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-02 00:54:35
|
Revision: 59523 http://sourceforge.net/p/firebird/code/59523 Author: firebirds Date: 2014-05-02 00:54:31 +0000 (Fri, 02 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-01 19:55:06 UTC (rev 59522) +++ firebird/trunk/ChangeLog 2014-05-02 00:54:31 UTC (rev 59523) @@ -1,3 +1,28 @@ + 2014-05-01 05:55 robocop + M src/jrd/vio.cpp +More sys tables protected. + + 2014-05-01 05:51 robocop + M src/burp/burpswi.h +Misc. + + 2014-05-01 05:30 robocop + M src/jrd/scl.epp +Avoid var shadowing. + + 2014-05-01 05:29 robocop + M src/burp/backup.epp + M src/burp/burp.h + M src/burp/restore.epp + M src/common/utils.cpp + M src/dsql/DdlNodes.epp + M src/isql/show.epp + M src/jrd/fields.h + M src/jrd/irq.h + M src/jrd/met.epp + M src/jrd/relations.h +Misc. + 2014-04-30 15:38 hvlad M src/jrd/Mapping.cpp Fixed event leak. Alex, please review. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-01 19:55:06 UTC (rev 59522) +++ firebird/trunk/src/jrd/build_no.h 2014-05-02 00:54:31 UTC (rev 59523) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31089 + FORMAL BUILD NUMBER:31093 */ -#define PRODUCT_VER_STRING "3.0.0.31089" -#define FILE_VER_STRING "WI-T3.0.0.31089" -#define LICENSE_VER_STRING "WI-T3.0.0.31089" -#define FILE_VER_NUMBER 3, 0, 0, 31089 +#define PRODUCT_VER_STRING "3.0.0.31093" +#define FILE_VER_STRING "WI-T3.0.0.31093" +#define LICENSE_VER_STRING "WI-T3.0.0.31093" +#define FILE_VER_NUMBER 3, 0, 0, 31093 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31089" +#define FB_BUILD_NO "31093" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-01 19:55:06 UTC (rev 59522) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-02 00:54:31 UTC (rev 59523) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31089 +BuildNum=31093 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2014-05-03 00:27:51
|
Revision: 59526 http://sourceforge.net/p/firebird/code/59526 Author: robocop Date: 2014-05-03 00:27:47 +0000 (Sat, 03 May 2014) Log Message: ----------- Replace "unknown token" by specific messages. Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/pass1.cpp firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-05-03 00:27:47 UTC (rev 59526) @@ -2298,6 +2298,14 @@ PARAMETER (GDS__dsql_create_generator_failed = 336397324) INTEGER*4 GDS__dsql_set_generator_failed PARAMETER (GDS__dsql_set_generator_failed = 336397325) + INTEGER*4 GDS__dsql_wlock_simple + PARAMETER (GDS__dsql_wlock_simple = 336397326) + INTEGER*4 GDS__dsql_firstskip_rows + PARAMETER (GDS__dsql_firstskip_rows = 336397327) + INTEGER*4 GDS__dsql_wlock_aggregates + PARAMETER (GDS__dsql_wlock_aggregates = 336397328) + INTEGER*4 GDS__dsql_wlock_conflict + PARAMETER (GDS__dsql_wlock_conflict = 336397329) INTEGER*4 GDS__gsec_cant_open_db PARAMETER (GDS__gsec_cant_open_db = 336723983) INTEGER*4 GDS__gsec_switches_error Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/lang_helpers/gds_codes.pas 2014-05-03 00:27:47 UTC (rev 59526) @@ -1156,6 +1156,10 @@ gds_dsql_alter_sequence_failed = 336397323; gds_dsql_create_generator_failed = 336397324; gds_dsql_set_generator_failed = 336397325; + gds_dsql_wlock_simple = 336397326; + gds_dsql_firstskip_rows = 336397327; + gds_dsql_wlock_aggregates = 336397328; + gds_dsql_wlock_conflict = 336397329; gds_gsec_cant_open_db = 336723983; gds_gsec_switches_error = 336723984; gds_gsec_no_op_spec = 336723985; Modified: firebird/trunk/src/dsql/pass1.cpp =================================================================== --- firebird/trunk/src/dsql/pass1.cpp 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/dsql/pass1.cpp 2014-05-03 00:27:47 UTC (rev 59526) @@ -1816,9 +1816,7 @@ (relation->rel_flags & (REL_view | REL_external)))) { ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << - // Token unknown - Arg::Gds(isc_token_err) << - Arg::Gds(isc_random) << Arg::Str("WITH LOCK")); + Arg::Gds(isc_dsql_wlock_simple)); } } // end scope block @@ -1827,9 +1825,7 @@ if ((inputRse->dsqlFirst || inputRse->dsqlSkip) && rows) { ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << - // Token unknown - Arg::Gds(isc_token_err) << - Arg::Gds(isc_random) << Arg::Str("ROWS")); + Arg::Gds(isc_dsql_firstskip_rows)); } else if (rows) PASS1_limit(dsqlScratch, rows->length, rows->skip, rse); @@ -1927,9 +1923,7 @@ if (updateLock) { ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << - // Token unknown - Arg::Gds(isc_token_err) << - Arg::Gds(isc_random) << Arg::Str("WITH LOCK")); + Arg::Gds(isc_dsql_wlock_aggregates)); } parent_context = FB_NEW(*tdbb->getDefaultPool()) dsql_ctx(*tdbb->getDefaultPool()); @@ -1999,9 +1993,7 @@ if (updateLock) { ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << - // Token unknown - Arg::Gds(isc_token_err) << - Arg::Gds(isc_random) << Arg::Str("WITH LOCK")); + Arg::Gds(isc_dsql_wlock_conflict) << Arg::Str("DISTINCT")); } ++dsqlScratch->inSelectList; @@ -2583,9 +2575,7 @@ if (updateLock) { ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << - // Token unknown - Arg::Gds(isc_token_err) << - Arg::Gds(isc_random) << Arg::Str("WITH LOCK")); + Arg::Gds(isc_dsql_wlock_conflict) << Arg::Str("UNION")); } unionRse->dsqlDistinct = union_items; Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/include/gen/codetext.h 2014-05-03 00:27:47 UTC (rev 59526) @@ -1145,6 +1145,10 @@ {"dsql_alter_sequence_failed", 336397323}, {"dsql_create_generator_failed", 336397324}, {"dsql_set_generator_failed", 336397325}, + {"dsql_wlock_simple", 336397326}, + {"dsql_firstskip_rows", 336397327}, + {"dsql_wlock_aggregates", 336397328}, + {"dsql_wlock_conflict", 336397329}, {"gsec_cant_open_db", 336723983}, {"gsec_switches_error", 336723984}, {"gsec_no_op_spec", 336723985}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/include/gen/iberror.h 2014-05-03 00:27:47 UTC (rev 59526) @@ -1179,6 +1179,10 @@ const ISC_STATUS isc_dsql_alter_sequence_failed = 336397323L; const ISC_STATUS isc_dsql_create_generator_failed = 336397324L; const ISC_STATUS isc_dsql_set_generator_failed = 336397325L; +const ISC_STATUS isc_dsql_wlock_simple = 336397326L; +const ISC_STATUS isc_dsql_firstskip_rows = 336397327L; +const ISC_STATUS isc_dsql_wlock_aggregates = 336397328L; +const ISC_STATUS isc_dsql_wlock_conflict = 336397329L; const ISC_STATUS isc_gsec_cant_open_db = 336723983L; const ISC_STATUS isc_gsec_switches_error = 336723984L; const ISC_STATUS isc_gsec_no_op_spec = 336723985L; @@ -1280,7 +1284,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 = 1224; +const ISC_STATUS isc_err_max = 1228; #else /* c definitions */ @@ -2429,6 +2433,10 @@ #define isc_dsql_alter_sequence_failed 336397323L #define isc_dsql_create_generator_failed 336397324L #define isc_dsql_set_generator_failed 336397325L +#define isc_dsql_wlock_simple 336397326L +#define isc_dsql_firstskip_rows 336397327L +#define isc_dsql_wlock_aggregates 336397328L +#define isc_dsql_wlock_conflict 336397329L #define isc_gsec_cant_open_db 336723983L #define isc_gsec_switches_error 336723984L #define isc_gsec_no_op_spec 336723985L @@ -2530,7 +2538,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 1224 +#define isc_err_max 1228 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/include/gen/msgs.h 2014-05-03 00:27:47 UTC (rev 59526) @@ -1148,6 +1148,10 @@ {336397323, "ALTER SEQUENCE @1 failed"}, /* dsql_alter_sequence_failed */ {336397324, "CREATE GENERATOR @1 failed"}, /* dsql_create_generator_failed */ {336397325, "SET GENERATOR @1 failed"}, /* dsql_set_generator_failed */ + {336397326, "WITH LOCK can be used only with a single physical table"}, /* dsql_wlock_simple */ + {336397327, "FIRST/SKIP cannot be used with ROWS"}, /* dsql_firstskip_rows */ + {336397328, "WITH LOCK cannot be used with aggregates"}, /* dsql_wlock_aggregates */ + {336397329, "WITH LOCK cannot be used with @1"}, /* dsql_wlock_conflict */ {336723983, "unable to open database"}, /* gsec_cant_open_db */ {336723984, "error in switch specifications"}, /* gsec_switches_error */ {336723985, "no operation specified"}, /* gsec_no_op_spec */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/include/gen/sql_code.h 2014-05-03 00:27:47 UTC (rev 59526) @@ -1144,6 +1144,10 @@ {336397323, -901}, /* 1035 dsql_alter_sequence_failed */ {336397324, -901}, /* 1036 dsql_create_generator_failed */ {336397325, -901}, /* 1037 dsql_set_generator_failed */ + {336397326, -104}, /* 1038 dsql_wlock_simple */ + {336397327, -104}, /* 1039 dsql_firstskip_rows */ + {336397328, -104}, /* 1040 dsql_wlock_aggregates */ + {336397329, -104}, /* 1041 dsql_wlock_conflict */ {336723983, -901}, /* 15 gsec_cant_open_db */ {336723984, -901}, /* 16 gsec_switches_error */ {336723985, -901}, /* 17 gsec_no_op_spec */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/include/gen/sql_state.h 2014-05-03 00:27:47 UTC (rev 59526) @@ -1144,6 +1144,10 @@ {336397323, "42000"}, // 1035 dsql_alter_sequence_failed {336397324, "42000"}, // 1036 dsql_create_generator_failed {336397325, "42000"}, // 1037 dsql_set_generator_failed + {336397326, "42000"}, // 1038 dsql_wlock_simple + {336397327, "42000"}, // 1039 dsql_firstskip_rows + {336397328, "42000"}, // 1040 dsql_wlock_aggregates + {336397329, "42000"}, // 1041 dsql_wlock_conflict {336723983, "00000"}, // 15 gsec_cant_open_db {336723984, "00000"}, // 16 gsec_switches_error {336723985, "00000"}, // 17 gsec_no_op_spec Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/msgs/facilities2.sql 2014-05-03 00:27:47 UTC (rev 59526) @@ -10,7 +10,7 @@ ('1996-11-07 13:39:40', 'INSTALL', 10, 1) ('1996-11-07 13:38:41', 'TEST', 11, 4) ('2014-04-25 18:59:33', 'GBAK', 12, 357) -('2014-04-04 16:36:53', 'SQLERR', 13, 1038) +('2014-05-02 19:19:51', 'SQLERR', 13, 1042) ('1996-11-07 13:38:42', 'SQLWARN', 14, 613) ('2006-09-10 03:04:31', 'JRD_BUGCHK', 15, 307) ('2014-04-08 14:23:23', 'ISQL', 17, 186) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/msgs/messages2.sql 2014-05-03 00:27:47 UTC (rev 59526) @@ -2584,6 +2584,10 @@ ('dsql_alter_sequence_failed', 'putErrorPrefix', 'DdlNodes.h', NULL, 13, 1035, NULL, 'ALTER SEQUENCE @1 failed', NULL, NULL); ('dsql_create_generator_failed', 'putErrorPrefix', 'DdlNodes.h', NULL, 13, 1036, NULL, 'CREATE GENERATOR @1 failed', NULL, NULL); ('dsql_set_generator_failed', 'putErrorPrefix', 'DdlNodes.h', NULL, 13, 1037, NULL, 'SET GENERATOR @1 failed', NULL, NULL); +('dsql_wlock_simple', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1038, NULL, 'WITH LOCK can be used only with a single physical table', NULL, NULL); +('dsql_firstskip_rows', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1039, NULL, 'FIRST/SKIP cannot be used with ROWS', NULL, NULL); +('dsql_wlock_aggregates', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1040, NULL, 'WITH LOCK cannot be used with aggregates', NULL, NULL); +('dsql_wlock_conflict', NULL, 'pass1.cpp', NULL, 13, 1041, NULL, 'WITH LOCK cannot be used with @1', NULL, NULL); -- SQLWARN (NULL, NULL, NULL, NULL, 14, 100, NULL, 'Row not found for fetch, update or delete, or the result of a query is an empty table.', NULL, NULL); (NULL, NULL, NULL, NULL, 14, 101, NULL, 'segment buffer length shorter than expected', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2014-05-02 03:04:56 UTC (rev 59525) +++ firebird/trunk/src/msgs/system_errors2.sql 2014-05-03 00:27:47 UTC (rev 59526) @@ -1138,6 +1138,10 @@ (-901, '42', '000', 13, 1035, 'dsql_alter_sequence_failed', NULL, NULL) (-901, '42', '000', 13, 1036, 'dsql_create_generator_failed', NULL, NULL) (-901, '42', '000', 13, 1037, 'dsql_set_generator_failed', NULL, NULL) +(-104, '42', '000', 13, 1038, 'dsql_wlock_simple', NULL, NULL) +(-104, '42', '000', 13, 1039, 'dsql_firstskip_rows', NULL, NULL) +(-104, '42', '000', 13, 1040, 'dsql_wlock_aggregates', NULL, NULL) +(-104, '42', '000', 13, 1041, 'dsql_wlock_conflict', NULL, NULL) -- GSEC (-901, '00', '000', 18, 15, 'gsec_cant_open_db', NULL, NULL) (-901, '00', '000', 18, 16, 'gsec_switches_error', NULL, NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-03 00:30:47
|
Revision: 59527 http://sourceforge.net/p/firebird/code/59527 Author: firebirds Date: 2014-05-03 00:30:45 +0000 (Sat, 03 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-03 00:27:47 UTC (rev 59526) +++ firebird/trunk/ChangeLog 2014-05-03 00:30:45 UTC (rev 59527) @@ -1,3 +1,12 @@ + 2014-05-02 03:04 robocop + M src/burp/backup.epp + M src/dsql/DdlNodes.epp +In ODS12, rdb$system_flag is not nullable thus we can simplify some conditions. + + 2014-05-02 03:01 robocop + M src/jrd/vio.cpp +1.- Don't let gbak delete more than the only table it might clean. 2.- Special case for rdb$types: user can insert records, provided that's locksmith and the records contain non-system types. + 2014-05-01 05:55 robocop M src/jrd/vio.cpp More sys tables protected. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-03 00:27:47 UTC (rev 59526) +++ firebird/trunk/src/jrd/build_no.h 2014-05-03 00:30:45 UTC (rev 59527) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31093 + FORMAL BUILD NUMBER:31095 */ -#define PRODUCT_VER_STRING "3.0.0.31093" -#define FILE_VER_STRING "WI-T3.0.0.31093" -#define LICENSE_VER_STRING "WI-T3.0.0.31093" -#define FILE_VER_NUMBER 3, 0, 0, 31093 +#define PRODUCT_VER_STRING "3.0.0.31095" +#define FILE_VER_STRING "WI-T3.0.0.31095" +#define LICENSE_VER_STRING "WI-T3.0.0.31095" +#define FILE_VER_NUMBER 3, 0, 0, 31095 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31093" +#define FB_BUILD_NO "31095" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-03 00:27:47 UTC (rev 59526) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-03 00:30:45 UTC (rev 59527) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31093 +BuildNum=31095 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-04 00:28:13
|
Revision: 59528 http://sourceforge.net/p/firebird/code/59528 Author: firebirds Date: 2014-05-04 00:28:10 +0000 (Sun, 04 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-03 00:30:45 UTC (rev 59527) +++ firebird/trunk/ChangeLog 2014-05-04 00:28:10 UTC (rev 59528) @@ -1,3 +1,17 @@ + 2014-05-03 00:27 robocop + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/pass1.cpp + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql +Replace "unknown token" by specific messages. + 2014-05-02 03:04 robocop M src/burp/backup.epp M src/dsql/DdlNodes.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-03 00:30:45 UTC (rev 59527) +++ firebird/trunk/src/jrd/build_no.h 2014-05-04 00:28:10 UTC (rev 59528) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31095 + FORMAL BUILD NUMBER:31096 */ -#define PRODUCT_VER_STRING "3.0.0.31095" -#define FILE_VER_STRING "WI-T3.0.0.31095" -#define LICENSE_VER_STRING "WI-T3.0.0.31095" -#define FILE_VER_NUMBER 3, 0, 0, 31095 +#define PRODUCT_VER_STRING "3.0.0.31096" +#define FILE_VER_STRING "WI-T3.0.0.31096" +#define LICENSE_VER_STRING "WI-T3.0.0.31096" +#define FILE_VER_NUMBER 3, 0, 0, 31096 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31095" +#define FB_BUILD_NO "31096" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-03 00:30:45 UTC (rev 59527) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-04 00:28:10 UTC (rev 59528) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31095 +BuildNum=31096 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-05 00:25:37
|
Revision: 59532 http://sourceforge.net/p/firebird/code/59532 Author: firebirds Date: 2014-05-05 00:25:33 +0000 (Mon, 05 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-04 07:43:49 UTC (rev 59531) +++ firebird/trunk/ChangeLog 2014-05-05 00:25:33 UTC (rev 59532) @@ -1,3 +1,19 @@ + 2014-05-04 07:43 dimitr + M src/dsql/pass1.cpp +Fixed the issue with UNION ALL vs WITH LOCK reported by Claudio privately. + + 2014-05-04 06:46 robocop + M src/isql/isql.epp + M src/isql/isql.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql +1.- Prevent special chars from disabling isql. 2.- Do not take offsets from null pointers. + + 2014-05-04 05:40 robocop + M src/isql/isql.epp + M src/isql/isql.h +Group some global vars in isql (relative to the SET command). + 2014-05-03 00:27 robocop M lang_helpers/gds_codes.ftn M lang_helpers/gds_codes.pas Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-04 07:43:49 UTC (rev 59531) +++ firebird/trunk/src/jrd/build_no.h 2014-05-05 00:25:33 UTC (rev 59532) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31096 + FORMAL BUILD NUMBER:31099 */ -#define PRODUCT_VER_STRING "3.0.0.31096" -#define FILE_VER_STRING "WI-T3.0.0.31096" -#define LICENSE_VER_STRING "WI-T3.0.0.31096" -#define FILE_VER_NUMBER 3, 0, 0, 31096 +#define PRODUCT_VER_STRING "3.0.0.31099" +#define FILE_VER_STRING "WI-T3.0.0.31099" +#define LICENSE_VER_STRING "WI-T3.0.0.31099" +#define FILE_VER_NUMBER 3, 0, 0, 31099 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31096" +#define FB_BUILD_NO "31099" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-04 07:43:49 UTC (rev 59531) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-05 00:25:33 UTC (rev 59532) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31096 +BuildNum=31099 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-06 00:30:28
|
Revision: 59536 http://sourceforge.net/p/firebird/code/59536 Author: firebirds Date: 2014-05-06 00:30:24 +0000 (Tue, 06 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-05 15:28:10 UTC (rev 59535) +++ firebird/trunk/ChangeLog 2014-05-06 00:30:24 UTC (rev 59536) @@ -1,3 +1,16 @@ + 2014-05-05 15:28 mapopa + D lang_helpers/gds.pli + D lang_helpers/gds_vms.f +cleanup VMS leftovers + + 2014-05-05 14:58 alexpeshkoff + M src/jrd/Mapping.cpp +Use separate callback event per process - should make windows happy + + 2014-05-05 10:07 alexpeshkoff + M src/yvalve/why.cpp +Corrected patch from Dmitry Sibiryakov + 2014-05-04 07:43 dimitr M src/dsql/pass1.cpp Fixed the issue with UNION ALL vs WITH LOCK reported by Claudio privately. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-05 15:28:10 UTC (rev 59535) +++ firebird/trunk/src/jrd/build_no.h 2014-05-06 00:30:24 UTC (rev 59536) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31099 + FORMAL BUILD NUMBER:31102 */ -#define PRODUCT_VER_STRING "3.0.0.31099" -#define FILE_VER_STRING "WI-T3.0.0.31099" -#define LICENSE_VER_STRING "WI-T3.0.0.31099" -#define FILE_VER_NUMBER 3, 0, 0, 31099 +#define PRODUCT_VER_STRING "3.0.0.31102" +#define FILE_VER_STRING "WI-T3.0.0.31102" +#define LICENSE_VER_STRING "WI-T3.0.0.31102" +#define FILE_VER_NUMBER 3, 0, 0, 31102 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31099" +#define FB_BUILD_NO "31102" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-05 15:28:10 UTC (rev 59535) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-06 00:30:24 UTC (rev 59536) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31099 +BuildNum=31102 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-07 00:52:01
|
Revision: 59550 http://sourceforge.net/p/firebird/code/59550 Author: firebirds Date: 2014-05-07 00:51:58 +0000 (Wed, 07 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-06 22:41:24 UTC (rev 59549) +++ firebird/trunk/ChangeLog 2014-05-07 00:51:58 UTC (rev 59550) @@ -1,3 +1,59 @@ + 2014-05-06 22:41 robocop + M src/common/utils.cpp + M src/common/utils_proto.h +I need name_length_limit() for testing some isql functionality. + + 2014-05-06 18:10 asfernandes + M src/dsql/parse.y + M src/isql/show.epp + M src/jrd/constants.h +Fixed CORE-4415 - Useless extraction of generic DDL trigger. + + 2014-05-06 13:41 mapopa + D generated +Remove unused generated directory. Builds use the temporary 'gen' directory + + 2014-05-06 12:37 alexpeshkoff + M src/jrd/Mapping.cpp +Turn off db triggers for mapping connections + + 2014-05-06 12:25 alexpeshkoff + M src/jrd/jrd.cpp + M src/jrd/svc.cpp +Fixed a bug, privately reported by Pavel Zotov - segfault when closing trace + + 2014-05-06 10:29 alexpeshkoff + M src/jrd/Mapping.cpp +Turn of forgotten debugging + + 2014-05-06 10:07 alexpeshkoff + M src/common/classes/Hash.h + M src/jrd/Mapping.cpp +Fixed support of maps with same hash value + + 2014-05-06 08:49 mapopa + D lang_helpers/gds.vpas +remove vax pascal + + 2014-05-06 08:34 mapopa + M lang_helpers/gds.bas + M lang_helpers/gds.pas + M lang_helpers/gds.vpas + M lang_helpers/gds_aix.f + M lang_helpers/gds_hp.f + M lang_helpers/gds_sun.f +remove PYXIS + + 2014-05-06 07:49 mapopa + M doc/emacros-cross_ref.html +cleanup + + 2014-05-06 01:28 robocop + M src/jrd/JrdStatement.h + M src/jrd/req.h + M src/jrd/vio.cpp +Fix CORE-4418, using the property of special triggers that are marked "system" or "ignore_perm". + 2014-05-05 15:28 mapopa D lang_helpers/gds.pli D lang_helpers/gds_vms.f Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-06 22:41:24 UTC (rev 59549) +++ firebird/trunk/src/jrd/build_no.h 2014-05-07 00:51:58 UTC (rev 59550) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31102 + FORMAL BUILD NUMBER:31113 */ -#define PRODUCT_VER_STRING "3.0.0.31102" -#define FILE_VER_STRING "WI-T3.0.0.31102" -#define LICENSE_VER_STRING "WI-T3.0.0.31102" -#define FILE_VER_NUMBER 3, 0, 0, 31102 +#define PRODUCT_VER_STRING "3.0.0.31113" +#define FILE_VER_STRING "WI-T3.0.0.31113" +#define LICENSE_VER_STRING "WI-T3.0.0.31113" +#define FILE_VER_NUMBER 3, 0, 0, 31113 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31102" +#define FB_BUILD_NO "31113" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-06 22:41:24 UTC (rev 59549) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-07 00:51:58 UTC (rev 59550) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31102 +BuildNum=31113 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-08 00:26:27
|
Revision: 59561 http://sourceforge.net/p/firebird/code/59561 Author: firebirds Date: 2014-05-08 00:26:24 +0000 (Thu, 08 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-07 21:21:08 UTC (rev 59560) +++ firebird/trunk/ChangeLog 2014-05-08 00:26:24 UTC (rev 59561) @@ -1,3 +1,37 @@ + 2014-05-07 15:14 mapopa + M examples/include/align.h +FB_ALIGN is always defined in src/include/types_pub.h ((n+b-1)&~(b-1)) + + 2014-05-07 15:11 mapopa + M configure.ac +FB_ALIGN is always defined in src/include/types_pub.h ((n+b-1)&~(b-1)) + + 2014-05-07 14:51 mapopa + M examples/include/align.h +cleanup VMS FB_ALIGN define + + 2014-05-07 11:21 alexpeshkoff + M src/jrd/JrdStatement.cpp + M src/jrd/scl.epp + M src/jrd/scl_proto.h + M src/jrd/vio.cpp +Postfix for CORE-3242: somewhy when checking metadata access (like MODIFY or DROP) always checked that access from object itself. Strange at the first glance behavior, but let us do not change legacy (at least since FB1.0) when possible. + + 2014-05-07 10:21 alexpeshkoff + M src/burp/burp.cpp + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/utilities/fbtracemgr/traceMgrMain.cpp +Fixed CORE-4398: Provide ability to specify extra-long name of log when doing gbak to avoid "attempt to store 256 bytes in a clumplet" message + + 2014-05-07 09:18 alexpeshkoff + M src/common/classes/Hash.h + M src/jrd/Mapping.cpp +Change Hash duplicates control interface to avoid unexpected use - thanks to Claudio + + 2014-05-07 08:58 robocop + M src/jrd/vio.cpp +Fix the problem with gbak restoring a db and lack of rights on sys tables that Philippe detected. + 2014-05-06 22:41 robocop M src/common/utils.cpp M src/common/utils_proto.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-07 21:21:08 UTC (rev 59560) +++ firebird/trunk/src/jrd/build_no.h 2014-05-08 00:26:24 UTC (rev 59561) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31113 + FORMAL BUILD NUMBER:31120 */ -#define PRODUCT_VER_STRING "3.0.0.31113" -#define FILE_VER_STRING "WI-T3.0.0.31113" -#define LICENSE_VER_STRING "WI-T3.0.0.31113" -#define FILE_VER_NUMBER 3, 0, 0, 31113 +#define PRODUCT_VER_STRING "3.0.0.31120" +#define FILE_VER_STRING "WI-T3.0.0.31120" +#define LICENSE_VER_STRING "WI-T3.0.0.31120" +#define FILE_VER_NUMBER 3, 0, 0, 31120 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31113" +#define FB_BUILD_NO "31120" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-07 21:21:08 UTC (rev 59560) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-08 00:26:24 UTC (rev 59561) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31113 +BuildNum=31120 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-09 00:26:59
|
Revision: 59564 http://sourceforge.net/p/firebird/code/59564 Author: firebirds Date: 2014-05-09 00:26:55 +0000 (Fri, 09 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-08 23:26:40 UTC (rev 59563) +++ firebird/trunk/ChangeLog 2014-05-09 00:26:55 UTC (rev 59564) @@ -1,3 +1,18 @@ + 2014-05-08 23:26 asfernandes + M src/jrd/JrdStatement.h + M src/jrd/Mapping.cpp + M src/jrd/ext.cpp + M src/jrd/jrd.cpp + M src/jrd/scl.epp + M src/jrd/svc.cpp + M src/jrd/vio.cpp +Misc. + + 2014-05-08 02:51 asfernandes + M src/common/utils.cpp + M src/dsql/DdlNodes.epp +Misc. + 2014-05-07 15:14 mapopa M examples/include/align.h FB_ALIGN is always defined in src/include/types_pub.h ((n+b-1)&~(b-1)) Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-08 23:26:40 UTC (rev 59563) +++ firebird/trunk/src/jrd/build_no.h 2014-05-09 00:26:55 UTC (rev 59564) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31120 + FORMAL BUILD NUMBER:31122 */ -#define PRODUCT_VER_STRING "3.0.0.31120" -#define FILE_VER_STRING "WI-T3.0.0.31120" -#define LICENSE_VER_STRING "WI-T3.0.0.31120" -#define FILE_VER_NUMBER 3, 0, 0, 31120 +#define PRODUCT_VER_STRING "3.0.0.31122" +#define FILE_VER_STRING "WI-T3.0.0.31122" +#define LICENSE_VER_STRING "WI-T3.0.0.31122" +#define FILE_VER_NUMBER 3, 0, 0, 31122 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31120" +#define FB_BUILD_NO "31122" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-08 23:26:40 UTC (rev 59563) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-09 00:26:55 UTC (rev 59564) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31120 +BuildNum=31122 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-10 00:26:59
|
Revision: 59569 http://sourceforge.net/p/firebird/code/59569 Author: firebirds Date: 2014-05-10 00:26:56 +0000 (Sat, 10 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-09 20:26:01 UTC (rev 59568) +++ firebird/trunk/ChangeLog 2014-05-10 00:26:56 UTC (rev 59569) @@ -1,3 +1,19 @@ + 2014-05-09 20:26 robocop + M src/jrd/vio.cpp +It seems it's possible to restrict gbak more on deletions. Thanks Vlad for hint on TDBB_dont_post_dfw. + + 2014-05-09 11:38 mapopa + D lang_helpers/gds.bas +remove vms basic + + 2014-05-09 09:23 mapopa + M src/burp/burp.cpp +Misc cleanup + + 2014-05-09 09:01 mapopa + M src/remote/protocol.h +Cleanup dead platforms + 2014-05-08 23:26 asfernandes M src/jrd/JrdStatement.h M src/jrd/Mapping.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-09 20:26:01 UTC (rev 59568) +++ firebird/trunk/src/jrd/build_no.h 2014-05-10 00:26:56 UTC (rev 59569) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31122 + FORMAL BUILD NUMBER:31126 */ -#define PRODUCT_VER_STRING "3.0.0.31122" -#define FILE_VER_STRING "WI-T3.0.0.31122" -#define LICENSE_VER_STRING "WI-T3.0.0.31122" -#define FILE_VER_NUMBER 3, 0, 0, 31122 +#define PRODUCT_VER_STRING "3.0.0.31126" +#define FILE_VER_STRING "WI-T3.0.0.31126" +#define LICENSE_VER_STRING "WI-T3.0.0.31126" +#define FILE_VER_NUMBER 3, 0, 0, 31126 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31122" +#define FB_BUILD_NO "31126" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-09 20:26:01 UTC (rev 59568) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-10 00:26:56 UTC (rev 59569) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31122 +BuildNum=31126 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-11 00:27:21
|
Revision: 59575 http://sourceforge.net/p/firebird/code/59575 Author: firebirds Date: 2014-05-11 00:27:18 +0000 (Sun, 11 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-10 14:24:46 UTC (rev 59574) +++ firebird/trunk/ChangeLog 2014-05-11 00:27:18 UTC (rev 59575) @@ -1,3 +1,18 @@ + 2014-05-10 14:24 robocop + M src/qli/dtr.cpp + M src/qli/eval.cpp +Misc. + + 2014-05-10 14:23 robocop + M src/burp/restore.epp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql +Add 4 more verbose messages when restoring and reorganize code. + + 2014-05-10 14:17 robocop + M src/jrd/vio.cpp +Misplaced parentheses are unexpected invitees. + 2014-05-09 20:26 robocop M src/jrd/vio.cpp It seems it's possible to restrict gbak more on deletions. Thanks Vlad for hint on TDBB_dont_post_dfw. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-10 14:24:46 UTC (rev 59574) +++ firebird/trunk/src/jrd/build_no.h 2014-05-11 00:27:18 UTC (rev 59575) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31126 + FORMAL BUILD NUMBER:31129 */ -#define PRODUCT_VER_STRING "3.0.0.31126" -#define FILE_VER_STRING "WI-T3.0.0.31126" -#define LICENSE_VER_STRING "WI-T3.0.0.31126" -#define FILE_VER_NUMBER 3, 0, 0, 31126 +#define PRODUCT_VER_STRING "3.0.0.31129" +#define FILE_VER_STRING "WI-T3.0.0.31129" +#define LICENSE_VER_STRING "WI-T3.0.0.31129" +#define FILE_VER_NUMBER 3, 0, 0, 31129 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31126" +#define FB_BUILD_NO "31129" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-10 14:24:46 UTC (rev 59574) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-11 00:27:18 UTC (rev 59575) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31126 +BuildNum=31129 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-13 00:48:30
|
Revision: 59583 http://sourceforge.net/p/firebird/code/59583 Author: firebirds Date: 2014-05-13 00:48:25 +0000 (Tue, 13 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-12 09:44:51 UTC (rev 59582) +++ firebird/trunk/ChangeLog 2014-05-13 00:48:25 UTC (rev 59583) @@ -1,3 +1,11 @@ + 2014-05-12 07:06 dimitr + M src/dsql/pass1.cpp +Fixed CORE-4422: FB crashes when using row_number()over( PARTITION BY x) in ORDER by clause. Adriano, please review. + + 2014-05-12 06:04 dimitr + M src/jrd/recsrc/RecordSource.h +Fixed the issue privately reported by Claudio. + 2014-05-10 14:24 robocop M src/qli/dtr.cpp M src/qli/eval.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-12 09:44:51 UTC (rev 59582) +++ firebird/trunk/src/jrd/build_no.h 2014-05-13 00:48:25 UTC (rev 59583) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31129 + FORMAL BUILD NUMBER:31131 */ -#define PRODUCT_VER_STRING "3.0.0.31129" -#define FILE_VER_STRING "WI-T3.0.0.31129" -#define LICENSE_VER_STRING "WI-T3.0.0.31129" -#define FILE_VER_NUMBER 3, 0, 0, 31129 +#define PRODUCT_VER_STRING "3.0.0.31131" +#define FILE_VER_STRING "WI-T3.0.0.31131" +#define LICENSE_VER_STRING "WI-T3.0.0.31131" +#define FILE_VER_NUMBER 3, 0, 0, 31131 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31129" +#define FB_BUILD_NO "31131" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-12 09:44:51 UTC (rev 59582) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-13 00:48:25 UTC (rev 59583) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31129 +BuildNum=31131 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-14 00:29:03
|
Revision: 59586 http://sourceforge.net/p/firebird/code/59586 Author: firebirds Date: 2014-05-14 00:28:58 +0000 (Wed, 14 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-13 02:34:34 UTC (rev 59585) +++ firebird/trunk/ChangeLog 2014-05-14 00:28:58 UTC (rev 59586) @@ -1,3 +1,7 @@ + 2014-05-13 01:47 asfernandes + M src/jrd/dfw.epp +Fixed CORE-4425 - User-collations based on UNICODE are not upgrade to newer ICU version on restore. + 2014-05-12 07:06 dimitr M src/dsql/pass1.cpp Fixed CORE-4422: FB crashes when using row_number()over( PARTITION BY x) in ORDER by clause. Adriano, please review. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-13 02:34:34 UTC (rev 59585) +++ firebird/trunk/src/jrd/build_no.h 2014-05-14 00:28:58 UTC (rev 59586) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31131 + FORMAL BUILD NUMBER:31132 */ -#define PRODUCT_VER_STRING "3.0.0.31131" -#define FILE_VER_STRING "WI-T3.0.0.31131" -#define LICENSE_VER_STRING "WI-T3.0.0.31131" -#define FILE_VER_NUMBER 3, 0, 0, 31131 +#define PRODUCT_VER_STRING "3.0.0.31132" +#define FILE_VER_STRING "WI-T3.0.0.31132" +#define LICENSE_VER_STRING "WI-T3.0.0.31132" +#define FILE_VER_NUMBER 3, 0, 0, 31132 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31131" +#define FB_BUILD_NO "31132" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-13 02:34:34 UTC (rev 59585) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-14 00:28:58 UTC (rev 59586) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31131 +BuildNum=31132 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-15 00:35:41
|
Revision: 59590 http://sourceforge.net/p/firebird/code/59590 Author: firebirds Date: 2014-05-15 00:35:37 +0000 (Thu, 15 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-14 09:22:16 UTC (rev 59589) +++ firebird/trunk/ChangeLog 2014-05-15 00:35:37 UTC (rev 59590) @@ -1,3 +1,17 @@ + 2014-05-14 09:22 dimitr + M src/jrd/sort.cpp + M src/jrd/sort.h +Fixed CORE-4419: Server crashes while sorting records longer than 128KB. + + 2014-05-14 08:28 dimitr + M src/jrd/recsrc/HashJoin.cpp +Slightly reworked the key processing in the hash join algorithm. + + 2014-05-14 08:24 dimitr + M src/jrd/recsrc/MergeJoin.cpp + M src/jrd/recsrc/RecordSource.h +Fixed the accidentally broken merge join algorithm. + 2014-05-13 01:47 asfernandes M src/jrd/dfw.epp Fixed CORE-4425 - User-collations based on UNICODE are not upgrade to newer ICU version on restore. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-14 09:22:16 UTC (rev 59589) +++ firebird/trunk/src/jrd/build_no.h 2014-05-15 00:35:37 UTC (rev 59590) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31132 + FORMAL BUILD NUMBER:31135 */ -#define PRODUCT_VER_STRING "3.0.0.31132" -#define FILE_VER_STRING "WI-T3.0.0.31132" -#define LICENSE_VER_STRING "WI-T3.0.0.31132" -#define FILE_VER_NUMBER 3, 0, 0, 31132 +#define PRODUCT_VER_STRING "3.0.0.31135" +#define FILE_VER_STRING "WI-T3.0.0.31135" +#define LICENSE_VER_STRING "WI-T3.0.0.31135" +#define FILE_VER_NUMBER 3, 0, 0, 31135 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31132" +#define FB_BUILD_NO "31135" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-14 09:22:16 UTC (rev 59589) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-15 00:35:37 UTC (rev 59590) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31132 +BuildNum=31135 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-17 00:31:52
|
Revision: 59602 http://sourceforge.net/p/firebird/code/59602 Author: firebirds Date: 2014-05-17 00:31:50 +0000 (Sat, 17 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-16 13:21:16 UTC (rev 59601) +++ firebird/trunk/ChangeLog 2014-05-17 00:31:50 UTC (rev 59602) @@ -1,3 +1,34 @@ + 2014-05-16 13:21 mapopa + M src/remote/merge.cpp +Cleanup convert function NOT_USED_OR_REPLACED + + 2014-05-16 13:06 mapopa + M src/remote/server/os/posix/inet_server.cpp +Cleanup + + 2014-05-16 12:59 hvlad + M src/jrd/validation.cpp +Correct format specifiers + + 2014-05-16 12:10 hvlad + M src/jrd/GlobalRWLock.cpp +Front ported fix for bug CORE-4433 : GlobalRWLock could not downgrade EX lock to SH if readers is present + + 2014-05-16 12:07 hvlad + M src/jrd/cch.cpp + M src/jrd/jrd.cpp + M src/jrd/nbak.cpp + M src/jrd/nbak.h +Front ported: +1. Improvement CORE-4431 : Reduce contention for allocation table lock while database is in stalled physical backup state +2. Improvement CORE-4432 : Let attachments to not block others when allocation table is read first time +3. On Windows, file can not be deleted while system writes cached data into it, even if file is not open by anyone. +Therefore flush delta file implicitly before closing it. + + 2014-05-16 10:53 hvlad + M src/jrd/dpm.epp +Front ported fix for bug CORE-4372 : Deadlock is possible when two data pages contains record fragments pointing to each other + 2014-05-14 09:22 dimitr M src/jrd/sort.cpp M src/jrd/sort.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-16 13:21:16 UTC (rev 59601) +++ firebird/trunk/src/jrd/build_no.h 2014-05-17 00:31:50 UTC (rev 59602) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31135 + FORMAL BUILD NUMBER:31141 */ -#define PRODUCT_VER_STRING "3.0.0.31135" -#define FILE_VER_STRING "WI-T3.0.0.31135" -#define LICENSE_VER_STRING "WI-T3.0.0.31135" -#define FILE_VER_NUMBER 3, 0, 0, 31135 +#define PRODUCT_VER_STRING "3.0.0.31141" +#define FILE_VER_STRING "WI-T3.0.0.31141" +#define LICENSE_VER_STRING "WI-T3.0.0.31141" +#define FILE_VER_NUMBER 3, 0, 0, 31141 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31135" +#define FB_BUILD_NO "31141" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-16 13:21:16 UTC (rev 59601) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-17 00:31:50 UTC (rev 59602) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31135 +BuildNum=31141 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2014-05-19 19:06:51
|
Revision: 59606 http://sourceforge.net/p/firebird/code/59606 Author: asfernandes Date: 2014-05-19 19:06:47 +0000 (Mon, 19 May 2014) Log Message: ----------- Feature CORE-4403 - Allow referencing cursors as record variables in PSQL. Improvement CORE-4434 - Extend the use of colon prefix for read/assignment OLD/NEW fields and assignment to variables. Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/dsql/BlrDebugWriter.cpp firebird/trunk/src/dsql/BlrDebugWriter.h firebird/trunk/src/dsql/DdlNodes.epp firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/dsql/ExprNodes.h firebird/trunk/src/dsql/Nodes.h firebird/trunk/src/dsql/StmtNodes.cpp firebird/trunk/src/dsql/dsql.h firebird/trunk/src/dsql/parse.y firebird/trunk/src/dsql/pass1.cpp firebird/trunk/src/dsql/pass1_proto.h firebird/trunk/src/include/consts_pub.h firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/jrd/DebugInterface.cpp firebird/trunk/src/jrd/DebugInterface.h firebird/trunk/src/jrd/RecordSourceNodes.cpp firebird/trunk/src/jrd/exe.h firebird/trunk/src/jrd/filters.cpp firebird/trunk/src/jrd/recsrc/Cursor.h firebird/trunk/src/jrd/vio.cpp firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-05-19 19:06:47 UTC (rev 59606) @@ -1594,6 +1594,8 @@ PARAMETER (GDS__miss_trusted_role = 335545090) INTEGER*4 GDS__set_invalid_role PARAMETER (GDS__set_invalid_role = 335545091) + INTEGER*4 GDS__cursor_not_positioned + PARAMETER (GDS__cursor_not_positioned = 335545092) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/lang_helpers/gds_codes.pas 2014-05-19 19:06:47 UTC (rev 59606) @@ -804,6 +804,7 @@ gds_map_notable = 335545089; gds_miss_trusted_role = 335545090; gds_set_invalid_role = 335545091; + gds_cursor_not_positioned = 335545092; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/dsql/BlrDebugWriter.cpp =================================================================== --- firebird/trunk/src/dsql/BlrDebugWriter.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/BlrDebugWriter.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -106,6 +106,19 @@ debugData.add(reinterpret_cast<const UCHAR*>(name), len); } +void BlrDebugWriter::putDebugCursor(USHORT number, const MetaName& name) +{ + debugData.add(fb_dbg_map_curname); + + debugData.add(number); + debugData.add(number >> 8); + + USHORT len = MIN(name.length(), MAX_UCHAR); + debugData.add(len); + + debugData.add(reinterpret_cast<const UCHAR*>(name.c_str()), len); +} + void BlrDebugWriter::putDebugSubFunction(DeclareSubFuncNode* subFuncNode) { debugData.add(fb_dbg_subfunc); Modified: firebird/trunk/src/dsql/BlrDebugWriter.h =================================================================== --- firebird/trunk/src/dsql/BlrDebugWriter.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/BlrDebugWriter.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -47,6 +47,7 @@ void putDebugSrcInfo(ULONG, ULONG); void putDebugVariable(USHORT, const Firebird::MetaName&); void putDebugArgument(UCHAR, USHORT, const TEXT*); + void putDebugCursor(USHORT, const Firebird::MetaName&); void putDebugSubFunction(DeclareSubFuncNode* subFuncNode); void putDebugSubProcedure(DeclareSubProcNode* subProcNode); Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/DdlNodes.epp 2014-05-19 19:06:47 UTC (rev 59606) @@ -3173,7 +3173,7 @@ { relationNode->alias = OLD_CONTEXT_NAME; dsql_ctx* oldContext = PASS1_make_context(dsqlScratch, relationNode); - oldContext->ctx_flags |= CTX_system; + oldContext->ctx_flags |= CTX_system | CTX_cursor; } else dsqlScratch->contextNumber++; @@ -3182,7 +3182,7 @@ { relationNode->alias = NEW_CONTEXT_NAME; dsql_ctx* newContext = PASS1_make_context(dsqlScratch, relationNode); - newContext->ctx_flags |= CTX_system; + newContext->ctx_flags |= CTX_system | CTX_cursor; } else dsqlScratch->contextNumber++; Modified: firebird/trunk/src/dsql/ExprNodes.cpp =================================================================== --- firebird/trunk/src/dsql/ExprNodes.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/ExprNodes.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -33,6 +33,7 @@ #include "../jrd/SysFunction.h" #include "../jrd/recsrc/RecordSource.h" #include "../jrd/Optimizer.h" +#include "../jrd/recsrc/Cursor.h" #include "../jrd/blb_proto.h" #include "../jrd/cmp_proto.h" #include "../jrd/cvt_proto.h" @@ -3990,6 +3991,8 @@ *i = copier.remap[*i]; } + fb_assert(!cursorNumber.specified); + return node; } @@ -4032,11 +4035,33 @@ getDesc(tdbb, csb, &desc); impureOffset = CMP_impure(csb, sizeof(impure_value)); + // As all streams belongs to the same cursor, we use only the first. + cursorNumber = csb->csb_rpt[internalStreamList[0]].csb_cursor_number; + return this; } dsc* DerivedExprNode::execute(thread_db* tdbb, jrd_req* request) const { + if (cursorNumber.specified) + { + const Cursor* const cursor = request->req_cursors[cursorNumber.value]; + const Cursor::Impure* const cursorImpure = request->getImpure<Cursor::Impure>(cursor->m_impure); + + if (!cursorImpure->irsb_active) + { + // error: invalid cursor state + status_exception::raise(Arg::Gds(isc_cursor_not_open)); + } + + if (cursorImpure->irsb_state != Cursor::POSITIONED) + { + status_exception::raise( + Arg::Gds(isc_cursor_not_positioned) << + Arg::Str(cursor->name)); + } + } + dsc* value = NULL; for (const StreamType* i = internalStreamList.begin(); i != internalStreamList.end(); ++i) @@ -4492,7 +4517,8 @@ fieldStream(0), format(NULL), fieldId(0), - byId(false) + byId(false), + dsqlCursorField(false) { } @@ -4506,7 +4532,8 @@ fieldStream(stream), format(NULL), fieldId(id), - byId(aById) + byId(aById), + dsqlCursorField(false) { } @@ -4685,26 +4712,16 @@ return this; } - if (dsqlScratch->isPsql()) + if (dsqlScratch->isPsql() && !dsqlQualifier.hasData()) { - if (dsqlQualifier.hasData()) - { - if (dsqlScratch->flags & DsqlCompilerScratch::FLAG_TRIGGER) // triggers only - return internalDsqlPass(dsqlScratch, NULL); - - PASS1_field_unknown(NULL, NULL, this); - } - - VariableNode* node = FB_NEW(getPool()) VariableNode(getPool()); node->line = line; node->column = column; node->dsqlName = dsqlName; - return node->dsqlPass(dsqlScratch); } - - return internalDsqlPass(dsqlScratch, NULL); + else + return internalDsqlPass(dsqlScratch, NULL); } // Resolve a field name to an available context. @@ -4781,13 +4798,14 @@ for (DsqlContextStack::iterator stack(*dsqlScratch->context); stack.hasData(); ++stack) { - // resolveContext() checks the type of the - // given context, so the cast to dsql_ctx* is safe. - dsql_ctx* context = stack.object(); - if (context->ctx_scope_level != currentScopeLevel - 1) + if (context->ctx_scope_level != currentScopeLevel - 1 || + ((context->ctx_flags & CTX_cursor) && dsqlQualifier.isEmpty()) || + (!(context->ctx_flags & CTX_cursor) && dsqlCursorField)) + { continue; + } dsql_fld* field = resolveContext(dsqlScratch, dsqlQualifier, context, resolveByAlias); @@ -5322,6 +5340,7 @@ stream = copier.remap[stream]; } + fb_assert(!cursorNumber.specified); return PAR_gen_field(tdbb, stream, fldId, byId); } @@ -5540,6 +5559,7 @@ format = CMP_format(tdbb, csb, fieldStream); impureOffset = CMP_impure(csb, sizeof(impure_value_ex)); + cursorNumber = csb->csb_rpt[fieldStream].csb_cursor_number; return this; } @@ -5548,6 +5568,25 @@ { impure_value* const impure = request->getImpure<impure_value>(impureOffset); + if (cursorNumber.specified) + { + const Cursor* const cursor = request->req_cursors[cursorNumber.value]; + const Cursor::Impure* const cursorImpure = request->getImpure<Cursor::Impure>(cursor->m_impure); + + if (!cursorImpure->irsb_active) + { + // error: invalid cursor state + status_exception::raise(Arg::Gds(isc_cursor_not_open)); + } + + if (cursorImpure->irsb_state != Cursor::POSITIONED) + { + status_exception::raise( + Arg::Gds(isc_cursor_not_positioned) << + Arg::Str(cursor->name)); + } + } + record_param& rpb = request->req_rpb[fieldStream]; Record* record = rpb.rpb_record; jrd_rel* relation = rpb.rpb_relation; Modified: firebird/trunk/src/dsql/ExprNodes.h =================================================================== --- firebird/trunk/src/dsql/ExprNodes.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/ExprNodes.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -519,6 +519,7 @@ public: NestConst<ValueExprNode> arg; Firebird::Array<StreamType> internalStreamList; + Nullable<USHORT> cursorNumber; }; @@ -647,6 +648,8 @@ const Format* format; const USHORT fieldId; const bool byId; + bool dsqlCursorField; + Nullable<USHORT> cursorNumber; }; Modified: firebird/trunk/src/dsql/Nodes.h =================================================================== --- firebird/trunk/src/dsql/Nodes.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/Nodes.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -970,6 +970,7 @@ static const unsigned DFLAG_DERIVED = 0x08; static const unsigned DFLAG_DT_IGNORE_COLUMN_CHECK = 0x10; static const unsigned DFLAG_DT_CTE_USED = 0x20; + static const unsigned DFLAG_CURSOR = 0x40; RecordSourceNode(Type aType, MemoryPool& pool) : ExprNode(aType, pool, KIND_REC_SOURCE), Modified: firebird/trunk/src/dsql/StmtNodes.cpp =================================================================== --- firebird/trunk/src/dsql/StmtNodes.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/StmtNodes.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -277,6 +277,13 @@ node->asgnFrom = doDsqlPass(dsqlScratch, asgnFrom); node->asgnTo = doDsqlPass(dsqlScratch, asgnTo); + DerivedFieldNode* fieldNode = node->asgnTo->as<DerivedFieldNode>(); + if (fieldNode && fieldNode->context && + (fieldNode->context->ctx_flags & (CTX_system | CTX_cursor)) == CTX_cursor) + { + ERR_post(Arg::Gds(isc_read_only_field)); + } + // Try to force asgnFrom to be same type as asgnTo eg: ? = FIELD case PASS1_set_parameter_type(dsqlScratch, node->asgnFrom, node->asgnTo, false); @@ -343,41 +350,44 @@ doPass1(tdbb, csb, missing.getAddress()); // ASF: No idea why we do not call pass1 for missing2. - // Perform any post-processing here. + return this; +} - sub = asgnTo; +AssignmentNode* AssignmentNode::pass2(thread_db* tdbb, CompilerScratch* csb) +{ + ExprNode::doPass2(tdbb, csb, asgnFrom.getAddress()); + ExprNode::doPass2(tdbb, csb, asgnTo.getAddress()); + ExprNode::doPass2(tdbb, csb, missing.getAddress()); + ExprNode::doPass2(tdbb, csb, missing2.getAddress()); - if ((fieldNode = sub->as<FieldNode>())) + FieldNode* fieldNode; + + if ((fieldNode = asgnTo->as<FieldNode>())) { - stream = fieldNode->fieldStream; - tail = &csb->csb_rpt[stream]; + CompilerScratch::csb_repeat* tail = &csb->csb_rpt[fieldNode->fieldStream]; // Assignments to the OLD context are prohibited for all trigger types. - if ((tail->csb_flags & csb_trigger) && stream == OLD_CONTEXT_VALUE) + if ((tail->csb_flags & csb_trigger) && fieldNode->fieldStream == OLD_CONTEXT_VALUE) ERR_post(Arg::Gds(isc_read_only_field)); // Assignments to the NEW context are prohibited for post-action triggers. - if ((tail->csb_flags & csb_trigger) && stream == NEW_CONTEXT_VALUE && + if ((tail->csb_flags & csb_trigger) && fieldNode->fieldStream == NEW_CONTEXT_VALUE && (csb->csb_g_flags & csb_post_trigger)) { ERR_post(Arg::Gds(isc_read_only_field)); } + + // Assignment to cursor fields are always prohibited. + // But we cannot detect FOR cursors here. They are treated in dsqlPass. + if (fieldNode->cursorNumber.specified) + ERR_post(Arg::Gds(isc_read_only_field)); } - else if (!(sub->is<ParameterNode>() || sub->is<VariableNode>() || sub->is<NullNode>())) + else if (!(asgnTo->is<ParameterNode>() || asgnTo->is<VariableNode>() || asgnTo->is<NullNode>())) ERR_post(Arg::Gds(isc_read_only_field)); return this; } -AssignmentNode* AssignmentNode::pass2(thread_db* tdbb, CompilerScratch* csb) -{ - ExprNode::doPass2(tdbb, csb, asgnFrom.getAddress()); - ExprNode::doPass2(tdbb, csb, asgnTo.getAddress()); - ExprNode::doPass2(tdbb, csb, missing.getAddress()); - ExprNode::doPass2(tdbb, csb, missing2.getAddress()); - return this; -} - const StmtNode* AssignmentNode::execute(thread_db* tdbb, jrd_req* request, ExeState* /*exeState*/) const { if (request->req_operation == jrd_req::req_evaluate) @@ -1010,6 +1020,8 @@ // Assignment. + dsqlScratch->appendUChar(blr_begin); + if (dsqlIntoStmt) { ValueListNode* list = cursor->rse->dsqlSelectList; @@ -1020,8 +1032,6 @@ Arg::Gds(isc_dsql_count_mismatch)); } - dsqlScratch->appendUChar(blr_begin); - NestConst<ValueExprNode>* ptr = list->items.begin(); NestConst<ValueExprNode>* end = list->items.end(); NestConst<ValueExprNode>* ptr_to = dsqlIntoStmt->items.begin(); @@ -1032,9 +1042,9 @@ GEN_expr(dsqlScratch, *ptr++); GEN_expr(dsqlScratch, *ptr_to++); } + } - dsqlScratch->appendUChar(blr_end); - } + dsqlScratch->appendUChar(blr_end); } CursorStmtNode* CursorStmtNode::pass1(thread_db* tdbb, CompilerScratch* csb) @@ -1177,18 +1187,19 @@ // Make sure the cursor doesn't exist. PASS1_cursor_name(dsqlScratch, dsqlName, CUR_TYPE_ALL, false); - // Temporarily hide unnecessary contexts and process our RSE. - DsqlContextStack* const baseContext = dsqlScratch->context; - DsqlContextStack temp; - dsqlScratch->context = &temp; - rse = PASS1_rse(dsqlScratch, dsqlSelect->dsqlExpr, dsqlSelect->dsqlWithLock); - dsqlScratch->context->clear(); - dsqlScratch->context = baseContext; + SelectExprNode* dt = FB_NEW(getPool()) SelectExprNode(getPool()); + dt->dsqlFlags = RecordSourceNode::DFLAG_DERIVED | RecordSourceNode::DFLAG_CURSOR; + dt->querySpec = dsqlSelect->dsqlExpr; + dt->alias = dsqlName.c_str(); + rse = PASS1_derived_table(dsqlScratch, dt, NULL, dsqlSelect->dsqlWithLock); + // Assign number and store in the dsqlScratch stack. cursorNumber = dsqlScratch->cursorNumber++; dsqlScratch->cursors.push(this); + dsqlScratch->putDebugCursor(cursorNumber, dsqlName); + return this; } @@ -1239,12 +1250,19 @@ cursor = FB_NEW(*tdbb->getDefaultPool()) Cursor(csb, rsb, rse->rse_invariants, (rse->flags & RseNode::FLAG_SCROLLABLE)); + csb->csb_dbg_info->curIndexToName.get(cursorNumber, cursor->name); if (cursorNumber >= csb->csb_cursors.getCount()) csb->csb_cursors.grow(cursorNumber + 1); csb->csb_cursors[cursorNumber] = cursor; + StreamList cursorStreams; + cursor->getAccessPath()->findUsedStreams(cursorStreams); + + for (StreamList::const_iterator i = cursorStreams.begin(); i != cursorStreams.end(); ++i) + csb->csb_rpt[*i].csb_cursor_number = cursorNumber; + return this; } @@ -4315,16 +4333,30 @@ ForNode* node = FB_NEW(getPool()) ForNode(getPool()); node->dsqlCursor = dsqlCursor; - node->dsqlSelect = dsqlSelect->dsqlPass(dsqlScratch); + const DsqlContextStack::iterator base(*dsqlScratch->context); + if (dsqlCursor) { fb_assert(dsqlCursor->dsqlCursorType != DeclareCursorNode::CUR_TYPE_NONE); PASS1_cursor_name(dsqlScratch, dsqlCursor->dsqlName, DeclareCursorNode::CUR_TYPE_ALL, false); - dsqlCursor->rse = node->dsqlSelect->dsqlRse; + + SelectExprNode* dt = FB_NEW(getPool()) SelectExprNode(getPool()); + dt->dsqlFlags = RecordSourceNode::DFLAG_DERIVED | RecordSourceNode::DFLAG_CURSOR; + dt->querySpec = dsqlSelect->dsqlExpr; + dt->alias = dsqlCursor->dsqlName.c_str(); + + node->rse = PASS1_derived_table(dsqlScratch, dt, NULL, dsqlSelect->dsqlWithLock); + + dsqlCursor->rse = node->rse; dsqlCursor->cursorNumber = dsqlScratch->cursorNumber++; dsqlScratch->cursors.push(dsqlCursor); + + // ASF: We cannot write this cursor name in debug info, as dsqlScratch->cursorNumber is + // decremented below. But for now we don't need it. } + else + node->rse = dsqlSelect->dsqlPass(dsqlScratch)->dsqlRse; node->dsqlInto = dsqlPassArray(dsqlScratch, dsqlInto); @@ -4339,6 +4371,8 @@ dsqlScratch->labels.pop(); } + dsqlScratch->context->clear(base); + if (dsqlCursor) { dsqlScratch->cursorNumber--; @@ -4370,12 +4404,12 @@ if (!statement || dsqlForceSingular) dsqlScratch->appendUChar(blr_singular); - GEN_rse(dsqlScratch, dsqlSelect->dsqlRse); + GEN_rse(dsqlScratch, rse); dsqlScratch->appendUChar(blr_begin); // Build body of FOR loop - ValueListNode* list = dsqlSelect->dsqlRse->dsqlSelectList; + ValueListNode* list = rse->dsqlSelectList; if (dsqlInto) { @@ -4425,6 +4459,9 @@ cursor = FB_NEW(*tdbb->getDefaultPool()) Cursor(csb, rsb, rse->rse_invariants, (rse->flags & RseNode::FLAG_SCROLLABLE)); + // ASF: We cannot define the name of the cursor here, but this is not a problem, + // as implicit cursors are always positioned in a valid record, and the name is + // only used to raise isc_cursor_not_positioned. impureOffset = CMP_impure(csb, sizeof(SLONG)); @@ -4870,7 +4907,7 @@ forNode->dsqlForceSingular = true; // Get the already processed relations. - RseNode* processedRse = forNode->dsqlSelect->dsqlRse->dsqlStreams->items[0]->as<RseNode>(); + RseNode* processedRse = forNode->rse->dsqlStreams->items[0]->as<RseNode>(); source = processedRse->dsqlStreams->items[0]; target = processedRse->dsqlStreams->items[1]->as<RelationSourceNode>(); Modified: firebird/trunk/src/dsql/dsql.h =================================================================== --- firebird/trunk/src/dsql/dsql.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/dsql.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -778,6 +778,7 @@ const USHORT CTX_recursive = 0x10; // Context has secondary number (ctx_recursive) generated for recursive UNION const USHORT CTX_view_with_check_store = 0x20; // Context of WITH CHECK OPTION view's store trigger const USHORT CTX_view_with_check_modify = 0x40; // Context of WITH CHECK OPTION view's modify trigger +const USHORT CTX_cursor = 0x80; // Context is a cursor //! Aggregate/union map block to map virtual fields to their base //! TMN: NOTE! This datatype should definitely be renamed! Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/parse.y 2014-05-19 19:06:47 UTC (rev 59606) @@ -690,6 +690,7 @@ Jrd::MergeNode::NotMatched* mergeNotMatchedClause; Jrd::MergeNode::Matched* mergeMatchedClause; Jrd::SelectNode* selectNode; + Jrd::ForNode* forNode; Jrd::SetTransactionNode* setTransactionNode; Jrd::SetTransactionNode::RestrictionOption* setTransactionRestrictionClause; Jrd::DeclareSubProcNode* declareSubProcNode; @@ -2687,7 +2688,7 @@ %type <stmtNode> simple_proc_statement simple_proc_statement - : assignment + : assignment_statement | insert { $$ = $1; } | merge { $$ = $1; } | update @@ -2709,12 +2710,18 @@ | RETURN value { $$ = newNode<ReturnNode>($2); } ; +%type <stmtNode> assignment_statement +assignment_statement + : assignment + | ':' assignment { $$ = $2; } + ; + %type <stmtNode> complex_proc_statement complex_proc_statement : in_autonomous_transaction | if_then_else | while - | for_select + | for_select { $$ = $1; } | for_exec_into { $$ = $1; } ; @@ -2743,20 +2750,48 @@ : EXCEPTION { $$ = newNode<ExceptionNode>(); } ; -%type <stmtNode> for_select +%type <forNode> for_select for_select - : label_def_opt FOR select INTO variable_list cursor_def DO proc_block + : label_def_opt FOR select + { + ForNode* node = newNode<ForNode>(); + node->dsqlLabelName = $1; + node->dsqlSelect = $3; + $$ = node; + } + for_select_into_cursor($4) DO proc_block + { + ForNode* node = $4; + node->statement = $7; + $$ = node; + } + ; + +%type for_select_into_cursor(<forNode>) +for_select_into_cursor($forNode) + : into_variable_list cursor_def_opt { - ForNode* node = newNode<ForNode>(); - node->dsqlLabelName = $1; - node->dsqlSelect = $3; - node->dsqlInto = $5; - node->dsqlCursor = $6; - node->statement = $8; - $$ = node; + $forNode->dsqlInto = $1; + $forNode->dsqlCursor = $2; } + | into_variable_list_opt cursor_def + { + $forNode->dsqlInto = $1; + $forNode->dsqlCursor = $2; + } ; +%type <valueListNode> into_variable_list_opt +into_variable_list_opt + : /* nothing */ { $$ = NULL; } + | into_variable_list + ; + +%type <valueListNode> into_variable_list +into_variable_list + : INTO variable_list { $$ = $2; } + ; + %type <execStatementNode> exec_sql exec_sql : EXECUTE STATEMENT @@ -2982,11 +3017,15 @@ | symbol_label_name ; +%type <declCursorNode> cursor_def_opt +cursor_def_opt + : /* nothing */ { $$ = NULL; } + | cursor_def + ; + %type <declCursorNode> cursor_def cursor_def - : // nothing - { $$ = NULL; } - | AS CURSOR symbol_cursor_name + : AS CURSOR symbol_cursor_name { $$ = newNode<DeclareCursorNode>(*$3, DeclareCursorNode::CUR_TYPE_FOR); } ; @@ -3072,15 +3111,15 @@ fetch_cursor : FETCH { $<cursorStmtNode>$ = newNode<CursorStmtNode>(blr_cursor_fetch_scroll); } - fetch_scroll($<cursorStmtNode>2) FROM symbol_cursor_name INTO variable_list + fetch_scroll($<cursorStmtNode>2) FROM symbol_cursor_name into_variable_list_opt { CursorStmtNode* cursorStmt = $<cursorStmtNode>2; cursorStmt->dsqlName = *$5; - cursorStmt->dsqlIntoStmt = $7; + cursorStmt->dsqlIntoStmt = $6; $$ = cursorStmt; } - | FETCH symbol_cursor_name INTO variable_list - { $$ = newNode<CursorStmtNode>(blr_cursor_fetch, *$2, $4); } + | FETCH symbol_cursor_name into_variable_list_opt + { $$ = newNode<CursorStmtNode>(blr_cursor_fetch, *$2, $3); } ; %type fetch_scroll(<cursorStmtNode>) @@ -5624,6 +5663,14 @@ fieldNode->dsqlName = *$3; $$ = fieldNode; } + | ':' symbol_table_alias_name '.' symbol_column_name + { + FieldNode* fieldNode = newNode<FieldNode>(); + fieldNode->dsqlQualifier = *$2; + fieldNode->dsqlName = *$4; + fieldNode->dsqlCursorField = true; + $$ = fieldNode; + } ; %type <fieldNode> simple_column_name Modified: firebird/trunk/src/dsql/pass1.cpp =================================================================== --- firebird/trunk/src/dsql/pass1.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/pass1.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -427,7 +427,12 @@ context->ctx_procedure = procedure; if (selNode) + { context->ctx_context = USHORT(MAX_UCHAR) + 1 + dsqlScratch->derivedContextNumber++; + + if (selNode->dsqlFlags & RecordSourceNode::DFLAG_CURSOR) + context->ctx_flags |= CTX_cursor; + } else context->ctx_context = dsqlScratch->contextNumber++; @@ -951,7 +956,7 @@ // Process derived table which is part of a from clause. RseNode* PASS1_derived_table(DsqlCompilerScratch* dsqlScratch, SelectExprNode* input, - const char* cte_alias) + const char* cte_alias, bool updateLock) { DEV_BLKCHK(dsqlScratch, dsql_type_req); @@ -1051,7 +1056,7 @@ rse = pass1_union(dsqlScratch, unionExpr, NULL, NULL, false, 0); } else - rse = PASS1_rse(dsqlScratch, input, false); + rse = PASS1_rse(dsqlScratch, input, updateLock); // Finish off by cleaning up contexts and put them into derivedContext // so create view (ddl) can deal with it. @@ -1213,7 +1218,7 @@ const string* const* saveCteAlias = dsqlScratch->currCteAlias; dsqlScratch->resetCTEAlias(alias); - rse = PASS1_rse(dsqlScratch, input, false); + rse = PASS1_rse(dsqlScratch, input, updateLock); if (saveCteAlias) dsqlScratch->resetCTEAlias(**saveCteAlias); Modified: firebird/trunk/src/dsql/pass1_proto.h =================================================================== --- firebird/trunk/src/dsql/pass1_proto.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/dsql/pass1_proto.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -41,7 +41,7 @@ void PASS1_check_unique_fields_names(Jrd::StrArray& names, const Jrd::CompoundStmtNode* fields); Jrd::BoolExprNode* PASS1_compose(Jrd::BoolExprNode*, Jrd::BoolExprNode*, UCHAR); Jrd::DeclareCursorNode* PASS1_cursor_name(Jrd::DsqlCompilerScratch*, const Firebird::MetaName&, USHORT, bool); -Jrd::RseNode* PASS1_derived_table(Jrd::DsqlCompilerScratch*, Jrd::SelectExprNode*, const char*); +Jrd::RseNode* PASS1_derived_table(Jrd::DsqlCompilerScratch*, Jrd::SelectExprNode*, const char*, bool); void PASS1_expand_select_node(Jrd::DsqlCompilerScratch*, Jrd::ExprNode*, Jrd::ValueListNode*, bool); void PASS1_field_unknown(const TEXT*, const TEXT*, const Jrd::ExprNode*); void PASS1_limit(Jrd::DsqlCompilerScratch*, NestConst<Jrd::ValueExprNode>, Modified: firebird/trunk/src/include/consts_pub.h =================================================================== --- firebird/trunk/src/include/consts_pub.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/consts_pub.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -673,6 +673,7 @@ #define fb_dbg_map_argument 4 #define fb_dbg_subproc 5 #define fb_dbg_subfunc 6 +#define fb_dbg_map_curname 7 // sub code for fb_dbg_map_argument #define fb_dbg_arg_input 0 Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/gen/codetext.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -793,6 +793,7 @@ {"map_notable", 335545089}, {"miss_trusted_role", 335545090}, {"set_invalid_role", 335545091}, + {"cursor_not_positioned", 335545092}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/gen/iberror.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -827,6 +827,7 @@ const ISC_STATUS isc_map_notable = 335545089L; const ISC_STATUS isc_miss_trusted_role = 335545090L; const ISC_STATUS isc_set_invalid_role = 335545091L; +const ISC_STATUS isc_cursor_not_positioned = 335545092L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1284,7 +1285,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 = 1228; +const ISC_STATUS isc_err_max = 1229; #else /* c definitions */ @@ -2081,6 +2082,7 @@ #define isc_map_notable 335545089L #define isc_miss_trusted_role 335545090L #define isc_set_invalid_role 335545091L +#define isc_cursor_not_positioned 335545092L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2538,7 +2540,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 1228 +#define isc_err_max 1229 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/gen/msgs.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -796,6 +796,7 @@ {335545089, "Global mapping is not available when table RDB$MAP is not present in database @1"}, /* map_notable */ {335545090, "Your attachment has no trusted role"}, /* miss_trusted_role */ {335545091, "Role @1 is invalid or unavailable"}, /* set_invalid_role */ + {335545092, "Cursor @1 is not positioned in a valid record"}, /* cursor_not_positioned */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/gen/sql_code.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -792,6 +792,7 @@ {335545089, -901}, /* 769 map_notable */ {335545090, -901}, /* 770 miss_trusted_role */ {335545091, -901}, /* 771 set_invalid_role */ + {335545092, -596}, /* 772 cursor_not_positioned */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/include/gen/sql_state.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -792,6 +792,7 @@ {335545089, "0A000"}, // 769 map_notable {335545090, "0P000"}, // 770 miss_trusted_role {335545091, "0P000"}, // 771 set_invalid_role + {335545092, "HY109"}, // 772 cursor_not_positioned {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/jrd/DebugInterface.cpp =================================================================== --- firebird/trunk/src/jrd/DebugInterface.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/DebugInterface.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -111,6 +111,7 @@ break; case fb_dbg_map_varname: + case fb_dbg_map_curname: { if (data + 3 > end) { @@ -118,11 +119,11 @@ break; } - // variable number + // variable/cursor number USHORT index = *data++; index |= *data++ << 8; - // variable name string length + // variable/cursor name string length USHORT length = *data++; if (data + length > end) @@ -131,9 +132,12 @@ break; } - dbgInfo.varIndexToName.put(index, MetaName((const TEXT*) data, length)); + if (code == fb_dbg_map_varname) + dbgInfo.varIndexToName.put(index, MetaName((const TEXT*) data, length)); + else + dbgInfo.curIndexToName.put(index, MetaName((const TEXT*) data, length)); - // variable name string + // variable/cursor name string data += length; } break; Modified: firebird/trunk/src/jrd/DebugInterface.h =================================================================== --- firebird/trunk/src/jrd/DebugInterface.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/DebugInterface.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -91,6 +91,7 @@ blrToSrc(p), varIndexToName(p), argInfoToName(p), + curIndexToName(p), subFuncs(p), subProcs(p) { @@ -106,6 +107,7 @@ blrToSrc.clear(); varIndexToName.clear(); argInfoToName.clear(); + curIndexToName.clear(); { // scope GenericMap<Pair<Left<MetaName, DbgInfo*> > >::Accessor accessor(&subFuncs); @@ -129,6 +131,7 @@ MapBlrToSrc blrToSrc; // mapping between blr offsets and source text position MapVarIndexToName varIndexToName; // mapping between variable index and name MapArgumentInfoToName argInfoToName; // mapping between argument info (type, index) and name + MapVarIndexToName curIndexToName; // mapping between cursor index and name GenericMap<Pair<Left<MetaName, DbgInfo*> > > subFuncs; // sub functions GenericMap<Pair<Left<MetaName, DbgInfo*> > > subProcs; // sub procedures }; Modified: firebird/trunk/src/jrd/RecordSourceNodes.cpp =================================================================== --- firebird/trunk/src/jrd/RecordSourceNodes.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/RecordSourceNodes.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -3077,7 +3077,7 @@ RseNode* SelectExprNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) { fb_assert(dsqlFlags & DFLAG_DERIVED); - return PASS1_derived_table(dsqlScratch, this, NULL); + return PASS1_derived_table(dsqlScratch, this, NULL, false); } @@ -3148,7 +3148,7 @@ dsqlScratch->currCtes.push(cte); RseNode* derivedNode = PASS1_derived_table(dsqlScratch, - cte, (isRecursive ? relAlias.c_str() : NULL)); + cte, (isRecursive ? relAlias.c_str() : NULL), false); if (!isRecursive) cte->alias = saveCteName; Modified: firebird/trunk/src/jrd/exe.h =================================================================== --- firebird/trunk/src/jrd/exe.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/exe.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -533,6 +533,7 @@ void activate(); void deactivate(); + Nullable<USHORT> csb_cursor_number; // Cursor number for this stream StreamType csb_stream; // Map user context to internal stream StreamType csb_view_stream; // stream number for view relation, below USHORT csb_flags; Modified: firebird/trunk/src/jrd/filters.cpp =================================================================== --- firebird/trunk/src/jrd/filters.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/filters.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -1377,6 +1377,24 @@ string_put(control, ""); } + MapVarIndexToName::ConstAccessor cursors(&dbgInfo.curIndexToName); + if (cursors.getFirst()) + { + string_put(control, "Cursors:"); + str.printf("%10s %-32s", "Number", "Name"); + string_put(control, str.c_str()); + str.replace(str.begin(), str.end(), str.length(), '-'); + string_put(control, str.c_str()); + + do + { + str.printf("%10d %-32s", cursors.current()->first, cursors.current()->second.c_str()); + string_put(control, str.c_str()); + } while (cursors.getNext()); + + string_put(control, ""); + } + string_put(control, "BLR to Source mapping:"); str.printf("%10s %10s %10s", "BLR offset", "Line", "Column"); string_put(control, str.c_str()); Modified: firebird/trunk/src/jrd/recsrc/Cursor.h =================================================================== --- firebird/trunk/src/jrd/recsrc/Cursor.h 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/recsrc/Cursor.h 2014-05-19 19:06:47 UTC (rev 59606) @@ -35,6 +35,7 @@ class Cursor { + public: enum State { BOS, POSITIONED, EOS }; struct Impure @@ -78,7 +79,11 @@ return true; } + public: ULONG m_impure; + Firebird::MetaName name; // optional name for explicit PSQL cursors + + private: const RecordSource* const m_top; const VarInvariantArray* const m_invariants; const bool m_scrollable; Modified: firebird/trunk/src/jrd/vio.cpp =================================================================== --- firebird/trunk/src/jrd/vio.cpp 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/jrd/vio.cpp 2014-05-19 19:06:47 UTC (rev 59606) @@ -1947,7 +1947,7 @@ // Allocate a garbage collect record block if all are active. record_param rpb; - rpb.rpb_record = 0; + rpb.rpb_record = NULL; Record* record = VIO_record(tdbb, &rpb, MET_current(tdbb, relation), dbb->dbb_permanent); record->rec_flags |= REC_gc_active; Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/msgs/facilities2.sql 2014-05-19 19:06:47 UTC (rev 59606) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2014-04-30 18:55:42', 'JRD', 0, 772) +('2014-05-14 23:48:00', 'JRD', 0, 773) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2013-11-13 15:59:10', 'GFIX', 3, 122) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/msgs/messages2.sql 2014-05-19 19:06:47 UTC (rev 59606) @@ -879,6 +879,7 @@ ('map_notable', 'MappingList::getList', 'Mapping.cpp', NULL, 0, 769, NULL, 'Global mapping is not available when table RDB$MAP is not present in database @1', NULL, NULL); ('miss_trusted_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 770, NULL, 'Your attachment has no trusted role', NULL, NULL); ('set_invalid_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 771, NULL, 'Role @1 is invalid or unavailable', NULL, NULL); +('cursor_not_positioned', NULL, NULL, NULL, 0, 772, NULL, 'Cursor @1 is not positioned in a valid record', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2014-05-19 14:54:20 UTC (rev 59605) +++ firebird/trunk/src/msgs/system_errors2.sql 2014-05-19 19:06:47 UTC (rev 59606) @@ -778,6 +778,7 @@ (-901, '0A', '000', 0, 769, 'map_notable', NULL, NULL); (-901, '0P', '000', 0, 770, 'miss_trusted_role', NULL, NULL); (-901, '0P', '000', 0, 771, 'set_invalid_role', NULL, NULL); +(-596, 'HY', '109', 0, 772, 'cursor_not_positioned', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-20 00:39:03
|
Revision: 59607 http://sourceforge.net/p/firebird/code/59607 Author: firebirds Date: 2014-05-20 00:39:00 +0000 (Tue, 20 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-19 19:06:47 UTC (rev 59606) +++ firebird/trunk/ChangeLog 2014-05-20 00:39:00 UTC (rev 59607) @@ -1,3 +1,41 @@ + 2014-05-19 19:06 asfernandes + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/dsql/BlrDebugWriter.cpp + M src/dsql/BlrDebugWriter.h + M src/dsql/DdlNodes.epp + M src/dsql/ExprNodes.cpp + M src/dsql/ExprNodes.h + M src/dsql/Nodes.h + M src/dsql/StmtNodes.cpp + M src/dsql/dsql.h + M src/dsql/parse.y + M src/dsql/pass1.cpp + M src/dsql/pass1_proto.h + M src/include/consts_pub.h + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/jrd/DebugInterface.cpp + M src/jrd/DebugInterface.h + M src/jrd/RecordSourceNodes.cpp + M src/jrd/exe.h + M src/jrd/filters.cpp + M src/jrd/recsrc/Cursor.h + M src/jrd/vio.cpp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql +Feature CORE-4403 - Allow referencing cursors as record variables in PSQL. +Improvement CORE-4434 - Extend the use of colon prefix for read/assignment OLD/NEW fields and assignment to variables. + + 2014-05-19 14:54 dimitr + M src/burp/backup.epp + M src/burp/restore.epp +This should fix the restore issue with PSQL functions. + 2014-05-16 13:21 mapopa M src/remote/merge.cpp Cleanup convert function NOT_USED_OR_REPLACED Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-19 19:06:47 UTC (rev 59606) +++ firebird/trunk/src/jrd/build_no.h 2014-05-20 00:39:00 UTC (rev 59607) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31141 + FORMAL BUILD NUMBER:31143 */ -#define PRODUCT_VER_STRING "3.0.0.31141" -#define FILE_VER_STRING "WI-T3.0.0.31141" -#define LICENSE_VER_STRING "WI-T3.0.0.31141" -#define FILE_VER_NUMBER 3, 0, 0, 31141 +#define PRODUCT_VER_STRING "3.0.0.31143" +#define FILE_VER_STRING "WI-T3.0.0.31143" +#define LICENSE_VER_STRING "WI-T3.0.0.31143" +#define FILE_VER_NUMBER 3, 0, 0, 31143 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31141" +#define FB_BUILD_NO "31143" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-19 19:06:47 UTC (rev 59606) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-20 00:39:00 UTC (rev 59607) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31141 +BuildNum=31143 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-21 00:55:21
|
Revision: 59609 http://sourceforge.net/p/firebird/code/59609 Author: firebirds Date: 2014-05-21 00:55:12 +0000 (Wed, 21 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-20 08:05:16 UTC (rev 59608) +++ firebird/trunk/ChangeLog 2014-05-21 00:55:12 UTC (rev 59609) @@ -1,3 +1,10 @@ + 2014-05-20 08:05 alexpeshkoff + M src/common/MsgMetadata.h + M src/common/classes/InternalMessageBuffer.cpp + M src/jrd/PreparedStatement.cpp + M src/jrd/extds/InternalDS.cpp +Fixed assertion reported by Pavel Zotov privately, took typical measures to avoid such behavior in the future + 2014-05-19 19:06 asfernandes M lang_helpers/gds_codes.ftn M lang_helpers/gds_codes.pas Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-20 08:05:16 UTC (rev 59608) +++ firebird/trunk/src/jrd/build_no.h 2014-05-21 00:55:12 UTC (rev 59609) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31143 + FORMAL BUILD NUMBER:31144 */ -#define PRODUCT_VER_STRING "3.0.0.31143" -#define FILE_VER_STRING "WI-T3.0.0.31143" -#define LICENSE_VER_STRING "WI-T3.0.0.31143" -#define FILE_VER_NUMBER 3, 0, 0, 31143 +#define PRODUCT_VER_STRING "3.0.0.31144" +#define FILE_VER_STRING "WI-T3.0.0.31144" +#define LICENSE_VER_STRING "WI-T3.0.0.31144" +#define FILE_VER_NUMBER 3, 0, 0, 31144 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31143" +#define FB_BUILD_NO "31144" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-20 08:05:16 UTC (rev 59608) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-21 00:55:12 UTC (rev 59609) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31143 +BuildNum=31144 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-05-22 00:27:59
|
Revision: 59614 http://sourceforge.net/p/firebird/code/59614 Author: firebirds Date: 2014-05-22 00:27:55 +0000 (Thu, 22 May 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-05-21 20:29:30 UTC (rev 59613) +++ firebird/trunk/ChangeLog 2014-05-22 00:27:55 UTC (rev 59614) @@ -1,3 +1,22 @@ + 2014-05-21 17:11 asfernandes + M doc/sql.extensions/README.identity_columns.txt +Fixed DOC-92 - Values for rdb$identity_type not correct in release notes. + + 2014-05-21 13:11 alexpeshkoff + M src/burp/burp.cpp + M src/burp/burp.h + M src/burp/burpswi.h + M src/burp/mvol.cpp + M src/common/IntlParametersBlock.cpp + M src/common/UtilSvc.cpp + M src/common/UtilSvc.h + M src/include/consts_pub.h + M src/jrd/svc.cpp + M src/jrd/svc.h + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/utilities/nbackup/nbackup.cpp +Fixed issues related to encoding of switch value in gbak/nbackup - thanks to Adriano. Added support for -SKIP_DATA to services. + 2014-05-20 08:05 alexpeshkoff M src/common/MsgMetadata.h M src/common/classes/InternalMessageBuffer.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-05-21 20:29:30 UTC (rev 59613) +++ firebird/trunk/src/jrd/build_no.h 2014-05-22 00:27:55 UTC (rev 59614) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31144 + FORMAL BUILD NUMBER:31146 */ -#define PRODUCT_VER_STRING "3.0.0.31144" -#define FILE_VER_STRING "WI-T3.0.0.31144" -#define LICENSE_VER_STRING "WI-T3.0.0.31144" -#define FILE_VER_NUMBER 3, 0, 0, 31144 +#define PRODUCT_VER_STRING "3.0.0.31146" +#define FILE_VER_STRING "WI-T3.0.0.31146" +#define LICENSE_VER_STRING "WI-T3.0.0.31146" +#define FILE_VER_NUMBER 3, 0, 0, 31146 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31144" +#define FB_BUILD_NO "31146" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-05-21 20:29:30 UTC (rev 59613) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-05-22 00:27:55 UTC (rev 59614) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31144 +BuildNum=31146 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |