From: <ale...@us...> - 2013-10-30 12:46:40
|
Revision: 58737 http://sourceforge.net/p/firebird/code/58737 Author: alexpeshkoff Date: 2013-10-30 12:46:35 +0000 (Wed, 30 Oct 2013) Log Message: ----------- Fixed CORE-4241: Empty password will pass login Modified Paths: -------------- firebird/trunk/builds/install/misc/firebird.conf.in firebird/trunk/src/common/config/config.cpp Modified: firebird/trunk/builds/install/misc/firebird.conf.in =================================================================== --- firebird/trunk/builds/install/misc/firebird.conf.in 2013-10-30 12:23:45 UTC (rev 58736) +++ firebird/trunk/builds/install/misc/firebird.conf.in 2013-10-30 12:46:35 UTC (rev 58737) @@ -377,7 +377,7 @@ # # Per-database configurable. # -#AuthServer = Srp, Win_Sspi +#AuthServer = Srp # # Per-connection and per-database configurable. # Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2013-10-30 12:23:45 UTC (rev 58736) +++ firebird/trunk/src/common/config/config.cpp 2013-10-30 12:46:35 UTC (rev 58737) @@ -170,7 +170,7 @@ {TYPE_INTEGER, "MaxUserTraceLogSize", (ConfigValue) 10}, // maximum size of user session trace log {TYPE_INTEGER, "FileSystemCacheSize", (ConfigValue) 0}, // percent {TYPE_STRING, "Providers", (ConfigValue) "Remote, " CURRENT_ENGINE ", Loopback"}, - {TYPE_STRING, "AuthServer", (ConfigValue) "Srp, Win_Sspi"}, + {TYPE_STRING, "AuthServer", (ConfigValue) "Srp"}, {TYPE_STRING, "AuthClient", (ConfigValue) "Srp, Win_Sspi, Legacy_Auth"}, {TYPE_STRING, "UserManager", (ConfigValue) "Srp"}, {TYPE_STRING, "TracePlugin", (ConfigValue) "fbtrace"}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-10-31 07:38:15
|
Revision: 58738 http://sourceforge.net/p/firebird/code/58738 Author: firebirds Date: 2013-10-31 07:38:11 +0000 (Thu, 31 Oct 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-10-30 12:46:35 UTC (rev 58737) +++ firebird/trunk/ChangeLog 2013-10-31 07:38:11 UTC (rev 58738) @@ -1,3 +1,21 @@ + 2013-10-30 12:46 alexpeshkoff + M builds/install/misc/firebird.conf.in + M src/common/config/config.cpp +Fixed CORE-4241: Empty password will pass login + + 2013-10-30 12:23 alexpeshkoff + M builds/install/misc/firebird.conf.in + M src/auth/SecurityDatabase/LegacyServer.cpp + M src/common/config/config.cpp + M src/common/config/config.h +Cleanup - "Authentication" parameter from firebird.conf is overriden by "AuthServer" + + 2013-10-30 12:11 alexpeshkoff + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/jrd/jrd.cpp +Fixed CORE-4200: An uncommitted select of the pseudo table sec$users blocks new database connections + 2013-10-29 08:46 hvlad M builds/win32/msvc10/Firebird3.sln M builds/win32/msvc10/fbserver.vcxproj Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-10-30 12:46:35 UTC (rev 58737) +++ firebird/trunk/src/jrd/build_no.h 2013-10-31 07:38:11 UTC (rev 58738) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30703 + FORMAL BUILD NUMBER:30706 */ -#define PRODUCT_VER_STRING "3.0.0.30703" -#define FILE_VER_STRING "WI-T3.0.0.30703" -#define LICENSE_VER_STRING "WI-T3.0.0.30703" -#define FILE_VER_NUMBER 3, 0, 0, 30703 +#define PRODUCT_VER_STRING "3.0.0.30706" +#define FILE_VER_STRING "WI-T3.0.0.30706" +#define LICENSE_VER_STRING "WI-T3.0.0.30706" +#define FILE_VER_NUMBER 3, 0, 0, 30706 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30703" +#define FB_BUILD_NO "30706" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-10-30 12:46:35 UTC (rev 58737) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-10-31 07:38:11 UTC (rev 58738) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30703 +BuildNum=30706 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-01 00:30:36
|
Revision: 58740 http://sourceforge.net/p/firebird/code/58740 Author: firebirds Date: 2013-11-01 00:30:33 +0000 (Fri, 01 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-10-31 15:10:26 UTC (rev 58739) +++ firebird/trunk/ChangeLog 2013-11-01 00:30:33 UTC (rev 58740) @@ -1,3 +1,9 @@ + 2013-10-31 15:10 alexpeshkoff + M src/jrd/Attachment.cpp + M src/jrd/Attachment.h + M src/jrd/jrd.cpp +Cleanup + 2013-10-30 12:46 alexpeshkoff M builds/install/misc/firebird.conf.in M src/common/config/config.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-10-31 15:10:26 UTC (rev 58739) +++ firebird/trunk/src/jrd/build_no.h 2013-11-01 00:30:33 UTC (rev 58740) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30706 + FORMAL BUILD NUMBER:30707 */ -#define PRODUCT_VER_STRING "3.0.0.30706" -#define FILE_VER_STRING "WI-T3.0.0.30706" -#define LICENSE_VER_STRING "WI-T3.0.0.30706" -#define FILE_VER_NUMBER 3, 0, 0, 30706 +#define PRODUCT_VER_STRING "3.0.0.30707" +#define FILE_VER_STRING "WI-T3.0.0.30707" +#define LICENSE_VER_STRING "WI-T3.0.0.30707" +#define FILE_VER_NUMBER 3, 0, 0, 30707 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30706" +#define FB_BUILD_NO "30707" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-10-31 15:10:26 UTC (rev 58739) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-01 00:30:33 UTC (rev 58740) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30706 +BuildNum=30707 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-02 00:26:52
|
Revision: 58742 http://sourceforge.net/p/firebird/code/58742 Author: firebirds Date: 2013-11-02 00:26:49 +0000 (Sat, 02 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-01 14:18:30 UTC (rev 58741) +++ firebird/trunk/ChangeLog 2013-11-02 00:26:49 UTC (rev 58742) @@ -1,3 +1,7 @@ + 2013-11-01 14:18 alexpeshkoff + M src/jrd/jrd.cpp +Make code (hopefully) better readable + 2013-10-31 15:10 alexpeshkoff M src/jrd/Attachment.cpp M src/jrd/Attachment.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-01 14:18:30 UTC (rev 58741) +++ firebird/trunk/src/jrd/build_no.h 2013-11-02 00:26:49 UTC (rev 58742) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30707 + FORMAL BUILD NUMBER:30708 */ -#define PRODUCT_VER_STRING "3.0.0.30707" -#define FILE_VER_STRING "WI-T3.0.0.30707" -#define LICENSE_VER_STRING "WI-T3.0.0.30707" -#define FILE_VER_NUMBER 3, 0, 0, 30707 +#define PRODUCT_VER_STRING "3.0.0.30708" +#define FILE_VER_STRING "WI-T3.0.0.30708" +#define LICENSE_VER_STRING "WI-T3.0.0.30708" +#define FILE_VER_NUMBER 3, 0, 0, 30708 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30707" +#define FB_BUILD_NO "30708" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-01 14:18:30 UTC (rev 58741) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-02 00:26:49 UTC (rev 58742) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30707 +BuildNum=30708 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-11-05 11:54:10
|
Revision: 58750 http://sourceforge.net/p/firebird/code/58750 Author: alexpeshkoff Date: 2013-11-05 11:54:06 +0000 (Tue, 05 Nov 2013) Log Message: ----------- Enhanced diags for unprepared statement Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas 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 firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/yvalve/why.cpp Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2013-11-05 11:54:06 UTC (rev 58750) @@ -1552,6 +1552,8 @@ PARAMETER (GDS__auth_data = 335545069) INTEGER*4 GDS__auth_datalength PARAMETER (GDS__auth_datalength = 335545070) + INTEGER*4 GDS__info_unprepared_stmt + PARAMETER (GDS__info_unprepared_stmt = 335545071) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/lang_helpers/gds_codes.pas 2013-11-05 11:54:06 UTC (rev 58750) @@ -783,6 +783,7 @@ gds_secdb_name = 335545068; gds_auth_data = 335545069; gds_auth_datalength = 335545070; + gds_info_unprepared_stmt = 335545071; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/include/gen/codetext.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -772,6 +772,7 @@ {"secdb_name", 335545068}, {"auth_data", 335545069}, {"auth_datalength", 335545070}, + {"info_unprepared_stmt", 335545071}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/include/gen/iberror.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -806,6 +806,7 @@ const ISC_STATUS isc_secdb_name = 335545068L; const ISC_STATUS isc_auth_data = 335545069L; const ISC_STATUS isc_auth_datalength = 335545070L; +const ISC_STATUS isc_info_unprepared_stmt = 335545071L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1250,7 +1251,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 = 1194; +const ISC_STATUS isc_err_max = 1195; #else /* c definitions */ @@ -2026,6 +2027,7 @@ #define isc_secdb_name 335545068L #define isc_auth_data 335545069L #define isc_auth_datalength 335545070L +#define isc_info_unprepared_stmt 335545071L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2470,7 +2472,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 1194 +#define isc_err_max 1195 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/include/gen/msgs.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -775,6 +775,7 @@ {335545068, "Error getting security database name from configuration file"}, /* secdb_name */ {335545069, "Client authentication plugin is missing required data from server"}, /* auth_data */ {335545070, "Client authentication plugin expected @2 bytes of @3 from server, got @1"}, /* auth_datalength */ + {335545071, "Attempt to get information about an unprepared dynamic SQL statement."}, /* info_unprepared_stmt */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/include/gen/sql_code.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -771,6 +771,7 @@ {335545068, -902}, /* 748 secdb_name */ {335545069, -902}, /* 749 auth_data */ {335545070, -902}, /* 750 auth_datalength */ + {335545071, -901}, /* 751 info_unprepared_stmt */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/include/gen/sql_state.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -771,6 +771,7 @@ {335545068, "28000"}, // 748 secdb_name {335545069, "28000"}, // 749 auth_data {335545070, "28000"}, // 750 auth_datalength + {335545071, "HY007"}, // 751 info_unprepared_stmt {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/msgs/facilities2.sql 2013-11-05 11:54:06 UTC (rev 58750) @@ -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 (?, ?, ?, ?); -- -('2013-10-15 17:48:59', 'JRD', 0, 751) +('2013-11-05 13:18:17', 'JRD', 0, 752) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2009-07-16 05:26:11', 'GFIX', 3, 121) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/msgs/messages2.sql 2013-11-05 11:54:06 UTC (rev 58750) @@ -858,6 +858,7 @@ ('secdb_name', NULL, NULL, NULL, 0, 748, NULL, 'Error getting security database name from configuration file', NULL, NULL); ('auth_data', NULL, NULL, NULL, 0, 749, NULL, 'Client authentication plugin is missing required data from server', NULL, NULL); ('auth_datalength', NULL, NULL, NULL, 0, 750, NULL, 'Client authentication plugin expected @2 bytes of @3 from server, got @1', NULL, NULL); +('info_unprepared_stmt', NULL, NULL, NULL, 0, 751, NULL, 'Attempt to get information about an unprepared dynamic SQL statement.', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/msgs/system_errors2.sql 2013-11-05 11:54:06 UTC (rev 58750) @@ -757,6 +757,7 @@ (-902, '28', '000', 0, 748, 'secdb_name', NULL, NULL); (-902, '28', '000', 0, 749, 'auth_data', NULL, NULL); (-902, '28', '000', 0, 750, 'auth_datalength', NULL, NULL); +(-901, 'HY', '007', 0, 751, 'info_unprepared_stmt', 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/remote/remote.h =================================================================== --- firebird/trunk/src/remote/remote.h 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/remote/remote.h 2013-11-05 11:54:06 UTC (rev 58750) @@ -462,7 +462,7 @@ void releaseException(); static ISC_STATUS badHandle() { return isc_bad_req_handle; } - void checkIface(); + void checkIface(ISC_STATUS code = isc_unprepared_stmt); void checkCursor(); }; Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/remote/server/server.cpp 2013-11-05 11:54:06 UTC (rev 58750) @@ -1845,10 +1845,10 @@ } -void Rsr::checkIface() +void Rsr::checkIface(ISC_STATUS code) { if (!rsr_iface) - Arg::Gds(isc_unprepared_stmt).raise(); + Arg::Gds(code).raise(); } @@ -2376,7 +2376,8 @@ USHORT ret = 0; bool done = false; - statement->checkIface(); + fb_assert(statement->rsr_iface); + statement->checkIface(); // this should not happen but... statement->rsr_iface->getInfo(&local_status, sizeof(sql_info), sql_info, sizeof(buffer), buffer); @@ -3741,7 +3742,7 @@ case op_info_sql: getHandle(statement, stuff->p_info_object); - statement->checkIface(); + statement->checkIface(isc_info_unprepared_stmt); statement->rsr_iface->getInfo(&status_vector, info_len, info_buffer, stuff->p_info_buffer_length, buffer); Modified: firebird/trunk/src/yvalve/why.cpp =================================================================== --- firebird/trunk/src/yvalve/why.cpp 2013-11-05 08:53:49 UTC (rev 58749) +++ firebird/trunk/src/yvalve/why.cpp 2013-11-05 11:54:06 UTC (rev 58750) @@ -122,11 +122,11 @@ void closeCursor(Why::StatusVector* status); void closeStatement(Why::StatusVector* status); - void checkPrepared() const + void checkPrepared(ISC_STATUS code = isc_unprepared_stmt) const { if (!statement) { - Arg::Gds(isc_unprepared_stmt).raise(); + Arg::Gds(code).raise(); } } @@ -1849,7 +1849,7 @@ { RefPtr<IscStatement> statement(translateHandle(statements, stmtHandle)); - statement->checkPrepared(); + statement->checkPrepared(isc_info_unprepared_stmt); RefPtr<IMessageMetadata> columns(REF_NO_INCR, statement->statement->next->getOutputMetadata(&status)); status.check(); @@ -1875,7 +1875,7 @@ { RefPtr<IscStatement> statement(translateHandle(statements, stmtHandle)); - statement->checkPrepared(); + statement->checkPrepared(isc_info_unprepared_stmt); RefPtr<IMessageMetadata> parameters(REF_NO_INCR, statement->statement->next->getInputMetadata(&status)); status.check(); @@ -2255,8 +2255,6 @@ RefPtr<IscStatement> statement(translateHandle(statements, stmtHandle)); - statement->checkPrepared(); - Array<UCHAR> outBlr, outMessage; sqldaParse(sqlda, outBlr, outMessage, dialect); @@ -2521,7 +2519,7 @@ try { RefPtr<IscStatement> statement(translateHandle(statements, stmtHandle)); - statement->checkPrepared(); + statement->checkPrepared(isc_info_unprepared_stmt); statement->statement->getInfo(&status, USHORT(itemLength), reinterpret_cast<const UCHAR*>(items), USHORT(bufferLength), reinterpret_cast<UCHAR*>(buffer)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-06 02:20:38
|
Revision: 58751 http://sourceforge.net/p/firebird/code/58751 Author: firebirds Date: 2013-11-06 02:20:33 +0000 (Wed, 06 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-05 11:54:06 UTC (rev 58750) +++ firebird/trunk/ChangeLog 2013-11-06 02:20:33 UTC (rev 58751) @@ -1,3 +1,32 @@ + 2013-11-05 11:54 alexpeshkoff + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/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 + M src/remote/remote.h + M src/remote/server/server.cpp + M src/yvalve/why.cpp +Enhanced diags for unprepared statement + + 2013-11-05 08:53 alexpeshkoff + M src/remote/server/server.cpp +Do not encrypt xnet connections + + 2013-11-05 07:59 alexpeshkoff + M builds/install/misc/firebird.conf.in +Inline docs + + 2013-11-05 06:52 alexpeshkoff + M src/remote/remote.cpp + M src/remote/server/server.cpp +Fixed "Enabled" state of wire encyption + 2013-11-01 14:18 alexpeshkoff M src/jrd/jrd.cpp Make code (hopefully) better readable Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-05 11:54:06 UTC (rev 58750) +++ firebird/trunk/src/jrd/build_no.h 2013-11-06 02:20:33 UTC (rev 58751) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30708 + FORMAL BUILD NUMBER:30712 */ -#define PRODUCT_VER_STRING "3.0.0.30708" -#define FILE_VER_STRING "WI-T3.0.0.30708" -#define LICENSE_VER_STRING "WI-T3.0.0.30708" -#define FILE_VER_NUMBER 3, 0, 0, 30708 +#define PRODUCT_VER_STRING "3.0.0.30712" +#define FILE_VER_STRING "WI-T3.0.0.30712" +#define LICENSE_VER_STRING "WI-T3.0.0.30712" +#define FILE_VER_NUMBER 3, 0, 0, 30712 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30708" +#define FB_BUILD_NO "30712" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-05 11:54:06 UTC (rev 58750) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-06 02:20:33 UTC (rev 58751) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30708 +BuildNum=30712 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-07 01:06:22
|
Revision: 58753 http://sourceforge.net/p/firebird/code/58753 Author: firebirds Date: 2013-11-07 01:06:18 +0000 (Thu, 07 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-06 10:29:13 UTC (rev 58752) +++ firebird/trunk/ChangeLog 2013-11-07 01:06:18 UTC (rev 58753) @@ -1,3 +1,7 @@ + 2013-11-06 10:29 alexpeshkoff + M doc/README.interfaces.html +Enhance docs + 2013-11-05 11:54 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 2013-11-06 10:29:13 UTC (rev 58752) +++ firebird/trunk/src/jrd/build_no.h 2013-11-07 01:06:18 UTC (rev 58753) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30712 + FORMAL BUILD NUMBER:30713 */ -#define PRODUCT_VER_STRING "3.0.0.30712" -#define FILE_VER_STRING "WI-T3.0.0.30712" -#define LICENSE_VER_STRING "WI-T3.0.0.30712" -#define FILE_VER_NUMBER 3, 0, 0, 30712 +#define PRODUCT_VER_STRING "3.0.0.30713" +#define FILE_VER_STRING "WI-T3.0.0.30713" +#define LICENSE_VER_STRING "WI-T3.0.0.30713" +#define FILE_VER_NUMBER 3, 0, 0, 30713 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30712" +#define FB_BUILD_NO "30713" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-06 10:29:13 UTC (rev 58752) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-07 01:06:18 UTC (rev 58753) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30712 +BuildNum=30713 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-08 00:28:23
|
Revision: 58759 http://sourceforge.net/p/firebird/code/58759 Author: firebirds Date: 2013-11-08 00:28:20 +0000 (Fri, 08 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-07 18:41:27 UTC (rev 58758) +++ firebird/trunk/ChangeLog 2013-11-08 00:28:20 UTC (rev 58759) @@ -1,3 +1,23 @@ + 2013-11-07 18:41 dimitr + M src/jrd/evl.cpp +Fixed the underlying issue that made CORE-4255 possible. + + 2013-11-07 11:17 paulbeach + M src/common/config/os/darwin/config_root.cpp +Fix embedded on MacOS issue with symbolic links and relative paths + + 2013-11-07 10:32 hvlad + M src/jrd/Database.h + M src/jrd/cch.cpp + M src/jrd/jrd.cpp +Don't force flush for database which creation is not complete. + + 2013-11-07 10:06 hvlad + M src/jrd/jrd.cpp + M src/jrd/pag.cpp +Avoid hack in create_database when we have FW=ON at header page disk image and FW=OFF in memory structures and in fact database file is created in FW=OFF mode. +Instead of setting flag on header page when it is formatted for the first usage, explicitly set FW=ON after database creation is complete, if there was no isc_dpb_force_write in DPB. + 2013-11-06 10:29 alexpeshkoff M doc/README.interfaces.html Enhance docs Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-07 18:41:27 UTC (rev 58758) +++ firebird/trunk/src/jrd/build_no.h 2013-11-08 00:28:20 UTC (rev 58759) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30713 + FORMAL BUILD NUMBER:30717 */ -#define PRODUCT_VER_STRING "3.0.0.30713" -#define FILE_VER_STRING "WI-T3.0.0.30713" -#define LICENSE_VER_STRING "WI-T3.0.0.30713" -#define FILE_VER_NUMBER 3, 0, 0, 30713 +#define PRODUCT_VER_STRING "3.0.0.30717" +#define FILE_VER_STRING "WI-T3.0.0.30717" +#define LICENSE_VER_STRING "WI-T3.0.0.30717" +#define FILE_VER_NUMBER 3, 0, 0, 30717 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30713" +#define FB_BUILD_NO "30717" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-07 18:41:27 UTC (rev 58758) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-08 00:28:20 UTC (rev 58759) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30713 +BuildNum=30717 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-12 01:47:07
|
Revision: 58766 http://sourceforge.net/p/firebird/code/58766 Author: firebirds Date: 2013-11-12 01:47:04 +0000 (Tue, 12 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-11 14:44:52 UTC (rev 58765) +++ firebird/trunk/ChangeLog 2013-11-12 01:47:04 UTC (rev 58766) @@ -1,3 +1,8 @@ + 2013-11-11 14:44 hvlad + M src/jrd/jrd.cpp + M src/jrd/tra.cpp +Fixed bug CORE-4260 : Bugcheck 165 (cannot find tip page) happens if engine crashed right after CREATE DATABASE + 2013-11-07 18:41 dimitr M src/jrd/evl.cpp Fixed the underlying issue that made CORE-4255 possible. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-11 14:44:52 UTC (rev 58765) +++ firebird/trunk/src/jrd/build_no.h 2013-11-12 01:47:04 UTC (rev 58766) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30717 + FORMAL BUILD NUMBER:30718 */ -#define PRODUCT_VER_STRING "3.0.0.30717" -#define FILE_VER_STRING "WI-T3.0.0.30717" -#define LICENSE_VER_STRING "WI-T3.0.0.30717" -#define FILE_VER_NUMBER 3, 0, 0, 30717 +#define PRODUCT_VER_STRING "3.0.0.30718" +#define FILE_VER_STRING "WI-T3.0.0.30718" +#define LICENSE_VER_STRING "WI-T3.0.0.30718" +#define FILE_VER_NUMBER 3, 0, 0, 30718 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30717" +#define FB_BUILD_NO "30718" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-11 14:44:52 UTC (rev 58765) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-12 01:47:04 UTC (rev 58766) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30717 +BuildNum=30718 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-13 01:01:32
|
Revision: 58773 http://sourceforge.net/p/firebird/code/58773 Author: firebirds Date: 2013-11-13 01:01:28 +0000 (Wed, 13 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-12 19:30:46 UTC (rev 58772) +++ firebird/trunk/ChangeLog 2013-11-13 01:01:28 UTC (rev 58773) @@ -1,3 +1,26 @@ + 2013-11-12 16:56 dimitr + M src/jrd/nbak.cpp +We're quite lucky this implicit conversion worked correctly. Fixed. + + 2013-11-12 16:53 dimitr + M src/jrd/btr.cpp +Misc. + + 2013-11-12 16:52 dimitr + M src/jrd/GlobalRWLock.cpp + M src/jrd/pcmet.epp +Fixed the status vector being left dirty after the non-critical lock manager error. +This resolves CORE-4265: Unexpected lock conflict error may be raised while connecting to a heavily loaded database. + + 2013-11-12 14:24 dimitr + M src/jrd/tra.cpp +Misc. + + 2013-11-12 14:04 dimitr + M src/dsql/DsqlCompilerScratch.cpp + M src/dsql/parse.y +Fixed CORE-4240: Recursive query in SQL query returns incorrect results if more than one branch bypass. The new code should work equally good with both binary and wide union trees. + 2013-11-11 14:44 hvlad M src/jrd/jrd.cpp M src/jrd/tra.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-12 19:30:46 UTC (rev 58772) +++ firebird/trunk/src/jrd/build_no.h 2013-11-13 01:01:28 UTC (rev 58773) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30718 + FORMAL BUILD NUMBER:30723 */ -#define PRODUCT_VER_STRING "3.0.0.30718" -#define FILE_VER_STRING "WI-T3.0.0.30718" -#define LICENSE_VER_STRING "WI-T3.0.0.30718" -#define FILE_VER_NUMBER 3, 0, 0, 30718 +#define PRODUCT_VER_STRING "3.0.0.30723" +#define FILE_VER_STRING "WI-T3.0.0.30723" +#define LICENSE_VER_STRING "WI-T3.0.0.30723" +#define FILE_VER_NUMBER 3, 0, 0, 30723 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30718" +#define FB_BUILD_NO "30723" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-12 19:30:46 UTC (rev 58772) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-13 01:01:28 UTC (rev 58773) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30718 +BuildNum=30723 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-14 00:27:20
|
Revision: 58781 http://sourceforge.net/p/firebird/code/58781 Author: firebirds Date: 2013-11-14 00:27:17 +0000 (Thu, 14 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-13 18:36:59 UTC (rev 58780) +++ firebird/trunk/ChangeLog 2013-11-14 00:27:17 UTC (rev 58781) @@ -1,3 +1,29 @@ + 2013-11-13 16:08 dimitr + M src/jrd/Database.cpp +Misc. + + 2013-11-13 15:46 asfernandes + M src/dsql/Nodes.h + M src/dsql/Parser.cpp + M src/dsql/parse.y +Fixed CORE-4258 - Wrong boundary for minimum value for BIGINT/DECIMAL(18). + + 2013-11-13 15:42 dimitr + M src/jrd/cch.cpp + M src/jrd/inf.cpp +Attachments marked as shutdown may still be running (before they reach the rescheduling point), so they should not be accounted as already gone. This should also fix CORE-4236: Database shutdown is reported as successfully completed before all active connections are in fact interrupted. + + 2013-11-13 15:39 dimitr + M src/jrd/jrd.cpp +Complementary patch for one of my prior commits (forced rollbacks should go through the TIP). + + 2013-11-13 07:44 dimitr + M src/jrd/CryptoManager.cpp + M src/jrd/GlobalRWLock.cpp + M src/jrd/GlobalRWLock.h + M src/jrd/nbak.cpp +Separated shutdown (mostly for locks) from destruction. + 2013-11-12 16:56 dimitr M src/jrd/nbak.cpp We're quite lucky this implicit conversion worked correctly. Fixed. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-13 18:36:59 UTC (rev 58780) +++ firebird/trunk/src/jrd/build_no.h 2013-11-14 00:27:17 UTC (rev 58781) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30723 + FORMAL BUILD NUMBER:30728 */ -#define PRODUCT_VER_STRING "3.0.0.30723" -#define FILE_VER_STRING "WI-T3.0.0.30723" -#define LICENSE_VER_STRING "WI-T3.0.0.30723" -#define FILE_VER_NUMBER 3, 0, 0, 30723 +#define PRODUCT_VER_STRING "3.0.0.30728" +#define FILE_VER_STRING "WI-T3.0.0.30728" +#define LICENSE_VER_STRING "WI-T3.0.0.30728" +#define FILE_VER_NUMBER 3, 0, 0, 30728 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30723" +#define FB_BUILD_NO "30728" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-13 18:36:59 UTC (rev 58780) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-14 00:27:17 UTC (rev 58781) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30723 +BuildNum=30728 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-11-14 16:16:37
|
Revision: 58787 http://sourceforge.net/p/firebird/code/58787 Author: alexpeshkoff Date: 2013-11-14 16:16:24 +0000 (Thu, 14 Nov 2013) Log Message: ----------- Implemented CORE-4263: Database linger Modified Paths: -------------- firebird/trunk/doc/README.services_extension firebird/trunk/src/alice/aliceswi.h firebird/trunk/src/alice/exe.cpp firebird/trunk/src/dbs/security.sql firebird/trunk/src/dsql/DdlNodes.epp firebird/trunk/src/dsql/DdlNodes.h firebird/trunk/src/dsql/parse.y firebird/trunk/src/include/consts_pub.h firebird/trunk/src/include/firebird/Plugin.h firebird/trunk/src/include/gen/ids.h firebird/trunk/src/jrd/Database.cpp firebird/trunk/src/jrd/Database.h firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/fields.h firebird/trunk/src/jrd/irq.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/jrd_proto.h firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/met_proto.h firebird/trunk/src/jrd/names.h firebird/trunk/src/jrd/relations.h firebird/trunk/src/jrd/tra.h firebird/trunk/src/jrd/vio.cpp firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/remote/server/os/posix/inet_server.cpp firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/keywords.cpp Added Paths: ----------- firebird/trunk/doc/sql.extensions/README.linger Modified: firebird/trunk/doc/README.services_extension =================================================================== --- firebird/trunk/doc/README.services_extension 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/doc/README.services_extension 2013-11-14 16:16:24 UTC (rev 58787) @@ -223,3 +223,16 @@ fbsvcmgr host:service_mgr user sysdba password xxx action_db_stats dbname employee sts_data_pages Certainly any other database action can be used here. + + +6) Services API extension - using services to temporary turn off linger for database. +(Alex Peshkov, pes...@ma..., 2013) + +Linger is used to optimize performance in some cases (see also sql.extensions/README.linger). +If you want to turn off linger temporary (for next database close) you may use gfix utility or +services. New tag isc_spb_prp_nolinger is added for it (option). Setting isc_spb_prp_nolinger +option turns off linger for the next database close operation and may be used to force closing +database in linger state. + +Example: +fbsvcmgr host:service_mgr user sysdba password xxx action_properties dbname employee prp_nolinger Added: firebird/trunk/doc/sql.extensions/README.linger =================================================================== --- firebird/trunk/doc/sql.extensions/README.linger (rev 0) +++ firebird/trunk/doc/sql.extensions/README.linger 2013-11-14 16:16:24 UTC (rev 58787) @@ -0,0 +1,34 @@ +SQL Language Extension: ALTER DATABASE SET/DROP LINGER + + Implements capability to manage database linger. + +Author: + Alex Peshkoff <pes...@ma...> + +Syntax is: + + ALTER DATABASE SET LINGER TO {seconds}; + ALTER DATABASE DROP LINGER; + +Description: + +Makes it possible to set and clear linger value for database. + +Database linger makes engine (when running in SS mode) do not close database immediately after +last attachment is closed. This helps to increase performance when database is often opened/closed +with almost zero price. + +To set linger for database do: + ALTER DATABASE SET LINGER TO 30; -- will set linger interval to 30 seconds + +To reset linger for database do: + ALTER DATABASE DROP LINGER; -- will make engine do not delay closing given database + ALTER DATABASE SET LINGER TO 0; -- another way to clean linger settings + +Notice. +Sometimes it may be useful to turn off linger once to force server to close some database not +shutting it down. Dropping linger for it is not good solution - you will have to turn it on +manually later. To perform this task it's better to use GFIX utility with new switch 'NOLinger' - +it makes database be closed immediately when last attachment is gone no matter of linger interval +set in database. Next time linger will work normally. Services API is also available for it - +see details in README.services_extension). Property changes on: firebird/trunk/doc/sql.extensions/README.linger ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: firebird/trunk/src/alice/aliceswi.h =================================================================== --- firebird/trunk/src/alice/aliceswi.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/alice/aliceswi.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -63,6 +63,7 @@ const SINT64 sw_trusted_svc = QUADCONST(0x0000000200000000); const SINT64 sw_trusted_role = QUADCONST(0x0000000400000000); const SINT64 sw_fetch_password = QUADCONST(0x0000000800000000); +const SINT64 sw_nolinger = QUADCONST(0x0000001000000000); enum alice_switches @@ -117,7 +118,8 @@ IN_SW_ALICE_TRUSTED_USER = 45, IN_SW_ALICE_TRUSTED_ROLE = 46, IN_SW_ALICE_HIDDEN_ONLINE = 47, - IN_SW_ALICE_FETCH_PASSWORD = 48 + IN_SW_ALICE_FETCH_PASSWORD = 48, + IN_SW_ALICE_NOLINGER = 49 }; static const char* const ALICE_SW_ASYNC = "ASYNC"; @@ -129,7 +131,7 @@ static const Switches::in_sw_tab_t alice_in_sw_table[] = { {IN_SW_ALICE_ACTIVATE, isc_spb_prp_activate, "ACTIVATE_SHADOW", sw_activate, - 0, ~(sw_activate | sw_user | sw_password), false, 25, 2, NULL}, + 0, ~(sw_activate | sw_user | sw_password | sw_nolinger), false, 25, 2, NULL}, // msg 25: \t-activate shadow file for database usage {IN_SW_ALICE_ATTACH, isc_spb_prp_attachments_shutdown, "ATTACH", sw_attach, sw_shut, 0, false, 26, 2, NULL}, @@ -145,7 +147,7 @@ 0, 0, false, 28, 1, NULL}, // msg 28: \t-buffers\tset page buffers <n> {IN_SW_ALICE_COMMIT, isc_spb_rpr_commit_trans, "COMMIT", sw_commit, - 0, ~(sw_commit | sw_user | sw_password), false, 29, 2, NULL}, + 0, ~(sw_commit | sw_user | sw_password | sw_nolinger), false, 29, 2, NULL}, // msg 29: \t-commit\t\tcommit transaction <tr / all> {IN_SW_ALICE_CACHE, 0, "CACHE", sw_cache, sw_shut, 0, false, 30, 2, NULL}, @@ -176,14 +178,17 @@ 0, 0, false, 36, 1, NULL}, // msg 36: \t-kill\t\tkill all unavailable shadow files {IN_SW_ALICE_LIST, isc_spb_rpr_list_limbo_trans, "LIST", sw_list, - 0, ~(sw_list | sw_user | sw_password), false, 37, 1, NULL}, + 0, ~(sw_list | sw_user | sw_password | sw_nolinger), false, 37, 1, NULL}, // msg 37: \t-list\t\tshow limbo transactions {IN_SW_ALICE_MEND, isc_spb_rpr_mend_db, "MEND", sw_mend | sw_validate | sw_full, - 0, ~(sw_no_update | sw_user | sw_password), false, 38, 2, NULL}, + 0, ~(sw_no_update | sw_user | sw_password | sw_nolinger), false, 38, 2, NULL}, // msg 38: \t-mend\t\tprepare corrupt database for backup {IN_SW_ALICE_MODE, 0, "MODE", sw_mode, - 0, ~(sw_mode | sw_user | sw_password), false, 109, 2, NULL}, + 0, ~(sw_mode | sw_user | sw_password | sw_nolinger), false, 109, 2, NULL}, // msg 109: \t-mode\t\tread_only or read_write + {IN_SW_ALICE_NOLINGER, isc_spb_prp_nolinger, "NOLINGER", sw_nolinger, + 0, sw_shut, false, 121, 3, NULL}, + // msg 121: -nolinger do not use linger on database this time (once) {IN_SW_ALICE_NO_UPDATE, isc_spb_rpr_check_db, "NO_UPDATE", sw_no_update, sw_validate, 0, false, 39, 1, NULL}, // msg 39: \t-no_update\tread-only validation (-v) @@ -205,20 +210,20 @@ */ #endif {IN_SW_ALICE_ROLLBACK, isc_spb_rpr_rollback_trans, "ROLLBACK", sw_rollback, - 0, ~(sw_rollback | sw_user | sw_password), false, 44, 1, NULL}, + 0, ~(sw_rollback | sw_user | sw_password | sw_nolinger), false, 44, 1, NULL}, // msg 44: \t-rollback\trollback transaction <tr / all> {IN_SW_ALICE_SET_DB_SQL_DIALECT, isc_spb_prp_set_sql_dialect, "SQL_DIALECT", sw_set_db_dialect, 0, 0, false, 111, 2, NULL}, // msg 111: \t-SQL_dialect\t\set dataabse dialect n {IN_SW_ALICE_SWEEP, isc_spb_rpr_sweep_db, "SWEEP", sw_sweep, - 0, ~(sw_sweep | sw_user | sw_password), false, 45, 2, NULL}, + 0, ~(sw_sweep | sw_user | sw_password | sw_nolinger), false, 45, 2, NULL}, // msg 45: \t-sweep\t\tforce garbage collection {IN_SW_ALICE_SHUT, isc_spb_prp_shutdown_mode, "SHUTDOWN", sw_shut, 0, ~(sw_shut | sw_attach | sw_cache | sw_force | sw_tran | sw_user | sw_password), false, 46, 2, NULL}, // msg 46: \t-shut\t\tshutdown {IN_SW_ALICE_TWO_PHASE, isc_spb_rpr_recover_two_phase, "TWO_PHASE", sw_two_phase, - 0, ~(sw_two_phase | sw_user | sw_password), false, 47, 2, NULL}, + 0, ~(sw_two_phase | sw_user | sw_password | sw_nolinger), false, 47, 2, NULL}, // msg 47: \t-two_phase\tperform automated two-phase recovery {IN_SW_ALICE_TRAN, isc_spb_prp_transactions_shutdown, "TRANSACTION", sw_tran, sw_shut, 0, false, 48, 3, NULL}, @@ -233,16 +238,16 @@ {IN_SW_ALICE_TRUSTED_ROLE, 0, TRUSTED_ROLE_SWITCH, sw_trusted_role, sw_trusted_svc, (sw_user | sw_password), false, 0, TRUSTED_ROLE_SWITCH_LEN, NULL}, {IN_SW_ALICE_NO_RESERVE, 0, "USE", sw_no_reserve, - 0, ~(sw_no_reserve | sw_user | sw_password), false, 49, 1, NULL}, + 0, ~(sw_no_reserve | sw_user | sw_password | sw_nolinger), false, 49, 1, NULL}, // msg 49: \t-use\t\tuse full or reserve space for versions {IN_SW_ALICE_USER, 0, "USER", sw_user, 0, (sw_trusted_auth | sw_trusted_svc | sw_trusted_role), false, 50, 4, NULL}, // msg 50: \t-user\t\tdefault user name {IN_SW_ALICE_VALIDATE, isc_spb_rpr_validate_db, "VALIDATE", sw_validate, - 0, ~(sw_validate | sw_user | sw_password), false, 51, 1, NULL}, + 0, ~(sw_validate | sw_user | sw_password | sw_nolinger), false, 51, 1, NULL}, // msg 51: \t-validate\tvalidate database structure {IN_SW_ALICE_WRITE, 0, "WRITE", sw_write, - 0, ~(sw_write | sw_user | sw_password), false, 52, 1, NULL}, + 0, ~(sw_write | sw_user | sw_password | sw_nolinger), false, 52, 1, NULL}, // msg 52: \t-write\t\twrite synchronously or asynchronously #ifdef DEV_BUILD {IN_SW_ALICE_X, 0, "X", 0, Modified: firebird/trunk/src/alice/exe.cpp =================================================================== --- firebird/trunk/src/alice/exe.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/alice/exe.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -323,6 +323,9 @@ dpb.insertInt(isc_dpb_set_db_sql_dialect, tdgbl->ALICE_data.ua_db_SQL_dialect); } + if (switches & sw_nolinger) + dpb.insertTag(isc_dpb_nolinger); + const unsigned char* authBlock; unsigned int authBlockSize = tdgbl->uSvc->getAuthBlock(&authBlock); Modified: firebird/trunk/src/dbs/security.sql =================================================================== --- firebird/trunk/src/dbs/security.sql 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/dbs/security.sql 2013-11-14 16:16:24 UTC (rev 58787) @@ -28,6 +28,12 @@ COMMIT; +/* Linger is definitely useful for security database */ +ALTER DATABASE SET LINGER TO 60; /* one minute */ + +COMMIT; + + /* Table: RDB$USERS */ CREATE TABLE PLG$USERS ( PLG$USER_NAME SEC$USER_NAME NOT NULL PRIMARY KEY, Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/dsql/DdlNodes.epp 2013-11-14 16:16:24 UTC (rev 58787) @@ -10056,6 +10056,12 @@ alterCharSetNode.execute(tdbb, dsqlScratch, transaction); } + if (linger >= 0) + { + DBB.RDB$LINGER.NULL = FALSE; + DBB.RDB$LINGER = linger; + } + if (clauses & CLAUSE_BEGIN_BACKUP) changeBackupMode(tdbb, transaction, CLAUSE_BEGIN_BACKUP); Modified: firebird/trunk/src/dsql/DdlNodes.h =================================================================== --- firebird/trunk/src/dsql/DdlNodes.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/dsql/DdlNodes.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -1945,6 +1945,7 @@ : DdlNode(p), create(false), createLength(0), + linger(-1), clauses(0), differenceFile(p), setDefaultCharSet(p), @@ -1977,7 +1978,7 @@ public: bool create; // Is the node created with a CREATE DATABASE command? - SLONG createLength; + SLONG createLength, linger; unsigned clauses; Firebird::string differenceFile; Firebird::MetaName setDefaultCharSet; Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/dsql/parse.y 2013-11-14 16:16:24 UTC (rev 58787) @@ -561,6 +561,7 @@ %token <metaNamePtr> UNKNOWN %token <metaNamePtr> USAGE %token <metaNamePtr> RDB_RECORD_VERSION +%token <metaNamePtr> LINGER // precedence declarations for expression evaluation @@ -3697,6 +3698,10 @@ { $alterDatabaseNode->cryptPlugin = *$3; } | DECRYPT { $alterDatabaseNode->clauses |= AlterDatabaseNode::CLAUSE_DECRYPT; } + | SET LINGER TO long_integer + { $alterDatabaseNode->linger = $4; } + | DROP LINGER + { $alterDatabaseNode->linger = 0; } ; @@ -7111,6 +7116,7 @@ | RANK | ROW_NUMBER | USAGE + | LINGER ; %% Modified: firebird/trunk/src/include/consts_pub.h =================================================================== --- firebird/trunk/src/include/consts_pub.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/include/consts_pub.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -120,6 +120,7 @@ #define isc_dpb_auth_plugin_list 85 #define isc_dpb_auth_plugin_name 86 #define isc_dpb_config 87 +#define isc_dpb_nolinger 88 /**************************************************/ /* clumplet tags used inside isc_dpb_address_path */ @@ -403,6 +404,7 @@ #define isc_spb_prp_set_sql_dialect 14 #define isc_spb_prp_activate 0x0100 #define isc_spb_prp_db_online 0x0200 +#define isc_spb_prp_nolinger 0x0400 #define isc_spb_prp_force_shutdown 41 #define isc_spb_prp_attachments_shutdown 42 #define isc_spb_prp_transactions_shutdown 43 Modified: firebird/trunk/src/include/firebird/Plugin.h =================================================================== --- firebird/trunk/src/include/firebird/Plugin.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/include/firebird/Plugin.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -146,8 +146,9 @@ virtual const char* FB_CARG getConfigFileName() = 0; virtual IConfig* FB_CARG getDefaultConfig() = 0; virtual IFirebirdConf* FB_CARG getFirebirdConf() = 0; + virtual void FB_CARG setReleaseDelay(ISC_UINT64 microSeconds) = 0; }; -#define FB_PLUGIN_CONFIG_VERSION (FB_REFCOUNTED_VERSION + 3) +#define FB_PLUGIN_CONFIG_VERSION (FB_REFCOUNTED_VERSION + 4) // Required to creat instances of given plugin class IPluginFactory : public IVersioned Modified: firebird/trunk/src/include/gen/ids.h =================================================================== --- firebird/trunk/src/include/gen/ids.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/include/gen/ids.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -39,6 +39,7 @@ const USHORT f_dat_id = 1; const USHORT f_dat_class = 2; const USHORT f_dat_charset = 3; + const USHORT f_dat_linger = 4; // Relation 2 (RDB$FIELDS) Modified: firebird/trunk/src/jrd/Database.cpp =================================================================== --- firebird/trunk/src/jrd/Database.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/Database.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -77,6 +77,11 @@ Database::~Database() { + if (dbb_linger_timer) + { + dbb_linger_timer->destroy(); + } + { // scope SyncLockGuard guard(&dbb_sortbuf_sync, SYNC_EXCLUSIVE, "Database::~Database"); @@ -313,4 +318,45 @@ return 0; } + + void Database::Linger::handler() + { + JRD_shutdown_database(dbb, SHUT_DBB_RELEASE_POOLS); + } + + int Database::Linger::release() + { + if (--refCounter == 0) + { + delete this; + return 0; + } + + return 1; + } + + void Database::Linger::reset() + { + if (active) + { + TimerInterfacePtr()->stop(this); + active = false; + } + } + + void Database::Linger::set(unsigned seconds) + { + if (dbb) + { + TimerInterfacePtr()->start(this, seconds * 1000 * 1000); + active = true; + } + } + + void Database::Linger::destroy() + { + dbb = NULL; + reset(); + } + } // namespace Modified: firebird/trunk/src/jrd/Database.h =================================================================== --- firebird/trunk/src/jrd/Database.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/Database.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -301,11 +301,31 @@ bool exist; }; - static Database* create() + class Linger : public Firebird::RefCntIface<Firebird::ITimer, FB_TIMER_VERSION> { + public: + Linger(Database* a_dbb) + : dbb(a_dbb), active(false) + { } + + void set(unsigned seconds); + void reset(); + void destroy(); + + // ITimer implementation + void FB_CARG handler(); + int FB_CARG release(); + + private: + Database* dbb; + bool active; + }; + + static Database* create(Firebird::IPluginConfig* pConf) + { Firebird::MemoryStats temp_stats; MemoryPool* const pool = MemoryPool::createPool(NULL, temp_stats); - Database* const dbb = FB_NEW(*pool) Database(pool); + Database* const dbb = FB_NEW(*pool) Database(pool, pConf); pool->setStatsGroup(dbb->dbb_memory_stats); return dbb; } @@ -437,6 +457,10 @@ SharedCounter dbb_shared_counter; CryptoManager* dbb_crypto_manager; Firebird::RefPtr<ExistenceRefMutex> dbb_init_fini; + Firebird::RefPtr<Linger> dbb_linger_timer; + unsigned dbb_linger_seconds; + time_t dbb_linger_end; + Firebird::RefPtr<Firebird::IPluginConfig> dbb_plugin_config; // returns true if primary file is located on raw device bool onRawDevice() const; @@ -464,7 +488,7 @@ void deletePool(MemoryPool* pool); private: - explicit Database(MemoryPool* p) + Database(MemoryPool* p, Firebird::IPluginConfig* pConf) : dbb_permanent(p), dbb_page_manager(this, *p), dbb_modules(*p), @@ -478,7 +502,10 @@ dbb_tip_cache(NULL), dbb_creation_date(Firebird::TimeStamp::getCurrentTimeStamp()), dbb_external_file_directory_list(NULL), - dbb_init_fini(FB_NEW(*getDefaultMemoryPool()) ExistenceRefMutex()) + dbb_init_fini(FB_NEW(*getDefaultMemoryPool()) ExistenceRefMutex()), + dbb_linger_seconds(0), + dbb_linger_end(0), + dbb_plugin_config(pConf) { dbb_pools.add(p); } Modified: firebird/trunk/src/jrd/EngineInterface.h =================================================================== --- firebird/trunk/src/jrd/EngineInterface.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/EngineInterface.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -453,8 +453,8 @@ class JProvider : public Firebird::StdPlugin<Firebird::IProvider, FB_PROVIDER_VERSION> { public: - explicit JProvider(Firebird::IPluginConfig*) - : cryptCallback(NULL) + explicit JProvider(Firebird::IPluginConfig* pConf) + : cryptCallback(NULL), pluginConfig(pConf) { } @@ -479,6 +479,7 @@ private: Firebird::ICryptKeyCallback* cryptCallback; + Firebird::IPluginConfig* pluginConfig; }; inline JStatement::JStatement(dsql_req* handle, JAttachment* ja, Firebird::Array<UCHAR>& meta) Modified: firebird/trunk/src/jrd/dfw.epp =================================================================== --- firebird/trunk/src/jrd/dfw.epp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/dfw.epp 2013-11-14 16:16:24 UTC (rev 58787) @@ -403,6 +403,7 @@ static bool drop_package_body(thread_db*, SSHORT, DeferredWork*, jrd_tra*); static bool grant_privileges(thread_db*, SSHORT, DeferredWork*, jrd_tra*); static bool db_crypt(thread_db*, SSHORT, DeferredWork*, jrd_tra*); +static bool set_linger(thread_db*, SSHORT, DeferredWork*, jrd_tra*); // ---------------------------------------------------------------- @@ -493,6 +494,7 @@ { dfw_check_not_null, check_not_null }, { dfw_store_view_context_type, store_view_context_type }, { dfw_db_crypt, db_crypt }, + { dfw_set_linger, set_linger }, { dfw_null, NULL } }; @@ -1526,6 +1528,36 @@ return false; } +static bool set_linger(thread_db* tdbb, SSHORT phase, DeferredWork* work, jrd_tra*) +{ +/************************************** + * + * s e t _ l i n g e r + * + ************************************** + * + * Set linger interval in Database block. + * + **************************************/ + + SET_TDBB(tdbb); + Database* const dbb = tdbb->getDatabase(); + + switch (phase) + { + case 1: + case 2: + case 3: + return true; + + case 4: + dbb->dbb_linger_seconds = atoi(work->dfw_name.c_str()); // number stored as string + break; + } + + return false; +} + static bool check_not_null(thread_db* tdbb, SSHORT phase, DeferredWork* work, jrd_tra* transaction) { /************************************** Modified: firebird/trunk/src/jrd/fields.h =================================================================== --- firebird/trunk/src/jrd/fields.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/fields.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -177,3 +177,5 @@ FIELD(fld_os_user , nam_os_user , dtype_varying , 255 , dsc_text_type_metadata , NULL , true) FIELD(fld_gen_val , nam_gen_val , dtype_int64 , sizeof(SINT64) , 0 , NULL , true) FIELD(fld_auth_method , nam_auth_method , dtype_varying , 255 , dsc_text_type_ascii , NULL , true) + + FIELD(fld_linger , nam_linger , dtype_long , sizeof(SLONG) , 0 , NULL , true) Modified: firebird/trunk/src/jrd/irq.h =================================================================== --- firebird/trunk/src/jrd/irq.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/irq.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -165,6 +165,8 @@ irq_grant15, // process grant option (generators) irq_grant16, // process grant option (domains) + irq_linger, // get database linger value + irq_MAX }; Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/jrd.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -335,7 +335,6 @@ return 1; } - static void shutdownBeforeUnload() { LocalStatus status; @@ -837,6 +836,7 @@ bool dpb_utf8_filename; ULONG dpb_ext_call_depth; ULONG dpb_flags; // to OR'd with dbb_flags + bool dpb_nolinger; // here begin compound objects // for constructor to work properly dpb_user_name @@ -950,20 +950,22 @@ static void unwindAttach(thread_db* tdbb, const Exception& ex, Firebird::IStatus* userStatus, Jrd::Attachment* attachment, Database* dbb); static JAttachment* init(thread_db*, const PathName&, const PathName&, RefPtr<Config>, bool, - const DatabaseOptions&, RefMutexUnlock&); + const DatabaseOptions&, RefMutexUnlock&, IPluginConfig*); static JAttachment* create_attachment(const PathName&, Database*, const DatabaseOptions&); static void prepare_tra(thread_db*, jrd_tra*, USHORT, const UCHAR*); static void start_transaction(thread_db* tdbb, bool transliterate, jrd_tra** tra_handle, Jrd::Attachment* attachment, unsigned int tpb_length, const UCHAR* tpb); static void release_attachment(thread_db*, Jrd::Attachment*); static void rollback(thread_db*, jrd_tra*, const bool); -static bool shutdown_database(Database*, const bool); static void strip_quotes(string&); -static void purge_attachment(thread_db*, JAttachment*, const bool); +static void purge_attachment(thread_db* tdbb, JAttachment* jAtt, unsigned flags = 0); static void getUserInfo(UserId&, const DatabaseOptions&, const char*, const RefPtr<Config>*); static THREAD_ENTRY_DECLARE shutdown_thread(THREAD_ENTRY_PARAM); +// purge_attachment() flags +static const unsigned PURGE_FORCE = 0x01; +static const unsigned PURGE_LINGER = 0x02; TraceFailedConnection::TraceFailedConnection(const char* filename, const DatabaseOptions* options) : m_filename(filename), @@ -1331,7 +1333,7 @@ // Unless we're already attached, do some initialization RefMutexUnlock initGuard; JAttachment* jAtt = init(tdbb, expanded_name, is_alias ? org_filename : expanded_name, - config, true, options, initGuard); + config, true, options, initGuard, pluginConfig); dbb = tdbb->getDatabase(); fb_assert(dbb); @@ -1431,6 +1433,9 @@ SDW_init(tdbb, options.dpb_activate_shadow, options.dpb_delete_shadow); CCH_init2(tdbb); + // linger + dbb->dbb_linger_seconds = MET_get_linger(tdbb); + // Init complete - we can release dbInitMutex dbb->dbb_flags &= ~DBB_new; guardDbInit.leave(); @@ -1464,6 +1469,11 @@ attachment->att_flags |= ATT_no_cleanup; } + if (options.dpb_nolinger) + { + dbb->dbb_linger_seconds = 0; + } + if (options.dpb_disable_wal) { ERR_post(Arg::Gds(isc_lock_timeout) << @@ -2422,7 +2432,7 @@ // Unless we're already attached, do some initialization RefMutexUnlock initGuard; JAttachment* jAtt = init(tdbb, expanded_name, (is_alias ? org_filename : expanded_name), - config, false, options, initGuard); + config, false, options, initGuard, pluginConfig); dbb = tdbb->getDatabase(); fb_assert(dbb); @@ -2783,12 +2793,16 @@ if (attachment->att_in_use) status_exception::raise(Arg::Gds(isc_attachment_in_use)); - const bool force = engineShutdown || + unsigned flags = PURGE_LINGER; + if (engineShutdown || (dbb->dbb_ast_flags & DBB_shutdown) || - (attachment->att_flags & ATT_shutdown); + (attachment->att_flags & ATT_shutdown)) + { + flags |= PURGE_FORCE; + } attachment->signalShutdown(); - purge_attachment(tdbb, this, force); + purge_attachment(tdbb, this, flags); att = NULL; } @@ -2927,7 +2941,7 @@ const jrd_file* file = pageSpace->file; const Shadow* shadow = dbb->dbb_shadow; - if (shutdown_database(dbb, false)) + if (JRD_shutdown_database(dbb)) { // This point on database is useless @@ -5685,6 +5699,10 @@ dpb_overwrite = rdr.getInt() != 0; break; + case isc_dpb_nolinger: + dpb_nolinger = true; + break; + case isc_dpb_sec_attach: dpb_sec_attach = rdr.getInt() != 0; if (dpb_sec_attach) @@ -5857,7 +5875,8 @@ RefPtr<Config> config, bool attach_flag, // only for shared cache const DatabaseOptions& options, - RefMutexUnlock& initGuard) + RefMutexUnlock& initGuard, + IPluginConfig* pConf) { /************************************** * @@ -5933,6 +5952,11 @@ tdbb->setDatabase(dbb); jAtt = create_attachment(alias_name, dbb, options); + if (dbb->dbb_linger_timer) + { + dbb->dbb_linger_timer->reset(); + } + tdbb->setAttachment(jAtt->getHandle()); if (options.dpb_config.hasData()) @@ -5962,7 +5986,7 @@ Config::merge(config, &options.dpb_config); - dbb = Database::create(); + dbb = Database::create(pConf); dbb->dbb_config = config; dbb->dbb_filename = expanded_name; @@ -6339,19 +6363,39 @@ } -static bool shutdown_database(Database* dbb, const bool release_pools) +static void setEngineReleaseDelay(Database* dbb) { -/************************************** + unsigned maxLinger = 0; + { // scope + MutexLockGuard listGuardForLinger(databases_mutex, FB_FUNCTION); + for (Database* d = databases; d; d = d->dbb_next) + { + if ((!d->dbb_attachments) && (d->dbb_linger_end > maxLinger)) + { + maxLinger = d->dbb_linger_end; + } + } + } + + ++maxLinger; // avoid rounding errors + time_t t = time(NULL); + dbb->dbb_plugin_config->setReleaseDelay(maxLinger > t ? (maxLinger - t) * 1000 * 1000 : 0); +} + + +bool JRD_shutdown_database(Database* dbb, const unsigned flags) +{ +/************************************************* * - * s h u t d o w n _ d a t a b a s e + * J R D _ s h u t d o w n _ d a t a b a s e * - ************************************** + ************************************************* * * Functional description * Shutdown physical database environment. * **************************************/ - thread_db* tdbb = JRD_get_thread_data(); + ThreadContextHolder tdbb(dbb, NULL); RefMutexUnlock finiGuard; @@ -6389,6 +6433,29 @@ if (dbb->dbb_attachments) return false; + // Database linger + if ((flags & SHUT_DBB_LINGER) && + (!(engineShutdown || (dbb->dbb_ast_flags & DBB_shutdown))) && + (dbb->dbb_linger_seconds > 0) && + dbb->dbb_config->getSharedCache()) + { + if (!dbb->dbb_linger_timer) + { + dbb->dbb_linger_timer = new Database::Linger(dbb); + } + + dbb->dbb_linger_end = time(NULL) + dbb->dbb_linger_seconds; + dbb->dbb_linger_timer->set(dbb->dbb_linger_seconds); + + setEngineReleaseDelay(dbb); + + return false; + } + + // Reset provider unload delay if needed + dbb->dbb_linger_end = 0; + setEngineReleaseDelay(dbb); + // Deactivate dbb_init_fini lock // Since that moment dbb becomes not reusable dbb->dbb_init_fini->destroy(); @@ -6457,7 +6524,7 @@ } } - if (release_pools) + if (flags & SHUT_DBB_RELEASE_POOLS) { tdbb->setDatabase(NULL); Database::destroy(dbb); @@ -6657,7 +6724,7 @@ } -static void purge_attachment(thread_db* tdbb, JAttachment* jAtt, const bool force_flag) +static void purge_attachment(thread_db* tdbb, JAttachment* jAtt, unsigned flags) { /************************************** * @@ -6781,7 +6848,7 @@ } catch (const Exception&) { - if (!force_flag) + if (!(flags & PURGE_FORCE)) { attachment->att_flags |= ATT_shutdown; attachment->att_flags &= ~ATT_purge_started; @@ -6801,12 +6868,12 @@ if (!(dbb->dbb_flags & DBB_bugcheck)) { // Check for any pending transactions - purge_transactions(tdbb, attachment, force_flag); + purge_transactions(tdbb, attachment, flags & PURGE_FORCE); } } catch (const Exception&) { - if (!force_flag) + if (!(flags & PURGE_FORCE)) { attachment->att_flags |= ATT_shutdown; attachment->att_flags &= ~ATT_purge_started; @@ -6840,8 +6907,8 @@ asyncGuard.leave(); MutexUnlockGuard cout(*attMutex, FB_FUNCTION); - // If there are still attachments, do a partial shutdown - shutdown_database(dbb, true); + // Try to close database if there are no attachments + JRD_shutdown_database(dbb, SHUT_DBB_RELEASE_POOLS | (flags & PURGE_LINGER ? SHUT_DBB_LINGER : 0)); } @@ -7105,7 +7172,7 @@ } } - shutdown_database(dbb, true); + JRD_shutdown_database(dbb, SHUT_DBB_RELEASE_POOLS); } } catch (const Exception&) @@ -7155,7 +7222,7 @@ { // purge attachment, rollback any open transactions attachment->att_use_count++; - purge_attachment(tdbb, jAtt, true); + purge_attachment(tdbb, jAtt, PURGE_FORCE); } catch (const Exception& ex) { @@ -7241,6 +7308,20 @@ // Shutdown existing attachments success = success && shutdownAttachments(attachments); + { // scope + MutexLockGuard guard(databases_mutex, FB_FUNCTION); + + for (Database** ptrDbb = &databases; *ptrDbb;) + { + Database* dbb = *ptrDbb; + JRD_shutdown_database(dbb, SHUT_DBB_RELEASE_POOLS); + if (dbb == *ptrDbb) + { + ptrDbb = &(dbb->dbb_next); + } + } + // No need in databases_mutex any more + } // Extra shutdown operations Service::shutdownServices(); } Modified: firebird/trunk/src/jrd/jrd_proto.h =================================================================== --- firebird/trunk/src/jrd/jrd_proto.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/jrd_proto.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -76,4 +76,10 @@ bool JRD_verify_database_access(const Firebird::PathName&); void JRD_shutdown_attachments(Jrd::Database* dbb); void JRD_cancel_operation(Jrd::thread_db* tdbb, Jrd::Attachment* attachment, int option); + +bool JRD_shutdown_database(Jrd::Database* dbb, const unsigned flags = 0); +// JRD_shutdown_database() flags +static const unsigned SHUT_DBB_RELEASE_POOLS = 0x01; +static const unsigned SHUT_DBB_LINGER = 0x02; + #endif /* JRD_JRD_PROTO_H */ Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/met.epp 2013-11-14 16:16:24 UTC (rev 58787) @@ -5009,3 +5009,33 @@ return false; } + +int MET_get_linger(Jrd::thread_db* tdbb) +{ +/************************************** + * + * M E T _ g e t _ l i n g e r + * + ************************************** + * + * Functional description + * Return linger value for current database + * + **************************************/ + SET_TDBB(tdbb); + Jrd::Attachment* attachment = tdbb->getAttachment(); + int rc = 0; + + AutoCacheRequest request(tdbb, irq_linger, IRQ_REQUESTS); + FOR(REQUEST_HANDLE request) + DAT IN RDB$DATABASE + { + if (!DAT.RDB$LINGER.NULL) + { + rc = DAT.RDB$LINGER; + } + } + END_FOR + + return rc; +} Modified: firebird/trunk/src/jrd/met_proto.h =================================================================== --- firebird/trunk/src/jrd/met_proto.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/met_proto.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -129,5 +129,5 @@ Firebird::MetaName MET_get_relation_field(Jrd::thread_db*, MemoryPool& csbPool, const Firebird::MetaName&, const Firebird::MetaName&, dsc*, Jrd::FieldInfo*); void MET_update_partners(Jrd::thread_db*); - +int MET_get_linger(Jrd::thread_db*); #endif // JRD_MET_PROTO_H Modified: firebird/trunk/src/jrd/names.h =================================================================== --- firebird/trunk/src/jrd/names.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/names.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -248,6 +248,7 @@ NAME("RDB$SOURCE_INFO", nam_src_info) NAME("RDB$ENGINE_NAME", nam_engine_name) +NAME("RDB$LINGER", nam_linger) NAME("RDB$PACKAGES", nam_packages) NAME("RDB$PACKAGE_NAME", nam_pkg_name) Modified: firebird/trunk/src/jrd/relations.h =================================================================== --- firebird/trunk/src/jrd/relations.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/relations.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -38,6 +38,7 @@ FIELD(f_dat_id, nam_r_id, fld_r_id, 0, ODS_8_0) FIELD(f_dat_class, nam_class, fld_class, 1, ODS_8_0) FIELD(f_dat_charset, nam_charset_name, fld_charset_name, 1, ODS_8_0) + FIELD(f_dat_linger, nam_linger, fld_linger, 1, ODS_12_0) END_RELATION // Relation 2 (RDB$FIELDS) Modified: firebird/trunk/src/jrd/tra.h =================================================================== --- firebird/trunk/src/jrd/tra.h 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/tra.h 2013-11-14 16:16:24 UTC (rev 58787) @@ -502,7 +502,8 @@ dfw_arg_trg_type, // trigger type dfw_arg_new_name, // new name dfw_arg_field_not_null, // set domain to not nullable - dfw_db_crypt // change database encryption status + dfw_db_crypt, // change database encryption status + dfw_set_linger // set database linger }; // Verb actions Modified: firebird/trunk/src/jrd/vio.cpp =================================================================== --- firebird/trunk/src/jrd/vio.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/jrd/vio.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -2362,6 +2362,12 @@ { case rel_database: check_class(tdbb, transaction, org_rpb, new_rpb, f_dat_class); + EVL_field(0, org_rpb->rpb_record, f_dat_linger, &desc1); + EVL_field(0, new_rpb->rpb_record, f_dat_linger, &desc2); + if (MOV_compare(&desc1, &desc2)) + { + DFW_post_work(transaction, dfw_set_linger, &desc2, 0); + } break; case rel_relations: Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/msgs/facilities2.sql 2013-11-14 16:16:24 UTC (rev 58787) @@ -3,7 +3,7 @@ -- ('2013-11-05 13:18:17', 'JRD', 0, 752) ('2012-01-23 20:10:30', 'QLI', 1, 532) -('2009-07-16 05:26:11', 'GFIX', 3, 121) +('2013-11-13 15:59:10', 'GFIX', 3, 122) ('1996-11-07 13:39:40', 'GPRE', 4, 1) ('2012-08-27 21:26:00', 'DSQL', 7, 33) ('2013-09-05 12:40:00', 'DYN', 8, 286) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/msgs/messages2.sql 2013-11-14 16:16:24 UTC (rev 58787) @@ -1591,6 +1591,7 @@ (NULL, 'ALICE_gfix', 'alice.cpp', NULL, 3, 118, NULL, 'empty password file @1', NULL, NULL); (NULL, 'ALICE_gfix', 'alice.cpp', NULL, 3, 119, NULL, ' -fe(tch_password) fetch password from file', NULL, NULL); (NULL, 'alice', 'alice.cpp', NULL, 3, 120, NULL, 'usage: gfix [options] <database>', NULL, NULL); +('gfix_opt_nolinger', 'ALICE_gfix', 'alice.c', NULL, 3, 121, NULL, ' -nol(inger) close database ignoring linger setting for it', NULL, NULL); -- DSQL ('dsql_dbkey_from_non_table', 'MAKE_desc', 'make.c', NULL, 7, 2, NULL, 'Cannot SELECT RDB$DB_KEY from a stored procedure.', NULL, NULL); ('dsql_transitional_numeric', 'dsql_yyparse', 'parse.y', NULL, 7, 3, NULL, 'Precision 10 to 18 changed from DOUBLE PRECISION in SQL dialect 1 to 64-bit scaled integer in SQL dialect 3', NULL, NULL); Modified: firebird/trunk/src/remote/server/os/posix/inet_server.cpp =================================================================== --- firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -400,7 +400,7 @@ const Firebird::RefPtr<Config> defConf(Config::getDefaultConfig()); const char* path = defConf->getSecurityDatabase(); - const char dpb[] = {isc_dpb_version1, isc_dpb_gsec_attach, 1, 1, isc_dpb_address_path, 0}; + const char dpb[] = {isc_dpb_version1, isc_dpb_sec_attach, 1, 1, isc_dpb_address_path, 0}; isc_attach_database(status, strlen(path), path, &db_handle, sizeof dpb, dpb); if (status[0] == 1 && status[1] > 0) Modified: firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp =================================================================== --- firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -390,6 +390,7 @@ {"prp_transactions_shutdown", putNumericArgument, 0, isc_spb_prp_transactions_shutdown, 0}, {"prp_shutdown_mode", putShutdownMode, 0, isc_spb_prp_shutdown_mode, 0}, {"prp_online_mode", putShutdownMode, 0, isc_spb_prp_online_mode, 0}, + {"prp_nolinger", putOption, 0, isc_spb_prp_nolinger, 0}, {0, 0, 0, 0, 0} }; Modified: firebird/trunk/src/yvalve/PluginManager.cpp =================================================================== --- firebird/trunk/src/yvalve/PluginManager.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/yvalve/PluginManager.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -406,7 +406,8 @@ RefPtr<ConfigFile> pconfig, const PathName& pconfName, const PathName& pplugName) : module(pmodule), regPlugin(preg), defaultConfig(pconfig), - confName(getPool(), pconfName), plugName(getPool(), pplugName) + confName(getPool(), pconfName), plugName(getPool(), pplugName), + delay(DEFAULT_DELAY) { if (defaultConfig.hasData()) { @@ -461,6 +462,19 @@ return plugName.c_str(); } + void setReleaseDelay(ISC_UINT64 microSeconds) + { +#ifdef DEBUG_PLUGINS + fprintf(stderr, "Set delay for ConfiguredPlugin %s:%p\n", plugName.c_str(), this); +#endif + delay = microSeconds > DEFAULT_DELAY ? microSeconds : DEFAULT_DELAY; + } + + ISC_UINT64 getReleaseDelay() + { + return delay; + } + // ITimer implementation void FB_CARG handler() { } @@ -473,6 +487,9 @@ RefPtr<ConfigFile> defaultConfig; PathName confName; PathName plugName; + + static const FB_UINT64 DEFAULT_DELAY = 1000000; // 1 sec + FB_UINT64 delay; }; // Provides per-database configuration from databases.conf. @@ -506,6 +523,11 @@ return firebirdConf; } + void FB_CARG setReleaseDelay(ISC_UINT64 microSeconds) + { + configuredPlugin->setReleaseDelay(microSeconds); + } + int FB_CARG release() { if (--refCounter == 0) @@ -521,9 +543,10 @@ ~FactoryParameter() { #ifdef DEBUG_PLUGINS - fprintf(stderr, "~FactoryParameter places configuredPlugin %s in unload query\n", configuredPlugin->getPlugName()); + fprintf(stderr, "~FactoryParameter places configuredPlugin %s in unload query for %d seconds\n", + configuredPlugin->getPlugName(), configuredPlugin->getReleaseDelay() / 1000000); #endif - TimerInterfacePtr()->start(configuredPlugin, 1000000); // 1 sec + TimerInterfacePtr()->start(configuredPlugin, configuredPlugin->getReleaseDelay()); } RefPtr<ConfiguredPlugin> configuredPlugin; @@ -532,13 +555,17 @@ IPluginBase* ConfiguredPlugin::factory(IFirebirdConf* firebirdConf) { - RefPtr<FactoryParameter> par(new FactoryParameter(this, firebirdConf)); + FactoryParameter* par = new FactoryParameter(this, firebirdConf); + par->addRef(); IPluginBase* plugin = module->getPlugin(regPlugin).factory->createPlugin(par); if (plugin) { - par->addRef(); plugin->setOwner(par); } + else + { + par->release(); + } return plugin; } Modified: firebird/trunk/src/yvalve/keywords.cpp =================================================================== --- firebird/trunk/src/yvalve/keywords.cpp 2013-11-14 15:36:59 UTC (rev 58786) +++ firebird/trunk/src/yvalve/keywords.cpp 2013-11-14 16:16:24 UTC (rev 58787) @@ -243,6 +243,7 @@ {LEVEL, "LEVEL", 1, false}, {LIKE, "LIKE", 1, false}, {LIMBO, "LIMBO", 2, true}, + {LINGER, "LINGER", 2, true}, {LIST, "LIST", 2, false}, {LN, "LN", 2, false}, {LOCK, "LOCK", 2, true}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-15 01:27:09
|
Revision: 58789 http://sourceforge.net/p/firebird/code/58789 Author: firebirds Date: 2013-11-15 01:27:05 +0000 (Fri, 15 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-14 17:10:46 UTC (rev 58788) +++ firebird/trunk/ChangeLog 2013-11-15 01:27:05 UTC (rev 58789) @@ -1,3 +1,57 @@ + 2013-11-14 17:10 dimitr + M src/dsql/BoolNodes.h +Fixed CORE-4262: Context parsing error with derived tables and CASE functions. + + 2013-11-14 16:16 alexpeshkoff + M doc/README.services_extension + A doc/sql.extensions/README.linger + M src/alice/aliceswi.h + M src/alice/exe.cpp + M src/dbs/security.sql + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/dsql/parse.y + M src/include/consts_pub.h + M src/include/firebird/Plugin.h + M src/include/gen/ids.h + M src/jrd/Database.cpp + M src/jrd/Database.h + M src/jrd/EngineInterface.h + M src/jrd/dfw.epp + M src/jrd/fields.h + M src/jrd/irq.h + M src/jrd/jrd.cpp + M src/jrd/jrd_proto.h + M src/jrd/met.epp + M src/jrd/met_proto.h + M src/jrd/names.h + M src/jrd/relations.h + M src/jrd/tra.h + M src/jrd/vio.cpp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/remote/server/os/posix/inet_server.cpp + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/yvalve/PluginManager.cpp + M src/yvalve/keywords.cpp +Implemented CORE-4263: Database linger + + 2013-11-14 15:36 alexpeshkoff + M src/common/os/posix/mod_loader.cpp +misc + + 2013-11-14 15:36 alexpeshkoff + M src/auth/SecurityDatabase/LegacyServer.cpp +misc + + 2013-11-14 13:52 alexpeshkoff + M src/remote/server/server.cpp +misc.debug + + 2013-11-14 10:26 alexpeshkoff + M src/jrd/shut.cpp +Fixed assertion (and possible deadlock) + 2013-11-13 16:08 dimitr M src/jrd/Database.cpp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-14 17:10:46 UTC (rev 58788) +++ firebird/trunk/src/jrd/build_no.h 2013-11-15 01:27:05 UTC (rev 58789) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30728 + FORMAL BUILD NUMBER:30734 */ -#define PRODUCT_VER_STRING "3.0.0.30728" -#define FILE_VER_STRING "WI-T3.0.0.30728" -#define LICENSE_VER_STRING "WI-T3.0.0.30728" -#define FILE_VER_NUMBER 3, 0, 0, 30728 +#define PRODUCT_VER_STRING "3.0.0.30734" +#define FILE_VER_STRING "WI-T3.0.0.30734" +#define LICENSE_VER_STRING "WI-T3.0.0.30734" +#define FILE_VER_NUMBER 3, 0, 0, 30734 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30728" +#define FB_BUILD_NO "30734" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-14 17:10:46 UTC (rev 58788) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-15 01:27:05 UTC (rev 58789) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30728 +BuildNum=30734 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-16 03:34:31
|
Revision: 58794 http://sourceforge.net/p/firebird/code/58794 Author: firebirds Date: 2013-11-16 03:34:29 +0000 (Sat, 16 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-15 15:40:31 UTC (rev 58793) +++ firebird/trunk/ChangeLog 2013-11-16 03:34:29 UTC (rev 58794) @@ -1,3 +1,16 @@ + 2013-11-15 15:40 dimitr + M src/jrd/irq.h + M src/jrd/met.epp +Fixed CORE-4267: Server crashes while sweeping the database. + + 2013-11-15 09:52 dimitr + M src/remote/server/server.cpp +Prevent races by allowing the worker thread to process op_exit / op_disconnect packets only after the listener had synchronously called cancel_operation(). This fixes CORE-4268: Server may crash while disconnecting from a database. + + 2013-11-15 08:30 alexpeshkoff + M src/remote/client/interface.cpp +Fixed bug, reported privately by Dmitry + 2013-11-14 17:10 dimitr M src/dsql/BoolNodes.h Fixed CORE-4262: Context parsing error with derived tables and CASE functions. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-15 15:40:31 UTC (rev 58793) +++ firebird/trunk/src/jrd/build_no.h 2013-11-16 03:34:29 UTC (rev 58794) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30734 + FORMAL BUILD NUMBER:30737 */ -#define PRODUCT_VER_STRING "3.0.0.30734" -#define FILE_VER_STRING "WI-T3.0.0.30734" -#define LICENSE_VER_STRING "WI-T3.0.0.30734" -#define FILE_VER_NUMBER 3, 0, 0, 30734 +#define PRODUCT_VER_STRING "3.0.0.30737" +#define FILE_VER_STRING "WI-T3.0.0.30737" +#define LICENSE_VER_STRING "WI-T3.0.0.30737" +#define FILE_VER_NUMBER 3, 0, 0, 30737 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30734" +#define FB_BUILD_NO "30737" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-15 15:40:31 UTC (rev 58793) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-16 03:34:29 UTC (rev 58794) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30734 +BuildNum=30737 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-17 00:38:37
|
Revision: 58797 http://sourceforge.net/p/firebird/code/58797 Author: firebirds Date: 2013-11-17 00:38:33 +0000 (Sun, 17 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-16 11:48:48 UTC (rev 58796) +++ firebird/trunk/ChangeLog 2013-11-17 00:38:33 UTC (rev 58797) @@ -1,3 +1,7 @@ + 2013-11-16 11:48 fsg + M src/isql/isql.epp +Don't call setlocale if it is not needed for editline, fxes CORE-4259 + 2013-11-15 15:40 dimitr M src/jrd/irq.h M src/jrd/met.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-16 11:48:48 UTC (rev 58796) +++ firebird/trunk/src/jrd/build_no.h 2013-11-17 00:38:33 UTC (rev 58797) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30737 + FORMAL BUILD NUMBER:30738 */ -#define PRODUCT_VER_STRING "3.0.0.30737" -#define FILE_VER_STRING "WI-T3.0.0.30737" -#define LICENSE_VER_STRING "WI-T3.0.0.30737" -#define FILE_VER_NUMBER 3, 0, 0, 30737 +#define PRODUCT_VER_STRING "3.0.0.30738" +#define FILE_VER_STRING "WI-T3.0.0.30738" +#define LICENSE_VER_STRING "WI-T3.0.0.30738" +#define FILE_VER_NUMBER 3, 0, 0, 30738 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30737" +#define FB_BUILD_NO "30738" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-16 11:48:48 UTC (rev 58796) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-17 00:38:33 UTC (rev 58797) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30737 +BuildNum=30738 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-18 00:34:05
|
Revision: 58799 http://sourceforge.net/p/firebird/code/58799 Author: firebirds Date: 2013-11-18 00:34:03 +0000 (Mon, 18 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-17 14:24:17 UTC (rev 58798) +++ firebird/trunk/ChangeLog 2013-11-18 00:34:03 UTC (rev 58799) @@ -1,3 +1,9 @@ + 2013-11-17 14:24 dimitr + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/DatabaseSnapshot.h + M src/jrd/jrd.cpp +Fixed possible server crash + minor refactoring. + 2013-11-16 11:48 fsg M src/isql/isql.epp Don't call setlocale if it is not needed for editline, fxes CORE-4259 Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-17 14:24:17 UTC (rev 58798) +++ firebird/trunk/src/jrd/build_no.h 2013-11-18 00:34:03 UTC (rev 58799) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30738 + FORMAL BUILD NUMBER:30739 */ -#define PRODUCT_VER_STRING "3.0.0.30738" -#define FILE_VER_STRING "WI-T3.0.0.30738" -#define LICENSE_VER_STRING "WI-T3.0.0.30738" -#define FILE_VER_NUMBER 3, 0, 0, 30738 +#define PRODUCT_VER_STRING "3.0.0.30739" +#define FILE_VER_STRING "WI-T3.0.0.30739" +#define LICENSE_VER_STRING "WI-T3.0.0.30739" +#define FILE_VER_NUMBER 3, 0, 0, 30739 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30738" +#define FB_BUILD_NO "30739" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-17 14:24:17 UTC (rev 58798) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-18 00:34:03 UTC (rev 58799) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30738 +BuildNum=30739 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-19 00:31:30
|
Revision: 58808 http://sourceforge.net/p/firebird/code/58808 Author: firebirds Date: 2013-11-19 00:31:27 +0000 (Tue, 19 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-18 16:28:24 UTC (rev 58807) +++ firebird/trunk/ChangeLog 2013-11-19 00:31:27 UTC (rev 58808) @@ -1,3 +1,87 @@ + 2013-11-18 16:28 dimitr + M src/jrd/vio.cpp +Attempted to fix a number of issues with badly working privileges after restore into ODS12. + + 2013-11-18 16:27 dimitr + M src/burp/burp.h + M src/burp/restore.epp +Attempted to fix a number of issues with badly working privileges after restore into ODS12. + + 2013-11-18 15:33 dimitr + M src/jrd/opt.cpp +Fixed CORE-4270: Error in case of subquery with windowed function + where <field> IN(select ...). + + 2013-11-18 14:56 alexpeshkoff + M src/common/classes/SyncObject.cpp + M src/gpre/cme.cpp + M src/gpre/languages/ftn.cpp + M src/gpre/languages/rmc.cpp + M src/gpre/par.cpp + M src/gpre/pat.cpp + M src/jrd/nbak.cpp + M src/jrd/svc.cpp + M src/jrd/vio.cpp + M src/msgs/build_file.epp + M src/qli/meta.epp +Fixed some more warnings + + 2013-11-18 13:44 alexpeshkoff + M src/gpre/languages/ada.cpp + M src/gpre/languages/ftn.cpp + M src/gpre/languages/pas.cpp +Fixed warning "cast to pointer from integer of different size" + + 2013-11-18 13:28 alexpeshkoff + M src/common/security.h + M src/dsql/DdlNodes.epp + M src/jrd/UserManagement.cpp + M src/jrd/UserManagement.h +Fixed warning "deleting object of abstract class type" where possible + + 2013-11-18 12:45 alexpeshkoff + M src/jrd/ibase.h +Fixed warning "struct declared inside parameter list" + + 2013-11-18 12:20 alexpeshkoff + M src/auth/AuthDbg.h + M src/auth/SecureRemotePassword/client/SrpClient.cpp + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp + M src/auth/SecureRemotePassword/server/SrpServer.cpp + M src/auth/SecurityDatabase/LegacyClient.h + M src/auth/SecurityDatabase/LegacyManagement.h + M src/auth/SecurityDatabase/LegacyServer.cpp + M src/auth/SecurityDatabase/LegacyServer.h + M src/common/MsgMetadata.cpp + M src/common/MsgMetadata.h + M src/common/classes/ImplementHelper.h + M src/common/common.h + M src/common/config/config.h + M src/dsql/DdlNodes.h + M src/include/firebird/Auth.h + M src/include/firebird/Provider.h + M src/jrd/Database.h + M src/jrd/DatabaseSnapshot.h + M src/jrd/EngineInterface.h + M src/jrd/ExtEngineManager.h + M src/jrd/jrd.cpp + M src/jrd/trace/TraceConfigStorage.h + M src/jrd/trace/TraceObjects.cpp + M src/lock/print.cpp + M src/plugins/crypt/arc4/Arc4.cpp + M src/remote/client/interface.cpp + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp + M src/utilities/ntrace/PluginLogWriter.h + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/ntrace/traceplugin.cpp + M src/yvalve/DistributedTransaction.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/PluginManager.cpp + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Fixed new gcc 4.7 warning "deleting object of polymorphic class" in many places. Adjusted use of interface types (reference counted vs just vesrioned). Avoided some hacks caused by badly chosen interface type. + 2013-11-17 14:24 dimitr M src/jrd/DatabaseSnapshot.cpp M src/jrd/DatabaseSnapshot.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-18 16:28:24 UTC (rev 58807) +++ firebird/trunk/src/jrd/build_no.h 2013-11-19 00:31:27 UTC (rev 58808) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30739 + FORMAL BUILD NUMBER:30747 */ -#define PRODUCT_VER_STRING "3.0.0.30739" -#define FILE_VER_STRING "WI-T3.0.0.30739" -#define LICENSE_VER_STRING "WI-T3.0.0.30739" -#define FILE_VER_NUMBER 3, 0, 0, 30739 +#define PRODUCT_VER_STRING "3.0.0.30747" +#define FILE_VER_STRING "WI-T3.0.0.30747" +#define LICENSE_VER_STRING "WI-T3.0.0.30747" +#define FILE_VER_NUMBER 3, 0, 0, 30747 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30739" +#define FB_BUILD_NO "30747" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-18 16:28:24 UTC (rev 58807) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-19 00:31:27 UTC (rev 58808) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30739 +BuildNum=30747 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-11-19 13:19:19
|
Revision: 58810 http://sourceforge.net/p/firebird/code/58810 Author: alexpeshkoff Date: 2013-11-19 13:19:11 +0000 (Tue, 19 Nov 2013) Log Message: ----------- Fixed some gcc warnings Modified Paths: -------------- firebird/trunk/extern/editline/config.h.in firebird/trunk/extern/editline/src/chartype.h firebird/trunk/extern/editline/src/readline.c firebird/trunk/extern/editline/src/vi.c firebird/trunk/src/burp/burp.cpp firebird/trunk/src/common/common.h firebird/trunk/src/common/isc_sync.cpp firebird/trunk/src/common/os/posix/fbsyslog.cpp firebird/trunk/src/common/utils.cpp firebird/trunk/src/dsql/Parser.cpp firebird/trunk/src/gpre/languages/rmc.cpp firebird/trunk/src/isql/ColList.cpp firebird/trunk/src/isql/ColList.h firebird/trunk/src/isql/isql.epp firebird/trunk/src/jrd/DataTypeUtil.cpp firebird/trunk/src/jrd/Optimizer.cpp firebird/trunk/src/jrd/SimilarToMatcher.h firebird/trunk/src/jrd/constants.h firebird/trunk/src/jrd/exe.h firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/svc.cpp firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp firebird/trunk/src/lock/lock.cpp firebird/trunk/src/lock/print.cpp firebird/trunk/src/msgs/build_file.epp firebird/trunk/src/qli/command.cpp firebird/trunk/src/qli/exe.cpp firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp firebird/trunk/src/utilities/nbackup/nbackup.cpp firebird/trunk/src/yvalve/gds.cpp firebird/trunk/src/yvalve/utl.cpp Modified: firebird/trunk/extern/editline/config.h.in =================================================================== --- firebird/trunk/extern/editline/config.h.in 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/extern/editline/config.h.in 2013-11-19 13:19:11 UTC (rev 58810) @@ -295,3 +295,5 @@ #undef LIBC_SCCS #define lint +#define EL_UNUSED(a) if (a) + Modified: firebird/trunk/extern/editline/src/chartype.h =================================================================== --- firebird/trunk/extern/editline/src/chartype.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/extern/editline/src/chartype.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -65,9 +65,9 @@ #endif #define ct_mbtowc mbtowc -#define ct_mbtowc_reset mbtowc(0,0,(size_t)0) +#define ct_mbtowc_reset EL_UNUSED(mbtowc(0,0,(size_t)0)) #define ct_wctomb wctomb -#define ct_wctomb_reset wctomb(0,0) +#define ct_wctomb_reset EL_UNUSED(wctomb(0,0)) #define ct_wcstombs wcstombs #define ct_mbstowcs mbstowcs Modified: firebird/trunk/extern/editline/src/readline.c =================================================================== --- firebird/trunk/extern/editline/src/readline.c 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/extern/editline/src/readline.c 2013-11-19 13:19:11 UTC (rev 58810) @@ -1292,7 +1292,9 @@ } fflush(fp); if((off = ftello(fp)) > 0) - (void)ftruncate(fileno(fp), off); + { + EL_UNUSED(ftruncate(fileno(fp), off)); + } out3: fclose(tp); out2: Modified: firebird/trunk/extern/editline/src/vi.c =================================================================== --- firebird/trunk/extern/editline/src/vi.c 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/extern/editline/src/vi.c 2013-11-19 13:19:11 UTC (rev 58810) @@ -1031,8 +1031,8 @@ ct_wcstombs(cp, line, TMP_BUFSIZ - 1); cp[TMP_BUFSIZ - 1] = '\0'; len = strlen(cp); - write(fd, cp, len); - write(fd, "\n", (size_t)1); + EL_UNUSED(write(fd, cp, len)); + EL_UNUSED(write(fd, "\n", (size_t)1)); pid = fork(); switch (pid) { case -1: Modified: firebird/trunk/src/burp/burp.cpp =================================================================== --- firebird/trunk/src/burp/burp.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/burp/burp.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -2349,7 +2349,7 @@ off_t fileSize = lseek(file, 0, SEEK_CUR); if (fileSize != (off_t)(-1)) { - ftruncate(file, fileSize); + FB_UNUSED(ftruncate(file, fileSize)); } } Modified: firebird/trunk/src/common/common.h =================================================================== --- firebird/trunk/src/common/common.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/common/common.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -890,6 +890,8 @@ #define FB_FINAL #endif +#define FB_UNUSED(value) if (value) + // 30 Dec 2002. Nickolay Samofatov // This needs to be checked for all supported platforms // The simpliest way to check it is to issue from correct client: Modified: firebird/trunk/src/common/isc_sync.cpp =================================================================== --- firebird/trunk/src/common/isc_sync.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/common/isc_sync.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -714,7 +714,7 @@ return; } - ftruncate(fdSem, sizeof(*this)); + FB_UNUSED(ftruncate(fdSem, sizeof(*this))); for (int i = 0; i < N_SETS; ++i) { @@ -1929,7 +1929,7 @@ if (mainLock->setlock(statusVector, FileLock::FLM_TRY_EXCLUSIVE)) { if (trunc_flag) - ftruncate(mainLock->getFd(), length); + FB_UNUSED(ftruncate(mainLock->getFd(), length)); if (callback->initialize(this, true)) { @@ -3042,7 +3042,7 @@ } if (flag) - ftruncate(mainLock->getFd(), new_length); + FB_UNUSED(ftruncate(mainLock->getFd(), new_length)); MemoryHeader* const address = (MemoryHeader*) mmap(0, new_length, PROT_READ | PROT_WRITE, MAP_SHARED, mainLock->getFd(), 0); Modified: firebird/trunk/src/common/os/posix/fbsyslog.cpp =================================================================== --- firebird/trunk/src/common/os/posix/fbsyslog.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/common/os/posix/fbsyslog.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -50,8 +50,8 @@ } if (isatty(fd)) { - write(fd, msg, strlen(msg)); - write(fd, "\n", 1); + FB_UNUSED(write(fd, msg, strlen(msg))); + FB_UNUSED(write(fd, "\n", 1)); } } } // namespace Firebird Modified: firebird/trunk/src/common/utils.cpp =================================================================== --- firebird/trunk/src/common/utils.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/common/utils.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -692,9 +692,9 @@ #if defined(WIN_NT) _getcwd(buffer, MAXPATHLEN); #elif defined(HAVE_GETCWD) - getcwd(buffer, MAXPATHLEN); + FB_UNUSED(getcwd(buffer, MAXPATHLEN)); #else - getwd(buffer); + FB_UNUSED(getwd(buffer)); #endif pn.recalculate_length(); } Modified: firebird/trunk/src/dsql/Parser.cpp =================================================================== --- firebird/trunk/src/dsql/Parser.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/dsql/Parser.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -397,7 +397,7 @@ check_bound(p, string); - if (p - string > MAX_SQL_IDENTIFIER_LEN) + if (p > string + MAX_SQL_IDENTIFIER_LEN) yyabandon(-104, isc_dyn_name_longer); *p = 0; Modified: firebird/trunk/src/gpre/languages/rmc.cpp =================================================================== --- firebird/trunk/src/gpre/languages/rmc.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/gpre/languages/rmc.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -1749,7 +1749,7 @@ const TEXT* s = ready->rdy_filename; if (s && ((*s == '\'') || (*s == '\"'))) { - int len = strlen(++s); + unsigned int len = strlen(++s); if (len >= sizeof(fname)) len = sizeof(fname); @@ -3963,7 +3963,7 @@ while (*p) ++p; - fb_assert(p - string1 < sizeof(string1)); + fb_assert(p < string1 + sizeof(string1)); #endif printa(space, false, "%s", string1); Modified: firebird/trunk/src/isql/ColList.cpp =================================================================== --- firebird/trunk/src/isql/ColList.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/isql/ColList.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -27,7 +27,7 @@ #include "../common/utils_proto.h" -ColList::item::item(const char* name, int len) +ColList::item::item(const char* name, unsigned len) : col_len(len), next(0) { fb_utils::copy_terminate(col_name, name, sizeof(col_name)); @@ -50,7 +50,7 @@ } // Put an item in the list. If the name already exists, replace the item's length. -bool ColList::put(const char* name, int len) +bool ColList::put(const char* name, unsigned len) { if (!m_head) { @@ -119,7 +119,7 @@ // Locate the item by name and return true if found; false otherwise. // If found, put the item's length in the second (output) argument. -bool ColList::find(const char* name, int* out_len) const +bool ColList::find(const char* name, unsigned* out_len) const { for (const item* pc = m_head; pc; pc = pc->next) { Modified: firebird/trunk/src/isql/ColList.h =================================================================== --- firebird/trunk/src/isql/ColList.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/isql/ColList.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -38,19 +38,19 @@ struct item { TEXT col_name[MAX_SQL_IDENTIFIER_SIZE]; - int col_len; + unsigned col_len; item* next; - item(const char* name, int len); + item(const char* name, unsigned len); }; ColList(); ~ColList(); void clear(); item* getHead(); - bool put(const char* name, int len); + bool put(const char* name, unsigned len); bool remove(const char* name); const item* find(const char* name) const; - bool find(const char* name, int* out_len) const; + bool find(const char* name, unsigned* out_len) const; size_t count() const; private: Modified: firebird/trunk/src/isql/isql.epp =================================================================== --- firebird/trunk/src/isql/isql.epp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/isql/isql.epp 2013-11-19 13:19:11 UTC (rev 58810) @@ -365,18 +365,18 @@ #ifdef DEV_BUILD static processing_state passthrough(const char* cmd); #endif -static SSHORT print_item(TEXT**, XSQLVAR*, const int); +static SSHORT print_item(TEXT**, XSQLVAR*, const unsigned); static void print_item_numeric(SINT64, int, int, TEXT*); -static processing_state print_line(XSQLDA*, const int pad[], TEXT line[]); +static processing_state print_line(XSQLDA*, const unsigned pad[], TEXT line[]); static void print_performance(const perf64* perf_before); static processing_state print_sqlda_input(const bool is_selectable); static void print_sqlda_output(const XSQLDA& sqlda); -static void process_header(const XSQLDA* sqlda, const int pad[], TEXT header[], TEXT header2[]); +static void process_header(const XSQLDA* sqlda, const unsigned pad[], TEXT header[], TEXT header2[]); static void process_plan(); static SLONG process_record_count(const int statement_type); static SSHORT process_request_type(); static SLONG* process_sqlda_buffer(XSQLDA* const sqlda, SSHORT nullind[]); -static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[]); +static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], unsigned pad[]); static int process_statement(const TEXT*, XSQLDA**); #ifdef WIN_NT static BOOL CALLBACK query_abort(DWORD); @@ -7224,7 +7224,7 @@ } -static SSHORT print_item(TEXT** s, XSQLVAR* var, const int length) +static SSHORT print_item(TEXT** s, XSQLVAR* var, const unsigned length) { /************************************** * @@ -7244,9 +7244,6 @@ SSHORT dtype = var->sqltype & ~1; // may be modified by print_item_blob() const int dscale = var->sqlscale; - // The printlength should have in it the right length - //const int length = printlength; - if (List) { isqlGlob.printf("%-31s ", fb_utils::exact_name(var->aliasname)); } @@ -7401,11 +7398,11 @@ // Don't let numeric/decimal doubles overflow print length // Special handling for 0 -- don't test log for length - int rounded = 0; + unsigned rounded = 0; if (dscale && (!value || - (rounded = static_cast<int>(ceil(fabs(log10(fabs(value)))))) < length - 10)) + (rounded = static_cast<unsigned int>(ceil(fabs(log10(fabs(value)))))) < length - 10)) { - int precision = 0; + unsigned precision = 0; // CVC: Test values are // select -2.488355210669293e+01 from rdb$database; @@ -7429,7 +7426,7 @@ precision = length - rounded - 2; // Take into account old database containing negative scales for double - if (dscale < 0 && precision > -dscale) + if (dscale < 0 && precision > unsigned(-dscale)) { precision = -dscale; } @@ -7473,7 +7470,7 @@ // See if it is character set OCTETS if (var->sqlsubtype == 1) { - const SLONG hex_len = 2 * var->sqllen; + const ULONG hex_len = 2 * var->sqllen; TEXT* buff2 = (TEXT*) ISQL_ALLOC(hex_len + 1); // Convert the string to hex digits for (USHORT i = 0; i < var->sqllen; i++) { @@ -7558,7 +7555,7 @@ // If CHARACTER SET OCTETS, print two hex digits per octet if (var->sqlsubtype == 1) { - const SLONG hex_len = 2 * avary->vary_length; + const ULONG hex_len = 2 * avary->vary_length; char* buff2 = static_cast<char*>(ISQL_ALLOC(hex_len + 1)); char* bp = buff2; @@ -7576,7 +7573,7 @@ else { // Truncate if necessary - sprintf(p, "%-*.*s ", length, static_cast<int>(MIN(length, hex_len)), buff2); + sprintf(p, "%-*.*s ", length, static_cast<unsigned int>(MIN(length, hex_len)), buff2); } ISQL_FREE(buff2); } @@ -7792,7 +7789,7 @@ } -static processing_state print_line(XSQLDA* sqlda, const int pad[], TEXT line[]) +static processing_state print_line(XSQLDA* sqlda, const unsigned pad[], TEXT line[]) { /************************************** * @@ -8013,7 +8010,7 @@ // *************************** // Write into buffers the information that will be printed as page header for // statements that return data. -static void process_header(const XSQLDA* sqlda, const int pad[], TEXT header[], TEXT header2[]) +static void process_header(const XSQLDA* sqlda, const unsigned pad[], TEXT header[], TEXT header2[]) { // Create the column header : Left justify strings @@ -8265,7 +8262,7 @@ // ***************************************** // Calculate individual column widths and return total line width. // Assign previously allocated buffer in pieces to every XSQLVAR. -static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], int pad[]) +static SLONG process_sqlda_display(XSQLDA* const sqlda, SLONG buffer[], unsigned pad[]) { int linelength = 0; SLONG offset = 0; @@ -8681,9 +8678,9 @@ SLONG* buffer = process_sqlda_buffer(sqlda, nullind); // Pad is an array of lengths to be passed to the print_item - int* pad = NULL; + unsigned* pad = NULL; if (sqlda->sqld) { - pad = (int*) ISQL_ALLOC ((SLONG) (sqlda->sqld * sizeof(int))); + pad = (unsigned*) ISQL_ALLOC ((SLONG) (sqlda->sqld * sizeof(int))); } // Calculate display width and add a few for line termination, et al Modified: firebird/trunk/src/jrd/DataTypeUtil.cpp =================================================================== --- firebird/trunk/src/jrd/DataTypeUtil.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/DataTypeUtil.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -303,13 +303,13 @@ if (result->isText()) { - SLONG len = convertLength(value, result); + ULONG len = convertLength(value, result); if (length->dsc_address) // constant { - SLONG constant = MIN(MAX_COLUMN_SIZE, CVT_get_long(length, 0, ERR_post)); + SLONG constant = CVT_get_long(length, 0, ERR_post); fb_assert(constant >= 0); - len = MIN(len, constant * maxBytesPerChar(result->getCharSet())); + len = MIN(len, MIN(MAX_COLUMN_SIZE, ULONG(constant)) * maxBytesPerChar(result->getCharSet())); } result->dsc_length = fixLength(result, len) + sizeof(USHORT); Modified: firebird/trunk/src/jrd/Optimizer.cpp =================================================================== --- firebird/trunk/src/jrd/Optimizer.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/Optimizer.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -643,7 +643,7 @@ if (navigationCandidate < 0) return NULL; - fb_assert(navigationCandidate < indexScratches.getCount()); + fb_assert(unsigned(navigationCandidate) < indexScratches.getCount()); IndexScratch* const indexScratch = &indexScratches[navigationCandidate]; // Looks like we can do a navigational walk. Flag that Modified: firebird/trunk/src/jrd/SimilarToMatcher.h =================================================================== --- firebird/trunk/src/jrd/SimilarToMatcher.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/SimilarToMatcher.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -1348,7 +1348,7 @@ MatchState state = msIterating; - SimpleStack<ULONG> repeatStack; + SimpleStack<SLONG> repeatStack; while (true) { @@ -1374,7 +1374,7 @@ case ENCODE_OP_STATE(opRepeatEnd, msIterating): { const Node* repeatNode = scope->i + node->ref; - ULONG* repeatCount = repeatStack.back; + SLONG* repeatCount = repeatStack.back; if (*repeatCount < repeatNode->len2) { @@ -1389,7 +1389,7 @@ case ENCODE_OP_STATE(opRepeatEnd, msReturningFalse): { const Node* repeatNode = scope->i + node->ref; - ULONG* repeatCount = repeatStack.back; + SLONG* repeatCount = repeatStack.back; if (--*repeatCount >= repeatNode->len) state = msIterating; Modified: firebird/trunk/src/jrd/constants.h =================================================================== --- firebird/trunk/src/jrd/constants.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/constants.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -297,19 +297,19 @@ POST_ERASE_TRIGGER = 6 }; -const int TRIGGER_TYPE_SHIFT = 13; -const int TRIGGER_TYPE_MASK = (0x3 << TRIGGER_TYPE_SHIFT); +const unsigned TRIGGER_TYPE_SHIFT = 13; +const unsigned TRIGGER_TYPE_MASK = (0x3 << TRIGGER_TYPE_SHIFT); -const int TRIGGER_TYPE_DML = (0 << TRIGGER_TYPE_SHIFT); -const int TRIGGER_TYPE_DB = (1 << TRIGGER_TYPE_SHIFT); -const int TRIGGER_TYPE_DDL = (2 << TRIGGER_TYPE_SHIFT); +const unsigned TRIGGER_TYPE_DML = (0 << TRIGGER_TYPE_SHIFT); +const unsigned TRIGGER_TYPE_DB = (1 << TRIGGER_TYPE_SHIFT); +const unsigned TRIGGER_TYPE_DDL = (2 << TRIGGER_TYPE_SHIFT); -const int DB_TRIGGER_CONNECT = 0; -const int DB_TRIGGER_DISCONNECT = 1; -const int DB_TRIGGER_TRANS_START = 2; -const int DB_TRIGGER_TRANS_COMMIT = 3; -const int DB_TRIGGER_TRANS_ROLLBACK = 4; -const int DB_TRIGGER_MAX = 5; +const unsigned DB_TRIGGER_CONNECT = 0; +const unsigned DB_TRIGGER_DISCONNECT = 1; +const unsigned DB_TRIGGER_TRANS_START = 2; +const unsigned DB_TRIGGER_TRANS_COMMIT = 3; +const unsigned DB_TRIGGER_TRANS_ROLLBACK = 4; +const unsigned DB_TRIGGER_MAX = 5; static const char* const DDL_TRIGGER_ACTION_NAMES[][2] = { Modified: firebird/trunk/src/jrd/exe.h =================================================================== --- firebird/trunk/src/jrd/exe.h 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/exe.h 2013-11-19 13:19:11 UTC (rev 58810) @@ -632,7 +632,7 @@ }; // must correspond to the declared size of RDB$EXCEPTIONS.RDB$MESSAGE -const int XCP_MESSAGE_LENGTH = 1023; +const unsigned XCP_MESSAGE_LENGTH = 1023; } // namespace Jrd Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/met.epp 2013-11-19 13:19:11 UTC (rev 58810) @@ -508,7 +508,7 @@ Jrd::Attachment* att = tdbb->getAttachment(); - for (int i = 0; i < DB_TRIGGER_MAX; i++) { + for (unsigned i = 0; i < DB_TRIGGER_MAX; i++) { release_cached_triggers(tdbb, att->att_triggers[i]); } Modified: firebird/trunk/src/jrd/svc.cpp =================================================================== --- firebird/trunk/src/jrd/svc.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/svc.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -2167,9 +2167,8 @@ svc_started = true; TEXT buffer[100]; setDataMode(true); - while (!feof(file) && !ferror(file)) + while (fgets(buffer, sizeof(buffer), file)) { - fgets(buffer, sizeof(buffer), file); outputData(buffer, strlen(buffer)); } setDataMode(false); Modified: firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp =================================================================== --- firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -501,7 +501,7 @@ { case tagID: fb_assert(len == sizeof(currID)); - read(m_cfg_file, &currID, len); + FB_UNUSED(read(m_cfg_file, &currID, len)); continue; case tagFlags: Modified: firebird/trunk/src/lock/lock.cpp =================================================================== --- firebird/trunk/src/lock/lock.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/lock/lock.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -1614,7 +1614,7 @@ FILE* const fd = fopen(lock_file, "wb"); if (fd) { - fwrite(m_sharedMemory->getHeader(), 1, m_sharedMemory->getHeader()->lhb_used, fd); + FB_UNUSED(fwrite(m_sharedMemory->getHeader(), 1, m_sharedMemory->getHeader()->lhb_used, fd)); fclose(fd); } Modified: firebird/trunk/src/lock/print.cpp =================================================================== --- firebird/trunk/src/lock/print.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/lock/print.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -657,7 +657,7 @@ } LOCK_header = (lhb*)(UCHAR*) buffer; - const size_t bytes_read = read(fd, LOCK_header, file_stat.st_size); + const int bytes_read = read(fd, LOCK_header, file_stat.st_size); close(fd); if (bytes_read != file_stat.st_size) Modified: firebird/trunk/src/msgs/build_file.epp =================================================================== --- firebird/trunk/src/msgs/build_file.epp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/msgs/build_file.epp 2013-11-19 13:19:11 UTC (rev 58810) @@ -449,7 +449,7 @@ // Re-write header record and finish lseek(global_file, LSEEK_OFFSET_CAST 0, 0); - write(global_file, &header, sizeof(header)); + FB_UNUSED(write(global_file, &header, sizeof(header))); close(global_file); global_file = -1; Modified: firebird/trunk/src/qli/command.cpp =================================================================== --- firebird/trunk/src/qli/command.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/qli/command.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -443,7 +443,7 @@ #endif } - system(buffer); + FB_UNUSED(system(buffer)); } Modified: firebird/trunk/src/qli/exe.cpp =================================================================== --- firebird/trunk/src/qli/exe.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/qli/exe.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -337,7 +337,7 @@ { close(pair[1]); close(0); - dup(pair[0]); + FB_UNUSED(dup(pair[0])); close(pair[0]); execvp(argv[0], argv); ERRQ_msg_put(43, filename); // Msg43 Couldn't run %s Modified: firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp =================================================================== --- firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -553,7 +553,7 @@ bool rc = getLine(s, p); if (rc) { - write(binout, s.c_str(), s.length()); + FB_UNUSED(write(binout, s.c_str(), s.length())); } return rc; } Modified: firebird/trunk/src/utilities/nbackup/nbackup.cpp =================================================================== --- firebird/trunk/src/utilities/nbackup/nbackup.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/utilities/nbackup/nbackup.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -1196,7 +1196,7 @@ //Enter name of the backup file of level %d (\".\" - do not restore further):\n printMsg(69, SafeArg() << curLevel); char temp[256]; - scanf("%255s", temp); + FB_UNUSED(scanf("%255s", temp)); bakname = temp; } if (bakname == ".") Modified: firebird/trunk/src/yvalve/gds.cpp =================================================================== --- firebird/trunk/src/yvalve/gds.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/yvalve/gds.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -1082,7 +1082,7 @@ if (file == -1) return; - write(file, text, length); + FB_UNUSED(write(file, text, length)); close(file); #endif } Modified: firebird/trunk/src/yvalve/utl.cpp =================================================================== --- firebird/trunk/src/yvalve/utl.cpp 2013-11-19 12:36:53 UTC (rev 58809) +++ firebird/trunk/src/yvalve/utl.cpp 2013-11-19 13:19:11 UTC (rev 58810) @@ -516,7 +516,7 @@ TEXT buffer[MAXPATHLEN * 2 + 5]; fb_utils::snprintf(buffer, sizeof(buffer), "%s \"%s\"", editor.c_str(), file_name); - system(buffer); + FB_UNUSED(system(buffer)); struct stat after; stat(file_name, &after); @@ -1778,7 +1778,7 @@ } while (--l); */ if (l) - fwrite(buffer, 1, l, file); + FB_UNUSED(fwrite(buffer, 1, l, file)); } // Close the blob This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-20 00:27:12
|
Revision: 58811 http://sourceforge.net/p/firebird/code/58811 Author: firebirds Date: 2013-11-20 00:27:10 +0000 (Wed, 20 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-19 13:19:11 UTC (rev 58810) +++ firebird/trunk/ChangeLog 2013-11-20 00:27:10 UTC (rev 58811) @@ -1,3 +1,42 @@ + 2013-11-19 13:19 alexpeshkoff + M extern/editline/config.h.in + M extern/editline/src/chartype.h + M extern/editline/src/readline.c + M extern/editline/src/vi.c + M src/burp/burp.cpp + M src/common/common.h + M src/common/isc_sync.cpp + M src/common/os/posix/fbsyslog.cpp + M src/common/utils.cpp + M src/dsql/Parser.cpp + M src/gpre/languages/rmc.cpp + M src/isql/ColList.cpp + M src/isql/ColList.h + M src/isql/isql.epp + M src/jrd/DataTypeUtil.cpp + M src/jrd/Optimizer.cpp + M src/jrd/SimilarToMatcher.h + M src/jrd/constants.h + M src/jrd/exe.h + M src/jrd/met.epp + M src/jrd/svc.cpp + M src/jrd/trace/TraceConfigStorage.cpp + M src/lock/lock.cpp + M src/lock/print.cpp + M src/msgs/build_file.epp + M src/qli/command.cpp + M src/qli/exe.cpp + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/utilities/nbackup/nbackup.cpp + M src/yvalve/gds.cpp + M src/yvalve/utl.cpp +Fixed some gcc warnings + + 2013-11-19 12:36 alexpeshkoff + M builds/posix/prefix.linux + M builds/posix/prefix.linux_amd64 +Turn off one more warning - all places where UCHAR array is initated with constants like 12 (i.e. DPB and other clumplets) the warning is issued + 2013-11-18 16:28 dimitr M src/jrd/vio.cpp Attempted to fix a number of issues with badly working privileges after restore into ODS12. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-19 13:19:11 UTC (rev 58810) +++ firebird/trunk/src/jrd/build_no.h 2013-11-20 00:27:10 UTC (rev 58811) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30747 + FORMAL BUILD NUMBER:30749 */ -#define PRODUCT_VER_STRING "3.0.0.30747" -#define FILE_VER_STRING "WI-T3.0.0.30747" -#define LICENSE_VER_STRING "WI-T3.0.0.30747" -#define FILE_VER_NUMBER 3, 0, 0, 30747 +#define PRODUCT_VER_STRING "3.0.0.30749" +#define FILE_VER_STRING "WI-T3.0.0.30749" +#define LICENSE_VER_STRING "WI-T3.0.0.30749" +#define FILE_VER_NUMBER 3, 0, 0, 30749 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30747" +#define FB_BUILD_NO "30749" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-19 13:19:11 UTC (rev 58810) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-20 00:27:10 UTC (rev 58811) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30747 +BuildNum=30749 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-11-20 12:12:10
|
Revision: 58813 http://sourceforge.net/p/firebird/code/58813 Author: alexpeshkoff Date: 2013-11-20 12:12:07 +0000 (Wed, 20 Nov 2013) Log Message: ----------- Use better way to ignore unused return value - thanks to Adriano Modified Paths: -------------- firebird/trunk/extern/editline/config.h.in firebird/trunk/src/common/common.h Modified: firebird/trunk/extern/editline/config.h.in =================================================================== --- firebird/trunk/extern/editline/config.h.in 2013-11-20 12:03:22 UTC (rev 58812) +++ firebird/trunk/extern/editline/config.h.in 2013-11-20 12:12:07 UTC (rev 58813) @@ -295,5 +295,4 @@ #undef LIBC_SCCS #define lint -#define EL_UNUSED(a) if (a) - +#define EL_UNUSED(a) do { if(a); } while (0) Modified: firebird/trunk/src/common/common.h =================================================================== --- firebird/trunk/src/common/common.h 2013-11-20 12:03:22 UTC (rev 58812) +++ firebird/trunk/src/common/common.h 2013-11-20 12:12:07 UTC (rev 58813) @@ -890,7 +890,7 @@ #define FB_FINAL #endif -#define FB_UNUSED(value) if (value) +#define FB_UNUSED(value) do { if(value); } while (false) // 30 Dec 2002. Nickolay Samofatov // This needs to be checked for all supported platforms This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-21 01:11:13
|
Revision: 58814 http://sourceforge.net/p/firebird/code/58814 Author: firebirds Date: 2013-11-21 01:11:10 +0000 (Thu, 21 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-20 12:12:07 UTC (rev 58813) +++ firebird/trunk/ChangeLog 2013-11-21 01:11:10 UTC (rev 58814) @@ -1,3 +1,12 @@ + 2013-11-20 12:12 alexpeshkoff + M extern/editline/config.h.in + M src/common/common.h +Use better way to ignore unused return value - thanks to Adriano + + 2013-11-20 12:03 alexpeshkoff + M examples/empbuild/empbuild.e +It's better to always check isql return code + 2013-11-19 13:19 alexpeshkoff M extern/editline/config.h.in M extern/editline/src/chartype.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-20 12:12:07 UTC (rev 58813) +++ firebird/trunk/src/jrd/build_no.h 2013-11-21 01:11:10 UTC (rev 58814) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30749 + FORMAL BUILD NUMBER:30751 */ -#define PRODUCT_VER_STRING "3.0.0.30749" -#define FILE_VER_STRING "WI-T3.0.0.30749" -#define LICENSE_VER_STRING "WI-T3.0.0.30749" -#define FILE_VER_NUMBER 3, 0, 0, 30749 +#define PRODUCT_VER_STRING "3.0.0.30751" +#define FILE_VER_STRING "WI-T3.0.0.30751" +#define LICENSE_VER_STRING "WI-T3.0.0.30751" +#define FILE_VER_NUMBER 3, 0, 0, 30751 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30749" +#define FB_BUILD_NO "30751" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-20 12:12:07 UTC (rev 58813) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-21 01:11:10 UTC (rev 58814) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30749 +BuildNum=30751 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2013-11-21 01:17:11
|
Revision: 58815 http://sourceforge.net/p/firebird/code/58815 Author: asfernandes Date: 2013-11-21 01:17:08 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/doc/README.interfaces.html firebird/trunk/doc/README.services_extension firebird/trunk/src/auth/SecureRemotePassword/srp.cpp firebird/trunk/src/common/classes/SyncObject.cpp firebird/trunk/src/common/common.h firebird/trunk/src/common/config/os/darwin/config_root.cpp firebird/trunk/src/iscguard/iscguard.cpp firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/tra.cpp firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/yvalve/PluginManager.cpp Modified: firebird/trunk/doc/README.interfaces.html =================================================================== --- firebird/trunk/doc/README.interfaces.html 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/doc/README.interfaces.html 2013-11-21 01:17:08 UTC (rev 58815) @@ -126,10 +126,10 @@ implementation of interfaces: it should not contain virtual functions (including virtual destructor) except those defined in interface definition. This is because interface upgrade process modifies table -of virtual functions, and for successful upgrade number of functions -in interface implementation should exactly match one in it's +of virtual functions, and for successful upgrade, number of functions +in interface implementation should exactly match one in its definition. Pointer to functions, missing in interface definition but -added in it's implementation, may be </FONT><FONT COLOR="#ff0000"><FONT SIZE=4>overwritten</FONT></FONT><FONT SIZE=4> +added in its implementation, may be </FONT><FONT COLOR="#ff0000"><FONT SIZE=4>overwritten</FONT></FONT><FONT SIZE=4> with a pointer to function used to upgrade interface.</FONT></P> <P STYLE="margin-bottom: 0in"><BR> </P> Modified: firebird/trunk/doc/README.services_extension =================================================================== --- firebird/trunk/doc/README.services_extension 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/doc/README.services_extension 2013-11-21 01:17:08 UTC (rev 58815) @@ -197,7 +197,7 @@ (Alex Peshkov, pes...@ma..., 2013) If one wants to use services API to access database which is configured to use -non-default security database new SPB item isc_spb_expected_db should be used +non-default security database, new SPB item isc_spb_expected_db should be used when attaching to services manager. Value of this item is a database which is expected to be accessed. Modified: firebird/trunk/src/auth/SecureRemotePassword/srp.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/srp.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/auth/SecureRemotePassword/srp.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -216,7 +216,7 @@ void dumpBin(const char* name, const Firebird::string& str) { fprintf(stderr, "%s (%ld)\n", name, str.length()); - for (size_t x=0; x<str.length(); ++x) + for (size_t x = 0; x < str.length(); ++x) fprintf(stderr, "%02x ", str[x]); fprintf(stderr, "\n"); } Modified: firebird/trunk/src/common/classes/SyncObject.cpp =================================================================== --- firebird/trunk/src/common/classes/SyncObject.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/common/classes/SyncObject.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -306,7 +306,7 @@ if (thread->lockGranted) return true; - (void)wakeup; + (void) wakeup; //if (!wakeup) // stalled(thread); Modified: firebird/trunk/src/common/common.h =================================================================== --- firebird/trunk/src/common/common.h 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/common/common.h 2013-11-21 01:17:08 UTC (rev 58815) @@ -890,7 +890,7 @@ #define FB_FINAL #endif -#define FB_UNUSED(value) do { if(value); } while (false) +#define FB_UNUSED(value) do { if (value); } while (false) // 30 Dec 2002. Nickolay Samofatov // This needs to be checked for all supported platforms Modified: firebird/trunk/src/common/config/os/darwin/config_root.cpp =================================================================== --- firebird/trunk/src/common/config/os/darwin/config_root.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/common/config/os/darwin/config_root.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -82,7 +82,7 @@ _NSGetExecutablePath(file_buff, &bufsize); char canonic[PATH_MAX]; if (!realpath(file_buff, canonic)) - Firebird::system_call_failed::raise("realpath"); + Firebird::system_call_failed::raise("realpath"); string bin_dir = canonic; // get rid of the filename int index = bin_dir.rfind(PathUtils::dir_sep); @@ -93,7 +93,7 @@ return dir; } - + void ConfigRoot::osConfigRoot() { // Attempt to locate the Firebird.framework bundle @@ -110,7 +110,7 @@ } // As a last resort get it from the default install directory - root_dir = FB_PREFIX; + root_dir = FB_PREFIX; } @@ -130,5 +130,5 @@ } // As a last resort get it from the default install directory - install_dir = FB_PREFIX; + install_dir = FB_PREFIX; } Modified: firebird/trunk/src/iscguard/iscguard.cpp =================================================================== --- firebird/trunk/src/iscguard/iscguard.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/iscguard/iscguard.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -1151,7 +1151,7 @@ FORMAT_MESSAGE_FROM_STRING, tmp_buff, 0, 0, (LPTSTR) &lpMsgBuf, 0, reinterpret_cast<va_list*>(act_buff)); - + const int len = MIN(BUFF_SIZE-1, strlen(lpMsgBuf) - 1); strncpy(act_buff[0], lpMsgBuf, len); act_buff[0][len] = 0; Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/jrd/met.epp 2013-11-21 01:17:08 UTC (rev 58815) @@ -1011,7 +1011,7 @@ if (!(relation->rel_flags & REL_scanned)) { AutoCacheRequest request(tdbb, irq_l_curr_format, IRQ_REQUESTS); - + FOR(REQUEST_HANDLE request) REL IN RDB$RELATIONS WITH REL.RDB$RELATION_ID EQ relation->rel_id { @@ -1024,7 +1024,7 @@ // However, system tables have zero as their initial format and they don't have // any related records in RDB$FORMATS, instead their rel_formats[0] is initialized // directly (see ini.epp). Every other case of zero format number found for an already - // scanned table must be catched here and investigated. + // scanned table must be catched here and investigated. fb_assert(relation->rel_current_fmt || relation->isSystem()); relation->rel_current_format = MET_format(tdbb, relation, relation->rel_current_fmt); Modified: firebird/trunk/src/jrd/tra.cpp =================================================================== --- firebird/trunk/src/jrd/tra.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/jrd/tra.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -1881,7 +1881,7 @@ return number; // If this is the first transaction on a TIP, allocate the TIP now. - // Note, first TIP page is created with the database itself, + // Note, first TIP page is created with the database itself, // see JProvider::createDatabase. const bool new_tip = ((number % dbb->dbb_page_manager.transPerTIP) == 0); @@ -1933,7 +1933,7 @@ const TraNumber number = header->hdr_next_transaction + 1; // If this is the first transaction on a TIP, allocate the TIP now. - // Note, first TIP page is created with the database itself, + // Note, first TIP page is created with the database itself, // see JProvider::createDatabase. const bool new_tip = ((number % dbb->dbb_page_manager.transPerTIP) == 0); @@ -2527,7 +2527,7 @@ * * Functional description * Flush pages modified by user and\or system transaction. - * Note, flush of user transaction also flushed pages, + * Note, flush of user transaction also flushed pages, * changed by system transaction. * **************************************/ Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/remote/server/server.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -1747,7 +1747,7 @@ { AuthServerPlugins* const plugins = port->port_srv_auth_block->plugins; NoCaseString clientPluginName(port->port_srv_auth_block->getPluginName()); - // If there is plugin matching client's one it will be + // If there is plugin matching client's one it will be HANDSHAKE_DEBUG(fprintf(stderr, "Srv: accept_connection: client plugin='%s' server='%s'\n", clientPluginName.c_str(), plugins->name())); Modified: firebird/trunk/src/yvalve/PluginManager.cpp =================================================================== --- firebird/trunk/src/yvalve/PluginManager.cpp 2013-11-21 01:11:10 UTC (rev 58814) +++ firebird/trunk/src/yvalve/PluginManager.cpp 2013-11-21 01:17:08 UTC (rev 58815) @@ -543,7 +543,7 @@ ~FactoryParameter() { #ifdef DEBUG_PLUGINS - fprintf(stderr, "~FactoryParameter places configuredPlugin %s in unload query for %d seconds\n", + fprintf(stderr, "~FactoryParameter places configuredPlugin %s in unload query for %d seconds\n", configuredPlugin->getPlugName(), configuredPlugin->getReleaseDelay() / 1000000); #endif TimerInterfacePtr()->start(configuredPlugin, configuredPlugin->getReleaseDelay()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-22 01:08:36
|
Revision: 58817 http://sourceforge.net/p/firebird/code/58817 Author: firebirds Date: 2013-11-22 01:08:33 +0000 (Fri, 22 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-21 07:31:30 UTC (rev 58816) +++ firebird/trunk/ChangeLog 2013-11-22 01:08:33 UTC (rev 58817) @@ -1,3 +1,21 @@ + 2013-11-21 07:31 alexpeshkoff + M src/jrd/jrd.cpp +Enable linger only in multiuser server mode. This should also fix windows build. + + 2013-11-21 01:17 asfernandes + M doc/README.interfaces.html + M doc/README.services_extension + M src/auth/SecureRemotePassword/srp.cpp + M src/common/classes/SyncObject.cpp + M src/common/common.h + M src/common/config/os/darwin/config_root.cpp + M src/iscguard/iscguard.cpp + M src/jrd/met.epp + M src/jrd/tra.cpp + M src/remote/server/server.cpp + M src/yvalve/PluginManager.cpp +Misc. + 2013-11-20 12:12 alexpeshkoff M extern/editline/config.h.in M src/common/common.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-21 07:31:30 UTC (rev 58816) +++ firebird/trunk/src/jrd/build_no.h 2013-11-22 01:08:33 UTC (rev 58817) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30751 + FORMAL BUILD NUMBER:30753 */ -#define PRODUCT_VER_STRING "3.0.0.30751" -#define FILE_VER_STRING "WI-T3.0.0.30751" -#define LICENSE_VER_STRING "WI-T3.0.0.30751" -#define FILE_VER_NUMBER 3, 0, 0, 30751 +#define PRODUCT_VER_STRING "3.0.0.30753" +#define FILE_VER_STRING "WI-T3.0.0.30753" +#define LICENSE_VER_STRING "WI-T3.0.0.30753" +#define FILE_VER_NUMBER 3, 0, 0, 30753 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30751" +#define FB_BUILD_NO "30753" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-21 07:31:30 UTC (rev 58816) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-22 01:08:33 UTC (rev 58817) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30751 +BuildNum=30753 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-11-22 15:21:14
|
Revision: 58822 http://sourceforge.net/p/firebird/code/58822 Author: alexpeshkoff Date: 2013-11-22 15:21:11 +0000 (Fri, 22 Nov 2013) Log Message: ----------- Implemented CORE-4273: Per-database control on access to database from remote stations Modified Paths: -------------- firebird/trunk/builds/install/misc/databases.conf.in firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp firebird/trunk/src/burp/burp.cpp firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/config/config.h firebird/trunk/src/include/consts_pub.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/tra.cpp firebird/trunk/src/remote/server/server.cpp Modified: firebird/trunk/builds/install/misc/databases.conf.in =================================================================== --- firebird/trunk/builds/install/misc/databases.conf.in 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/builds/install/misc/databases.conf.in 2013-11-22 15:21:11 UTC (rev 58822) @@ -21,5 +21,14 @@ employee = $(dir_sampledb)/employee.fdb # +# Master security database specific setup. +# Do not remove it until you understand well what are you doing! +# +security.db = $(root)/security3.fdb +{ + RemoteAccess = false +} + +# # Live Databases: # Modified: firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -187,7 +187,6 @@ } Firebird::ClumpletWriter dpb(Firebird::ClumpletReader::dpbList, MAX_DPB_SIZE); - dpb.insertByte(isc_dpb_gsec_attach, TRUE); dpb.insertByte(isc_dpb_sec_attach, TRUE); const unsigned char* authBlock; Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2013-11-22 15:21:11 UTC (rev 58822) @@ -147,7 +147,6 @@ } Firebird::ClumpletWriter dpb(Firebird::ClumpletReader::dpbList, MAX_DPB_SIZE); - dpb.insertByte(isc_dpb_gsec_attach, TRUE); dpb.insertByte(isc_dpb_sec_attach, TRUE); const unsigned char* authBlock; Modified: firebird/trunk/src/burp/burp.cpp =================================================================== --- firebird/trunk/src/burp/burp.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/burp/burp.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -943,7 +943,6 @@ Firebird::ClumpletWriter dpb(Firebird::ClumpletReader::Tagged, MAX_DPB_SIZE, isc_dpb_version1); dpb.insertString(isc_dpb_gbak_attach, FB_VERSION, strlen(FB_VERSION)); - dpb.insertByte(isc_dpb_gsec_attach, 1); // make it possible to have local security backups uSvc->fillDpb(dpb); const UCHAR* authBlock; Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/common/config/config.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -179,7 +179,8 @@ {TYPE_BOOLEAN, "SharedDatabase", (ConfigValue) false}, {TYPE_STRING, "WireCrypt", (ConfigValue) NULL}, {TYPE_STRING, "WireCryptPlugin", (ConfigValue) "Arc4"}, - {TYPE_STRING, "KeyHolderPlugin", (ConfigValue) ""} + {TYPE_STRING, "KeyHolderPlugin", (ConfigValue) ""}, + {TYPE_BOOLEAN, "RemoteAccess", (ConfigValue) true} }; /****************************************************************************** @@ -720,3 +721,8 @@ else // the safest choice return WIRE_CRYPT_REQUIRED; } + +bool Config::getRemoteAccess() const +{ + return get<bool>(KEY_REMOTE_ACCESS); +} Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/common/config/config.h 2013-11-22 15:21:11 UTC (rev 58822) @@ -69,12 +69,6 @@ extern const char* GCPolicyBackground; extern const char* GCPolicyCombined; -extern const char* AmNative; -extern const char* AmTrusted; -extern const char* AmMixed; - -enum AmCache {AM_UNKNOWN, AM_DISABLED, AM_ENABLED}; - const int WIRE_CRYPT_DISABLED = 0; const int WIRE_CRYPT_ENABLED = 1; const int WIRE_CRYPT_REQUIRED = 2; @@ -140,6 +134,7 @@ KEY_WIRE_CRYPT, KEY_PLUG_WIRE_CRYPT, KEY_PLUG_KEY_HOLDER, + KEY_REMOTE_ACCESS, MAX_CONFIG_KEY // keep it last }; @@ -332,6 +327,8 @@ const char* getSecurityDatabase() const; int getWireCrypt(WireCryptMode wcMode) const; + + bool getRemoteAccess() const; }; // Implementation of interface to access master configuration file Modified: firebird/trunk/src/include/consts_pub.h =================================================================== --- firebird/trunk/src/include/consts_pub.h 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/include/consts_pub.h 2013-11-22 15:21:11 UTC (rev 58822) @@ -101,7 +101,7 @@ #define isc_dpb_gfix_attach 66 #define isc_dpb_gstat_attach 67 #define isc_dpb_set_db_charset 68 -#define isc_dpb_gsec_attach 69 +/* #define isc_dpb_gsec_attach 69 */ #define isc_dpb_address_path 70 #define isc_dpb_process_id 71 #define isc_dpb_no_db_triggers 72 Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/jrd/jrd.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -821,7 +821,6 @@ bool dpb_overwrite; bool dpb_sec_attach; bool dpb_disable_wal; - bool dpb_gsec_attach; SLONG dpb_connect_timeout; SLONG dpb_dummy_packet_interval; bool dpb_db_readonly; @@ -942,7 +941,7 @@ static void handle_error(Firebird::IStatus*, ISC_STATUS); namespace { - enum VdnResult {VDN_FAIL, VDN_OK, VDN_SECURITY}; + enum VdnResult {VDN_FAIL, VDN_OK/*, VDN_SECURITY*/}; } static VdnResult verifyDatabaseName(const PathName&, ISC_STATUS*, bool); @@ -1315,13 +1314,11 @@ // Initialize special error handling try { - // If database to be opened is security database, then only - // gsec or SecurityDatabase may open it. This protects from use - // of old gsec to write wrong password hashes into it. - if (vdn == VDN_SECURITY && !options.dpb_gsec_attach && !options.dpb_sec_attach) + // Check for ability to access requested DB remotely + if (options.dpb_remote_address.hasData() && !config->getRemoteAccess()) { - ERR_post(Arg::Gds(isc_no_priv) << Arg::Str("direct") << - Arg::Str("security database") << + ERR_post(Arg::Gds(isc_no_priv) << Arg::Str("remote") << + Arg::Str("database") << Arg::Str(org_filename)); } @@ -2417,13 +2414,11 @@ // Initialize special error handling try { - // If database to be opened is security database, then only - // gsec or SecurityDatabase can open it. This protects from use - // of old gsec to write wrong password hashes into it. - if (vdn == VDN_SECURITY && !options.dpb_gsec_attach && !options.dpb_sec_attach) + // Check for ability to access requested DB remotely + if (options.dpb_remote_address.hasData() && !config->getRemoteAccess()) { - ERR_post(Arg::Gds(isc_no_priv) << Arg::Str("direct") << - Arg::Str("security database") << + ERR_post(Arg::Gds(isc_no_priv) << Arg::Str("remote") << + Arg::Str("database") << Arg::Str(org_filename)); } @@ -5703,10 +5698,6 @@ dpb_gfix_attach = true; break; - case isc_dpb_gsec_attach: - dpb_gsec_attach = rdr.getBoolean(); - break; - case isc_dpb_disable_wal: dpb_disable_wal = true; break; @@ -6957,7 +6948,7 @@ **/ static VdnResult verifyDatabaseName(const PathName& name, ISC_STATUS* status, bool is_alias) { - // Check for security2.fdb + // Check for securityX.fdb static GlobalPtr<PathName> securityNameBuffer, expandedSecurityNameBuffer; static GlobalPtr<Mutex> mutex; @@ -6972,10 +6963,11 @@ } if (name == securityNameBuffer || name == expandedSecurityNameBuffer) - return VDN_SECURITY; + return VDN_OK; // Check for .conf - if (!JRD_verify_database_access(name)) { + if (!JRD_verify_database_access(name)) + { if (!is_alias) { ERR_build_status(status, Arg::Gds(isc_conf_access_denied) << Arg::Str("database") << Arg::Str(name)); Modified: firebird/trunk/src/jrd/tra.cpp =================================================================== --- firebird/trunk/src/jrd/tra.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/jrd/tra.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -2494,8 +2494,6 @@ Firebird::ClumpletWriter dpb(Firebird::ClumpletReader::Tagged, MAX_DPB_SIZE, isc_dpb_version1); dpb.insertByte(isc_dpb_sweep, isc_dpb_records); - // sometimes security database is also to be swept - dpb.insertByte(isc_dpb_gsec_attach, 1); // use trusted authentication to attach database const char* szAuthenticator = "sweeper"; dpb.insertString(isc_dpb_trusted_auth, szAuthenticator, strlen(szAuthenticator)); Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2013-11-22 08:10:50 UTC (rev 58821) +++ firebird/trunk/src/remote/server/server.cpp 2013-11-22 15:21:11 UTC (rev 58822) @@ -2112,10 +2112,6 @@ { switch (pb->getClumpTag()) { - // Disable remote gsec attachments - case isc_dpb_gsec_attach: - case isc_dpb_sec_attach: - // remove trusted auth & trusted role if present (security measure) case isc_dpb_trusted_role: case isc_dpb_trusted_auth: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-11-23 00:49:43
|
Revision: 58824 http://sourceforge.net/p/firebird/code/58824 Author: firebirds Date: 2013-11-23 00:49:40 +0000 (Sat, 23 Nov 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-11-22 15:23:48 UTC (rev 58823) +++ firebird/trunk/ChangeLog 2013-11-23 00:49:40 UTC (rev 58824) @@ -1,3 +1,39 @@ + 2013-11-22 15:23 alexpeshkoff + M src/include/consts_pub.h +Postfix for CORE-4273: No need breaking old apps using isc_dpb_gsec_attach + + 2013-11-22 15:21 alexpeshkoff + M builds/install/misc/databases.conf.in + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/burp/burp.cpp + M src/common/config/config.cpp + M src/common/config/config.h + M src/include/consts_pub.h + M src/jrd/jrd.cpp + M src/jrd/tra.cpp + M src/remote/server/server.cpp +Implemented CORE-4273: Per-database control on access to database from remote stations + + 2013-11-22 08:10 alexpeshkoff + M builds/install/misc/firebird.conf.in +Fixed CORE-4154: Firebird.conf should list names of (standard) authentication + usermanager plugins + + 2013-11-22 07:44 alexpeshkoff + M src/common/MsgMetadata.h + M src/include/firebird/Provider.h + M src/remote/client/BlrFromMessage.cpp +Scale of variable is signed value + + 2013-11-22 06:42 alexpeshkoff + M src/common/StatementMetadata.cpp + M src/yvalve/why.cpp +Fixed CORE-4178: New API should return proper metadata properties, not the historical artifacts + + 2013-11-22 06:39 alexpeshkoff + M src/remote/client/BlrFromMessage.cpp +misc + 2013-11-21 07:31 alexpeshkoff M src/jrd/jrd.cpp Enable linger only in multiuser server mode. This should also fix windows build. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-11-22 15:23:48 UTC (rev 58823) +++ firebird/trunk/src/jrd/build_no.h 2013-11-23 00:49:40 UTC (rev 58824) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30753 + FORMAL BUILD NUMBER:30759 */ -#define PRODUCT_VER_STRING "3.0.0.30753" -#define FILE_VER_STRING "WI-T3.0.0.30753" -#define LICENSE_VER_STRING "WI-T3.0.0.30753" -#define FILE_VER_NUMBER 3, 0, 0, 30753 +#define PRODUCT_VER_STRING "3.0.0.30759" +#define FILE_VER_STRING "WI-T3.0.0.30759" +#define LICENSE_VER_STRING "WI-T3.0.0.30759" +#define FILE_VER_NUMBER 3, 0, 0, 30759 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30753" +#define FB_BUILD_NO "30759" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-11-22 15:23:48 UTC (rev 58823) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-11-23 00:49:40 UTC (rev 58824) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30753 +BuildNum=30759 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |