From: <fir...@us...> - 2014-11-07 08:04:06
|
Revision: 60173 http://sourceforge.net/p/firebird/code/60173 Author: firebirds Date: 2014-11-07 08:03:56 +0000 (Fri, 07 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-05 00:35:57 UTC (rev 60172) +++ firebird/trunk/ChangeLog 2014-11-07 08:03:56 UTC (rev 60173) @@ -1,3 +1,7 @@ + 2014-11-05 00:35 asfernandes + M src/dsql/ExprNodes.cpp +Improvement CORE-4590 - Change type of returning value of CHAR_LENGTH, BIT_LENGTH and OCTET_LENGTH of BLOBs to bigint. + 2014-11-03 09:17 mapopa M src/utilities/guard/guard.cpp M src/utilities/guard/util.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-05 00:35:57 UTC (rev 60172) +++ firebird/trunk/src/jrd/build_no.h 2014-11-07 08:03:56 UTC (rev 60173) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31394 + FORMAL BUILD NUMBER:31395 */ -#define PRODUCT_VER_STRING "3.0.0.31394" -#define FILE_VER_STRING "WI-T3.0.0.31394" -#define LICENSE_VER_STRING "WI-T3.0.0.31394" -#define FILE_VER_NUMBER 3, 0, 0, 31394 +#define PRODUCT_VER_STRING "3.0.0.31395" +#define FILE_VER_STRING "WI-T3.0.0.31395" +#define LICENSE_VER_STRING "WI-T3.0.0.31395" +#define FILE_VER_NUMBER 3, 0, 0, 31395 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31394" +#define FB_BUILD_NO "31395" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-05 00:35:57 UTC (rev 60172) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-07 08:03:56 UTC (rev 60173) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31394 +BuildNum=31395 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-08 08:46:45
|
Revision: 60176 http://sourceforge.net/p/firebird/code/60176 Author: firebirds Date: 2014-11-08 08:46:36 +0000 (Sat, 08 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-07 15:30:24 UTC (rev 60175) +++ firebird/trunk/ChangeLog 2014-11-08 08:46:36 UTC (rev 60176) @@ -1,3 +1,11 @@ + 2014-11-07 15:30 mapopa + M src/remote/inet.cpp +Apollo computers are long gone + + 2014-11-07 15:22 mapopa + M src/remote/inet.cpp +Fix comment non-VMS to non-Windows + 2014-11-05 00:35 asfernandes M src/dsql/ExprNodes.cpp Improvement CORE-4590 - Change type of returning value of CHAR_LENGTH, BIT_LENGTH and OCTET_LENGTH of BLOBs to bigint. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-07 15:30:24 UTC (rev 60175) +++ firebird/trunk/src/jrd/build_no.h 2014-11-08 08:46:36 UTC (rev 60176) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31395 + FORMAL BUILD NUMBER:31397 */ -#define PRODUCT_VER_STRING "3.0.0.31395" -#define FILE_VER_STRING "WI-T3.0.0.31395" -#define LICENSE_VER_STRING "WI-T3.0.0.31395" -#define FILE_VER_NUMBER 3, 0, 0, 31395 +#define PRODUCT_VER_STRING "3.0.0.31397" +#define FILE_VER_STRING "WI-T3.0.0.31397" +#define LICENSE_VER_STRING "WI-T3.0.0.31397" +#define FILE_VER_NUMBER 3, 0, 0, 31397 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31395" +#define FB_BUILD_NO "31397" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-07 15:30:24 UTC (rev 60175) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-08 08:46:36 UTC (rev 60176) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31395 +BuildNum=31397 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-10 08:36:31
|
Revision: 60184 http://sourceforge.net/p/firebird/code/60184 Author: firebirds Date: 2014-11-10 08:36:28 +0000 (Mon, 10 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-09 16:40:52 UTC (rev 60183) +++ firebird/trunk/ChangeLog 2014-11-10 08:36:28 UTC (rev 60184) @@ -1,3 +1,11 @@ + 2014-11-09 16:40 dimitr + M src/jrd/vio.cpp +Relaxed system tables protection for cases UPDATE ... SET RDB$*_SOURCE = NULL. So far nullification is allowed for views/packages/procedures/functions/triggers only. I'm not sure somebody really needs hiding sources for defaults and check constraints, but this can be supported later, if required. This is a temporary solution, intended to be replaced with something more clever (e.g. special permissions or new DDL command) in v4. + + 2014-11-09 01:58 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-4599 - REPLACE function works incorrectly with multibyte charsets. + 2014-11-07 15:30 mapopa M src/remote/inet.cpp Apollo computers are long gone Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-09 16:40:52 UTC (rev 60183) +++ firebird/trunk/src/jrd/build_no.h 2014-11-10 08:36:28 UTC (rev 60184) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31397 + FORMAL BUILD NUMBER:31399 */ -#define PRODUCT_VER_STRING "3.0.0.31397" -#define FILE_VER_STRING "WI-T3.0.0.31397" -#define LICENSE_VER_STRING "WI-T3.0.0.31397" -#define FILE_VER_NUMBER 3, 0, 0, 31397 +#define PRODUCT_VER_STRING "3.0.0.31399" +#define FILE_VER_STRING "WI-T3.0.0.31399" +#define LICENSE_VER_STRING "WI-T3.0.0.31399" +#define FILE_VER_NUMBER 3, 0, 0, 31399 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31397" +#define FB_BUILD_NO "31399" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-09 16:40:52 UTC (rev 60183) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-10 08:36:28 UTC (rev 60184) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31397 +BuildNum=31399 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2014-11-10 14:45:54
|
Revision: 60186 http://sourceforge.net/p/firebird/code/60186 Author: asfernandes Date: 2014-11-10 14:45:40 +0000 (Mon, 10 Nov 2014) Log Message: ----------- Get rid of upgradeInterface API method and some adjustments. To be continued. Modified Paths: -------------- firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp firebird/trunk/examples/dbcrypt/DbCrypt.cpp firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/common/classes/GetPlugins.h firebird/trunk/src/common/classes/ImplementHelper.cpp firebird/trunk/src/common/fb_exception.cpp firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp firebird/trunk/src/include/firebird/FirebirdInterface.idl firebird/trunk/src/include/firebird/IdlFbInterfaces.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/include/ibase.h firebird/trunk/src/jrd/CryptoManager.cpp firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp firebird/trunk/src/yvalve/MasterImplementation.cpp firebird/trunk/src/yvalve/MasterImplementation.h firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/PluginManager.h Modified: firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -24,6 +24,7 @@ * Contributor(s): ______________________________________. */ +#include "firebird.h" //// FIXME: #include <stdio.h> #include <string.h> #include <stdint.h> Modified: firebird/trunk/examples/dbcrypt/DbCrypt.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -24,6 +24,7 @@ * Contributor(s): ______________________________________. */ +#include "firebird.h" //// FIXME: #include <stdint.h> #include "ibase.h" Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -21,6 +21,7 @@ */ #include "ibase.h" +#include "firebird.h" //// FIXME: #include "firebird/UdrCppEngine.h" #include <assert.h> #include <stdio.h> Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-11-10 14:45:40 UTC (rev 60186) @@ -1610,6 +1610,8 @@ PARAMETER (GDS__crdb_nodb = 335545098) INTEGER*4 GDS__crdb_notable PARAMETER (GDS__crdb_notable = 335545099) + INTEGER*4 GDS__interface_version_too_old + PARAMETER (GDS__interface_version_too_old = 335545100) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/lang_helpers/gds_codes.pas 2014-11-10 14:45:40 UTC (rev 60186) @@ -812,6 +812,7 @@ gds_crdb_load = 335545097; gds_crdb_nodb = 335545098; gds_crdb_notable = 335545099; + gds_interface_version_too_old = 335545100; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/common/classes/GetPlugins.h =================================================================== --- firebird/trunk/src/common/classes/GetPlugins.h 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/common/classes/GetPlugins.h 2014-11-10 14:45:40 UTC (rev 60186) @@ -47,7 +47,7 @@ LocalStatus status; pluginSet.assignRefNoIncr(pluginInterface->getPlugins(&status, interfaceType, (namesList ? namesList : Config::getDefaultConfig()->getPlugins(interfaceType)), - P::VERSION, getUnloadDetector(), NULL)); + NULL)); check(&status); getPlugin(); @@ -61,7 +61,7 @@ LocalStatus status; pluginSet.assignRefNoIncr(pluginInterface->getPlugins(&status, interfaceType, (namesList ? namesList : knownConfig->getPlugins(interfaceType)), - P::VERSION, getUnloadDetector(), new FirebirdConf(knownConfig))); + new FirebirdConf(knownConfig))); check(&status); getPlugin(); Modified: firebird/trunk/src/common/classes/ImplementHelper.cpp =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/common/classes/ImplementHelper.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -72,22 +72,6 @@ } -void upgradeInterface(FirebirdApi<FirebirdPolicy>::Versioned* toUpgrade, int desiredVersion, void* function) -{ - MasterInterfacePtr()->upgradeInterface(toUpgrade, desiredVersion, getPluginModule(), function); -} - -void logOldPlugin() -{ - gds__log("Old version of trace plugin is used - new types of events are ignored"); -} - -ISC_STATUS* getUpgradeError() -{ - static ISC_STATUS failure[2] = {isc_arg_gds, isc_wish_list}; - return failure; -} - #ifdef NOT_USED_OR_REPLACED class IDebug { Modified: firebird/trunk/src/common/fb_exception.cpp =================================================================== --- firebird/trunk/src/common/fb_exception.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/common/fb_exception.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -293,9 +293,4 @@ throw fatal_exception(buffer); } -void raiseVersionError() -{ - fatal_exception::raise("Interface version too old"); -} - } // namespace Firebird Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp =================================================================== --- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2014-11-10 14:45:40 UTC (rev 60186) @@ -711,13 +711,6 @@ return NULL; } - int upgradeInterface(IVersioned* /*toUpgrade*/, int /*desiredVersion*/, - IPluginModule* /*destMod*/, void* /*function*/) - { - fb_assert(false); - return 0; - } - const char* circularAlloc(const char* s, unsigned len, intptr_t /*thr*/) { char* buf = (char*) malloc(len + 1); Modified: firebird/trunk/src/include/firebird/FirebirdInterface.idl =================================================================== --- firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-11-10 14:45:40 UTC (rev 60186) @@ -57,7 +57,7 @@ const uint FB_HAS_WARNINGS = 0x01; const uint FB_HAS_ERRORS = 0x02; - // completion codes - not used in IStatus, but I must have them somewhere + // completion codes - not used in Status, but I must have them somewhere const int FB_ERROR = -1; const int FB_OK = 0; const int FB_EOF = 1; @@ -81,8 +81,6 @@ Status getStatus(); Provider getDispatcher(); PluginManager getPluginManager(); - int upgradeInterface(Versioned toUpgrade, int desiredVersion, - PluginModule destModule, void* function); const string circularAlloc(const string s, uint len, intptr thr); TimerControl getTimerControl(); Dtc getDtc(); @@ -90,7 +88,7 @@ Transaction registerTransaction(Attachment attachment, Transaction transaction); // This function is required to compare interfaces based on vtables of them - int same(Versioned first, Versioned second); + int same(Versioned first, Versioned second); //// FIXME: Should we really publish this API? MetadataBuilder getMetadataBuilder(Status status, uint fieldCount); //// FIXME: Debug getDebug(); @@ -248,13 +246,11 @@ // Main function called to access plugins registered in plugins manager // Has front-end in GetPlugins.h - template GetPlugins // In namesList parameter comma or space separated list of names of configured plugins is passed - // PluginModule is a module from which interface is upgraded // in case when plugin's version is less than desired // If caller already has an interface for firebird.conf, it may be passed here // If parameter is missing, plugins will get access to default (non database specific) config PluginSet getPlugins(Status status, uint pluginType, - const string namesList, int desiredVersion, - PluginModule destModule, FirebirdConf firebirdConf); + const string namesList, FirebirdConf firebirdConf); // Get generic config interface for given file Config getConfig(Status status, const string filename); // Plugins must be released using this function - use of plugin's release() @@ -281,7 +277,7 @@ // Generic access to all config interfaces interface ConfigManager : Versioned { - // Codes for IConfigManager::getDirectory() + // Codes for ConfigManager::getDirectory() const uint FB_DIR_BIN = 0; const uint FB_DIR_SBIN = 1; const uint FB_DIR_CONF = 2; @@ -323,8 +319,10 @@ void getInfo(Status status, uint itemsLength, const uchar* items, uint bufferLength, uchar* buffer); - int getSegment(Status status, uint bufferLength, - void* buffer, uint* segmentLength); + + [notImplemented(Status::FB_ERROR)] + int getSegment(Status status, uint bufferLength, void* buffer, uint* segmentLength); + void putSegment(Status status, uint length, const void* buffer); void cancel(Status status); @@ -387,12 +385,12 @@ interface ResultSet : ReferenceCounted { - int fetchNext(Status status, void* message); - int fetchPrior(Status status, void* message); - int fetchFirst(Status status, void* message); - int fetchLast(Status status, void* message); - int fetchAbsolute(Status status, uint position, void* message); - int fetchRelative(Status status, int offset, void* message); + [notImplemented(Status::FB_ERROR)] int fetchNext(Status status, void* message); + [notImplemented(Status::FB_ERROR)] int fetchPrior(Status status, void* message); + [notImplemented(Status::FB_ERROR)] int fetchFirst(Status status, void* message); + [notImplemented(Status::FB_ERROR)] int fetchLast(Status status, void* message); + [notImplemented(Status::FB_ERROR)] int fetchAbsolute(Status status, uint position, void* message); + [notImplemented(Status::FB_ERROR)] int fetchRelative(Status status, int offset, void* message); boolean isEof(Status status); boolean isBof(Status status); MessageMetadata getMetadata(Status status); @@ -591,12 +589,14 @@ // server part of authentication plugin interface Server : Auth { + [notImplemented(Auth::AUTH_FAILED)] int authenticate(Status status, ServerBlock sBlock, Writer writerInterface); } // .. and corresponding client interface Client : Auth { + [notImplemented(Auth::AUTH_FAILED)] int authenticate(Status status, ClientBlock cBlock); } @@ -715,7 +715,7 @@ // It's supposed that crypt plugin will invoke keyHandle() function from them // to access callback interface for getting actual crypt key. // If crypt plugin fails to find appropriate key in sources, it should raise error. - void setKey(Status status, uint length, KeyHolderPlugin* sources); // Adriano - this is really ptr to ptr, a set of plugins is passed + void setKey(Status status, uint length, KeyHolderPlugin* sources); void encrypt(Status status, uint length, const void* from, void* to); void decrypt(Status status, uint length, const void* from, void* to); } @@ -1080,63 +1080,103 @@ // Events supported: // Create/close attachment + + [notImplemented(true)] boolean trace_attach(TraceDatabaseConnection connection, boolean create_db, uint att_result); + + [notImplemented(true)] boolean trace_detach(TraceDatabaseConnection connection, boolean drop_db); // Start/end transaction + + [notImplemented(true)] boolean trace_transaction_start(TraceDatabaseConnection connection, TraceTransaction transaction, uint tpb_length, const uchar* tpb, uint tra_result); + + [notImplemented(true)] boolean trace_transaction_end(TraceDatabaseConnection connection, TraceTransaction transaction, boolean commit, boolean retain_context, uint tra_result); // Stored procedures and triggers execution + + [notImplemented(true)] boolean trace_proc_execute (TraceDatabaseConnection connection, TraceTransaction transaction, TraceProcedure procedure, boolean started, uint proc_result); + + [notImplemented(true)] boolean trace_trigger_execute(TraceDatabaseConnection connection, TraceTransaction transaction, TraceTrigger trigger, boolean started, uint trig_result); // Assignment to context variables + + [notImplemented(true)] boolean trace_set_context(TraceDatabaseConnection connection, TraceTransaction transaction, TraceContextVariable variable); // DSQL statement lifecycle + + [notImplemented(true)] boolean trace_dsql_prepare(TraceDatabaseConnection connection, TraceTransaction transaction, TraceSQLStatement statement, int64 time_millis, uint req_result); + + [notImplemented(true)] boolean trace_dsql_free(TraceDatabaseConnection connection, TraceSQLStatement statement, uint option); + + [notImplemented(true)] boolean trace_dsql_execute(TraceDatabaseConnection connection, TraceTransaction transaction, TraceSQLStatement statement, boolean started, uint req_result); // BLR requests + + [notImplemented(true)] boolean trace_blr_compile(TraceDatabaseConnection connection, TraceTransaction transaction, TraceBLRStatement statement, int64 time_millis, uint req_result); + + [notImplemented(true)] boolean trace_blr_execute(TraceDatabaseConnection connection, TraceTransaction transaction, TraceBLRStatement statement, uint req_result); // DYN requests + + [notImplemented(true)] boolean trace_dyn_execute(TraceDatabaseConnection connection, TraceTransaction transaction, TraceDYNRequest request, int64 time_millis, uint req_result); // Using the services + + [notImplemented(true)] boolean trace_service_attach(TraceServiceConnection service, uint att_result); + + [notImplemented(true)] boolean trace_service_start(TraceServiceConnection service, uint switches_length, const string switches, uint start_result); + + [notImplemented(true)] boolean trace_service_query(TraceServiceConnection service, uint send_item_length, const uchar* send_items, uint recv_item_length, const uchar* recv_items, uint query_result); + + [notImplemented(true)] boolean trace_service_detach(TraceServiceConnection service, uint detach_result); // Errors happened + + [notImplemented(true)] boolean trace_event_error(TraceConnection connection, TraceStatusVector status, const string function); // Sweep activity + const uint SWEEP_STATE_STARTED = 1; const uint SWEEP_STATE_FINISHED = 2; const uint SWEEP_STATE_FAILED = 3; const uint SWEEP_STATE_PROGRESS = 4; + [notImplemented(true)] boolean trace_event_sweep(TraceDatabaseConnection connection, TraceSweepInfo sweep, uint sweep_state); // Stored functions execution + + [notImplemented(true)] boolean trace_func_execute (TraceDatabaseConnection connection, TraceTransaction transaction, TraceFunction function, boolean started, uint func_result); } Modified: firebird/trunk/src/include/firebird/IdlFbInterfaces.h =================================================================== --- firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-11-10 09:32:08 UTC (rev 60185) +++ firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-11-10 14:45:40 UTC (rev 60186) @@ -130,12 +130,11 @@ } public: - static const unsigned int VERSION = 1; + static const unsigned VERSION = 1; PluginModule* getModule() { - Policy::template checkVersion<1>(this); - PluginModule* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getModule(this)); + PluginModule* ret = static_cast<VTable*>(this->cloopVTable)->getModule(this); return ret; } }; @@ -160,17 +159,15 @@ } public: - static const unsigned int VERSION = 3; + static const unsigned VERSION = 2; void addRef() { - Policy::template checkVersion<2>(this); static_cast<VTable*>(this->cloopVTable)->addRef(this); } int release() { - Policy::template checkVersion<3>(this); int ret = static_cast<VTable*>(this->cloopVTable)->release(this); return ret; } @@ -195,11 +192,10 @@ } public: - static const unsigned int VERSION = 2; + static const unsigned VERSION = 2; void dispose() { - Policy::template checkVersion<2>(this); static_cast<VTable*>(this->cloopVTable)->dispose(this); } }; @@ -230,7 +226,7 @@ } public: - static const unsigned int VERSION = 10; + static const unsigned VERSION = 3; static const unsigned FB_HAS_WARNINGS = 1; static const unsigned FB_HAS_ERRORS = 2; @@ -241,51 +237,43 @@ void init() { - Policy::template checkVersion<2>(this); static_cast<VTable*>(this->cloopVTable)->init(this); } unsigned getStatus() const { - Policy::template checkVersion<3>(this); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getStatus(this); return ret; } void setErrors2(unsigned length, const intptr_t* value) { - Policy::template checkVersion<4>(this); static_cast<VTable*>(this->cloopVTable)->setErrors2(this, length, value); } void setWarnings2(unsigned length, const intptr_t* value) { - Policy::template checkVersion<5>(this); static_cast<VTable*>(this->cloopVTable)->setWarnings2(this, length, value); } void setErrors(const intptr_t* value) { - Policy::template checkVersion<6>(this); static_cast<VTable*>(this->cloopVTable)->setErrors(this, value); } void setWarnings(const intptr_t* value) { - Policy::template checkVersion<7>(this); static_cast<VTable*>(this->cloopVTable)->setWarnings(this, value); } const intptr_t* getErrors() const { - Policy::template checkVersion<8>(this); const intptr_t* ret = static_cast<VTable*>(this->cloopVTable)->getErrors(this); return ret; } const intptr_t* getWarnings() const { - Policy::template checkVersion<9>(this); const intptr_t* ret = static_cast<VTable*>(this->cloopVTable)->getWarnings(this); return ret; } @@ -299,7 +287,6 @@ Status* (CLOOP_CARG *getStatus)(Master* self) throw(); Provider* (CLOOP_CARG *getDispatcher)(Master* self) throw(); PluginManager* (CLOOP_CARG *getPluginManager)(Master* self) throw(); - int (CLOOP_CARG *upgradeInterface)(Master* self, Versioned* toUpgrade, int desiredVersion, PluginModule* destModule, void* function) throw(); const char* (CLOOP_CARG *circularAlloc)(Master* self, const char* s, unsigned len, intptr_t thr) throw(); TimerControl* (CLOOP_CARG *getTimerControl)(Master* self) throw(); Dtc* (CLOOP_CARG *getDtc)(Master* self) throw(); @@ -323,105 +310,85 @@ } public: - static const unsigned int VERSION = 15; + static const unsigned VERSION = 2; Status* getStatus() { - Policy::template checkVersion<2>(this); - Status* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getStatus(this)); + Status* ret = static_cast<VTable*>(this->cloopVTable)->getStatus(this); return ret; } Provider* getDispatcher() { - Policy::template checkVersion<3>(this); - Provider* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getDispatcher(this)); + Provider* ret = static_cast<VTable*>(this->cloopVTable)->getDispatcher(this); return ret; } PluginManager* getPluginManager() { - Policy::template checkVersion<4>(this); - PluginManager* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getPluginManager(this)); + PluginManager* ret = static_cast<VTable*>(this->cloopVTable)->getPluginManager(this); return ret; } - int upgradeInterface(Versioned* toUpgrade, int desiredVersion, PluginModule* destModule, void* function) - { - Policy::template checkVersion<5>(this); - int ret = static_cast<VTable*>(this->cloopVTable)->upgradeInterface(this, toUpgrade, desiredVersion, destModule, function); - return ret; - } - const char* circularAlloc(const char* s, unsigned len, intptr_t thr) { - Policy::template checkVersion<6>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->circularAlloc(this, s, len, thr); return ret; } TimerControl* getTimerControl() { - Policy::template checkVersion<7>(this); - TimerControl* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getTimerControl(this)); + TimerControl* ret = static_cast<VTable*>(this->cloopVTable)->getTimerControl(this); return ret; } Dtc* getDtc() { - Policy::template checkVersion<8>(this); - Dtc* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getDtc(this)); + Dtc* ret = static_cast<VTable*>(this->cloopVTable)->getDtc(this); return ret; } Attachment* registerAttachment(Provider* provider, Attachment* attachment) { - Policy::template checkVersion<9>(this); - Attachment* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->registerAttachment(this, provider, attachment)); + Attachment* ret = static_cast<VTable*>(this->cloopVTable)->registerAttachment(this, provider, attachment); return ret; } Transaction* registerTransaction(Attachment* attachment, Transaction* transaction) { - Policy::template checkVersion<10>(this); - Transaction* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->registerTransaction(this, attachment, transaction)); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->registerTransaction(this, attachment, transaction); return ret; } int same(Versioned* first, Versioned* second) { - Policy::template checkVersion<11>(this); int ret = static_cast<VTable*>(this->cloopVTable)->same(this, first, second); return ret; } MetadataBuilder* getMetadataBuilder(Status* status, unsigned fieldCount) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); - MetadataBuilder* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getMetadataBuilder(this, status2, fieldCount)); + MetadataBuilder* ret = static_cast<VTable*>(this->cloopVTable)->getMetadataBuilder(this, status2, fieldCount); Policy::checkException(status2); return ret; } int serverMode(int mode) { - Policy::template checkVersion<13>(this); int ret = static_cast<VTable*>(this->cloopVTable)->serverMode(this, mode); return ret; } Utl* getUtlInterface() { - Policy::template checkVersion<14>(this); - Utl* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getUtlInterface(this)); + Utl* ret = static_cast<VTable*>(this->cloopVTable)->getUtlInterface(this); return ret; } ConfigManager* getConfigManager() { - Policy::template checkVersion<15>(this); - ConfigManager* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getConfigManager(this)); + ConfigManager* ret = static_cast<VTable*>(this->cloopVTable)->getConfigManager(this); return ret; } }; @@ -446,18 +413,16 @@ } public: - static const unsigned int VERSION = 5; + static const unsigned VERSION = 3; void setOwner(ReferenceCounted* r) { - Policy::template checkVersion<3>(this); static_cast<VTable*>(this->cloopVTable)->setOwner(this, r); } ReferenceCounted* getOwner() { - Policy::template checkVersion<4>(this); - ReferenceCounted* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getOwner(this)); + ReferenceCounted* ret = static_cast<VTable*>(this->cloopVTable)->getOwner(this); return ret; } }; @@ -485,34 +450,30 @@ } public: - static const unsigned int VERSION = 8; + static const unsigned VERSION = 3; const char* getName() const { - Policy::template checkVersion<3>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getName(this); return ret; } const char* getModuleName() const { - Policy::template checkVersion<4>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getModuleName(this); return ret; } PluginBase* getPlugin(Status* status) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); - PluginBase* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getPlugin(this, status2)); + PluginBase* ret = static_cast<VTable*>(this->cloopVTable)->getPlugin(this, status2); Policy::checkException(status2); return ret; } void next(Status* status) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->next(this, status2); Policy::checkException(status2); @@ -520,7 +481,6 @@ void set(Status* status, const char* s) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->set(this, status2, s); Policy::checkException(status2); @@ -550,41 +510,36 @@ } public: - static const unsigned int VERSION = 8; + static const unsigned VERSION = 3; const char* getName() { - Policy::template checkVersion<3>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getName(this); return ret; } const char* getValue() { - Policy::template checkVersion<4>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getValue(this); return ret; } ISC_INT64 getIntValue() { - Policy::template checkVersion<5>(this); ISC_INT64 ret = static_cast<VTable*>(this->cloopVTable)->getIntValue(this); return ret; } FB_BOOLEAN getBoolValue() { - Policy::template checkVersion<6>(this); FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->getBoolValue(this); return ret; } Config* getSubConfig(Status* status) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); - Config* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getSubConfig(this, status2)); + Config* ret = static_cast<VTable*>(this->cloopVTable)->getSubConfig(this, status2); Policy::checkException(status2); return ret; } @@ -611,31 +566,28 @@ } public: - static const unsigned int VERSION = 6; + static const unsigned VERSION = 3; ConfigEntry* find(Status* status, const char* name) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); - ConfigEntry* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->find(this, status2, name)); + ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->find(this, status2, name); Policy::checkException(status2); return ret; } ConfigEntry* findValue(Status* status, const char* name, const char* value) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); - ConfigEntry* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->findValue(this, status2, name, value)); + ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findValue(this, status2, name, value); Policy::checkException(status2); return ret; } ConfigEntry* findPos(Status* status, const char* name, unsigned pos) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); - ConfigEntry* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->findPos(this, status2, name, pos)); + ConfigEntry* ret = static_cast<VTable*>(this->cloopVTable)->findPos(this, status2, name, pos); Policy::checkException(status2); return ret; } @@ -663,32 +615,28 @@ } public: - static const unsigned int VERSION = 7; + static const unsigned VERSION = 3; unsigned getKey(const char* name) { - Policy::template checkVersion<3>(this); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getKey(this, name); return ret; } ISC_INT64 asInteger(unsigned key) { - Policy::template checkVersion<4>(this); ISC_INT64 ret = static_cast<VTable*>(this->cloopVTable)->asInteger(this, key); return ret; } const char* asString(unsigned key) { - Policy::template checkVersion<5>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->asString(this, key); return ret; } FB_BOOLEAN asBoolean(unsigned key) { - Policy::template checkVersion<6>(this); FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->asBoolean(this, key); return ret; } @@ -716,36 +664,32 @@ } public: - static const unsigned int VERSION = 7; + static const unsigned VERSION = 3; const char* getConfigFileName() { - Policy::template checkVersion<3>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getConfigFileName(this); return ret; } Config* getDefaultConfig(Status* status) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); - Config* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getDefaultConfig(this, status2)); + Config* ret = static_cast<VTable*>(this->cloopVTable)->getDefaultConfig(this, status2); Policy::checkException(status2); return ret; } FirebirdConf* getFirebirdConf(Status* status) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); - FirebirdConf* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this, status2)); + FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this, status2); Policy::checkException(status2); return ret; } void setReleaseDelay(Status* status, ISC_UINT64 microSeconds) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setReleaseDelay(this, status2, microSeconds); Policy::checkException(status2); @@ -771,13 +715,12 @@ } public: - static const unsigned int VERSION = 2; + static const unsigned VERSION = 2; PluginBase* createPlugin(Status* status, PluginConfig* factoryParameter) { - Policy::template checkVersion<2>(this); typename Policy::Status status2(status); - PluginBase* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->createPlugin(this, status2, factoryParameter)); + PluginBase* ret = static_cast<VTable*>(this->cloopVTable)->createPlugin(this, status2, factoryParameter); Policy::checkException(status2); return ret; } @@ -802,11 +745,10 @@ } public: - static const unsigned int VERSION = 2; + static const unsigned VERSION = 2; void doClean() { - Policy::template checkVersion<2>(this); static_cast<VTable*>(this->cloopVTable)->doClean(this); } }; @@ -819,7 +761,7 @@ void (CLOOP_CARG *registerPluginFactory)(PluginManager* self, unsigned pluginType, const char* defaultName, PluginFactory* factory) throw(); void (CLOOP_CARG *registerModule)(PluginManager* self, PluginModule* cleanup) throw(); void (CLOOP_CARG *unregisterModule)(PluginManager* self, PluginModule* cleanup) throw(); - PluginSet* (CLOOP_CARG *getPlugins)(PluginManager* self, Status* status, unsigned pluginType, const char* namesList, int desiredVersion, PluginModule* destModule, FirebirdConf* firebirdConf) throw(); + PluginSet* (CLOOP_CARG *getPlugins)(PluginManager* self, Status* status, unsigned pluginType, const char* namesList, FirebirdConf* firebirdConf) throw(); Config* (CLOOP_CARG *getConfig)(PluginManager* self, Status* status, const char* filename) throw(); void (CLOOP_CARG *releasePlugin)(PluginManager* self, PluginBase* plugin) throw(); }; @@ -835,7 +777,7 @@ } public: - static const unsigned int VERSION = 7; + static const unsigned VERSION = 2; static const unsigned Provider = 1; static const unsigned FirstNonLibPlugin = 2; @@ -851,43 +793,37 @@ void registerPluginFactory(unsigned pluginType, const char* defaultName, PluginFactory* factory) { - Policy::template checkVersion<2>(this); static_cast<VTable*>(this->cloopVTable)->registerPluginFactory(this, pluginType, defaultName, factory); } void registerModule(PluginModule* cleanup) { - Policy::template checkVersion<3>(this); static_cast<VTable*>(this->cloopVTable)->registerModule(this, cleanup); } void unregisterModule(PluginModule* cleanup) { - Policy::template checkVersion<4>(this); static_cast<VTable*>(this->cloopVTable)->unregisterModule(this, cleanup); } - PluginSet* getPlugins(Status* status, unsigned pluginType, const char* namesList, int desiredVersion, PluginModule* destModule, FirebirdConf* firebirdConf) + PluginSet* getPlugins(Status* status, unsigned pluginType, const char* namesList, FirebirdConf* firebirdConf) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); - PluginSet* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getPlugins(this, status2, pluginType, namesList, desiredVersion, destModule, firebirdConf)); + PluginSet* ret = static_cast<VTable*>(this->cloopVTable)->getPlugins(this, status2, pluginType, namesList, firebirdConf); Policy::checkException(status2); return ret; } Config* getConfig(Status* status, const char* filename) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); - Config* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getConfig(this, status2, filename)); + Config* ret = static_cast<VTable*>(this->cloopVTable)->getConfig(this, status2, filename); Policy::checkException(status2); return ret; } void releasePlugin(PluginBase* plugin) { - Policy::template checkVersion<7>(this); static_cast<VTable*>(this->cloopVTable)->releasePlugin(this, plugin); } }; @@ -914,7 +850,7 @@ } public: - static const unsigned int VERSION = 5; + static const unsigned VERSION = 2; static const unsigned FB_DIR_BIN = 0; static const unsigned FB_DIR_SBIN = 1; @@ -937,29 +873,25 @@ const char* getDirectory(unsigned code) { - Policy::template checkVersion<2>(this); const char* ret = static_cast<VTable*>(this->cloopVTable)->getDirectory(this, code); return ret; } FirebirdConf* getFirebirdConf() { - Policy::template checkVersion<3>(this); - FirebirdConf* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this)); + FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getFirebirdConf(this); return ret; } FirebirdConf* getDatabaseConf(const char* dbName) { - Policy::template checkVersion<4>(this); - FirebirdConf* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getDatabaseConf(this, dbName)); + FirebirdConf* ret = static_cast<VTable*>(this->cloopVTable)->getDatabaseConf(this, dbName); return ret; } Config* getPluginConfig(const char* configuredPlugin) { - Policy::template checkVersion<5>(this); - Config* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getPluginConfig(this, configuredPlugin)); + Config* ret = static_cast<VTable*>(this->cloopVTable)->getPluginConfig(this, configuredPlugin); return ret; } }; @@ -983,11 +915,10 @@ } public: - static const unsigned int VERSION = 4; + static const unsigned VERSION = 3; void eventCallbackFunction(unsigned length, const unsigned char* events) { - Policy::template checkVersion<3>(this); static_cast<VTable*>(this->cloopVTable)->eventCallbackFunction(this, length, events); } }; @@ -1016,11 +947,10 @@ } public: - static const unsigned int VERSION = 9; + static const unsigned VERSION = 3; void getInfo(Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); @@ -1028,7 +958,6 @@ int getSegment(Status* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->getSegment(this, status2, bufferLength, buffer, segmentLength); Policy::checkException(status2); @@ -1037,7 +966,6 @@ void putSegment(Status* status, unsigned length, const void* buffer) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->putSegment(this, status2, length, buffer); Policy::checkException(status2); @@ -1045,7 +973,6 @@ void cancel(Status* status) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->cancel(this, status2); Policy::checkException(status2); @@ -1053,7 +980,6 @@ void close(Status* status) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->close(this, status2); Policy::checkException(status2); @@ -1061,7 +987,6 @@ int seek(Status* status, int mode, int offset) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->seek(this, status2, mode, offset); Policy::checkException(status2); @@ -1097,11 +1022,10 @@ } public: - static const unsigned int VERSION = 13; + static const unsigned VERSION = 3; void getInfo(Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); @@ -1109,7 +1033,6 @@ void prepare(Status* status, unsigned msgLength, const unsigned char* message) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->prepare(this, status2, msgLength, message); Policy::checkException(status2); @@ -1117,7 +1040,6 @@ void commit(Status* status) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->commit(this, status2); Policy::checkException(status2); @@ -1125,7 +1047,6 @@ void commitRetaining(Status* status) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->commitRetaining(this, status2); Policy::checkException(status2); @@ -1133,7 +1054,6 @@ void rollback(Status* status) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->rollback(this, status2); Policy::checkException(status2); @@ -1141,7 +1061,6 @@ void rollbackRetaining(Status* status) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->rollbackRetaining(this, status2); Policy::checkException(status2); @@ -1149,7 +1068,6 @@ void disconnect(Status* status) { - Policy::template checkVersion<9>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->disconnect(this, status2); Policy::checkException(status2); @@ -1157,27 +1075,24 @@ Transaction* join(Status* status, Transaction* transaction) { - Policy::template checkVersion<10>(this); typename Policy::Status status2(status); - Transaction* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->join(this, status2, transaction)); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->join(this, status2, transaction); Policy::checkException(status2); return ret; } Transaction* validate(Status* status, Attachment* attachment) { - Policy::template checkVersion<11>(this); typename Policy::Status status2(status); - Transaction* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->validate(this, status2, attachment)); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->validate(this, status2, attachment); Policy::checkException(status2); return ret; } Transaction* enterDtc(Status* status) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); - Transaction* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->enterDtc(this, status2)); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->enterDtc(this, status2); Policy::checkException(status2); return ret; } @@ -1216,11 +1131,10 @@ } public: - static const unsigned int VERSION = 18; + static const unsigned VERSION = 3; unsigned getCount(Status* status) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getCount(this, status2); Policy::checkException(status2); @@ -1229,7 +1143,6 @@ const char* getField(Status* status, unsigned index) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); const char* ret = static_cast<VTable*>(this->cloopVTable)->getField(this, status2, index); Policy::checkException(status2); @@ -1238,7 +1151,6 @@ const char* getRelation(Status* status, unsigned index) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); const char* ret = static_cast<VTable*>(this->cloopVTable)->getRelation(this, status2, index); Policy::checkException(status2); @@ -1247,7 +1159,6 @@ const char* getOwner(Status* status, unsigned index) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); const char* ret = static_cast<VTable*>(this->cloopVTable)->getOwner(this, status2, index); Policy::checkException(status2); @@ -1256,7 +1167,6 @@ const char* getAlias(Status* status, unsigned index) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); const char* ret = static_cast<VTable*>(this->cloopVTable)->getAlias(this, status2, index); Policy::checkException(status2); @@ -1265,7 +1175,6 @@ unsigned getType(Status* status, unsigned index) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getType(this, status2, index); Policy::checkException(status2); @@ -1274,7 +1183,6 @@ FB_BOOLEAN isNullable(Status* status, unsigned index) { - Policy::template checkVersion<9>(this); typename Policy::Status status2(status); FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->isNullable(this, status2, index); Policy::checkException(status2); @@ -1283,7 +1191,6 @@ int getSubType(Status* status, unsigned index) { - Policy::template checkVersion<10>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->getSubType(this, status2, index); Policy::checkException(status2); @@ -1292,7 +1199,6 @@ unsigned getLength(Status* status, unsigned index) { - Policy::template checkVersion<11>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getLength(this, status2, index); Policy::checkException(status2); @@ -1301,7 +1207,6 @@ int getScale(Status* status, unsigned index) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->getScale(this, status2, index); Policy::checkException(status2); @@ -1310,7 +1215,6 @@ unsigned getCharSet(Status* status, unsigned index) { - Policy::template checkVersion<13>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getCharSet(this, status2, index); Policy::checkException(status2); @@ -1319,7 +1223,6 @@ unsigned getOffset(Status* status, unsigned index) { - Policy::template checkVersion<14>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getOffset(this, status2, index); Policy::checkException(status2); @@ -1328,7 +1231,6 @@ unsigned getNullOffset(Status* status, unsigned index) { - Policy::template checkVersion<15>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getNullOffset(this, status2, index); Policy::checkException(status2); @@ -1337,16 +1239,14 @@ MetadataBuilder* getBuilder(Status* status) { - Policy::template checkVersion<16>(this); typename Policy::Status status2(status); - MetadataBuilder* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getBuilder(this, status2)); + MetadataBuilder* ret = static_cast<VTable*>(this->cloopVTable)->getBuilder(this, status2); Policy::checkException(status2); return ret; } unsigned getMessageLength(Status* status) { - Policy::template checkVersion<17>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getMessageLength(this, status2); Policy::checkException(status2); @@ -1382,11 +1282,10 @@ } public: - static const unsigned int VERSION = 13; + static const unsigned VERSION = 3; void setType(Status* status, unsigned index, unsigned type) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setType(this, status2, index, type); Policy::checkException(status2); @@ -1394,7 +1293,6 @@ void setSubType(Status* status, unsigned index, int subType) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setSubType(this, status2, index, subType); Policy::checkException(status2); @@ -1402,7 +1300,6 @@ void setLength(Status* status, unsigned index, unsigned length) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setLength(this, status2, index, length); Policy::checkException(status2); @@ -1410,7 +1307,6 @@ void setCharSet(Status* status, unsigned index, unsigned charSet) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setCharSet(this, status2, index, charSet); Policy::checkException(status2); @@ -1418,7 +1314,6 @@ void setScale(Status* status, unsigned index, unsigned scale) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setScale(this, status2, index, scale); Policy::checkException(status2); @@ -1426,7 +1321,6 @@ void truncate(Status* status, unsigned count) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->truncate(this, status2, count); Policy::checkException(status2); @@ -1434,7 +1328,6 @@ void moveNameToIndex(Status* status, const char* name, unsigned index) { - Policy::template checkVersion<9>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->moveNameToIndex(this, status2, name, index); Policy::checkException(status2); @@ -1442,7 +1335,6 @@ void remove(Status* status, unsigned index) { - Policy::template checkVersion<10>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->remove(this, status2, index); Policy::checkException(status2); @@ -1450,7 +1342,6 @@ unsigned addField(Status* status) { - Policy::template checkVersion<11>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->addField(this, status2); Policy::checkException(status2); @@ -1459,9 +1350,8 @@ MessageMetadata* getMetadata(Status* status) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); - MessageMetadata* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getMetadata(this, status2)); + MessageMetadata* ret = static_cast<VTable*>(this->cloopVTable)->getMetadata(this, status2); Policy::checkException(status2); return ret; } @@ -1496,11 +1386,10 @@ } public: - static const unsigned int VERSION = 14; + static const unsigned VERSION = 3; int fetchNext(Status* status, void* message) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchNext(this, status2, message); Policy::checkException(status2); @@ -1509,7 +1398,6 @@ int fetchPrior(Status* status, void* message) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchPrior(this, status2, message); Policy::checkException(status2); @@ -1518,7 +1406,6 @@ int fetchFirst(Status* status, void* message) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchFirst(this, status2, message); Policy::checkException(status2); @@ -1527,7 +1414,6 @@ int fetchLast(Status* status, void* message) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchLast(this, status2, message); Policy::checkException(status2); @@ -1536,7 +1422,6 @@ int fetchAbsolute(Status* status, unsigned position, void* message) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchAbsolute(this, status2, position, message); Policy::checkException(status2); @@ -1545,7 +1430,6 @@ int fetchRelative(Status* status, int offset, void* message) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); int ret = static_cast<VTable*>(this->cloopVTable)->fetchRelative(this, status2, offset, message); Policy::checkException(status2); @@ -1554,7 +1438,6 @@ FB_BOOLEAN isEof(Status* status) { - Policy::template checkVersion<9>(this); typename Policy::Status status2(status); FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->isEof(this, status2); Policy::checkException(status2); @@ -1563,7 +1446,6 @@ FB_BOOLEAN isBof(Status* status) { - Policy::template checkVersion<10>(this); typename Policy::Status status2(status); FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->isBof(this, status2); Policy::checkException(status2); @@ -1572,16 +1454,14 @@ MessageMetadata* getMetadata(Status* status) { - Policy::template checkVersion<11>(this); typename Policy::Status status2(status); - MessageMetadata* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getMetadata(this, status2)); + MessageMetadata* ret = static_cast<VTable*>(this->cloopVTable)->getMetadata(this, status2); Policy::checkException(status2); return ret; } void close(Status* status) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->close(this, status2); Policy::checkException(status2); @@ -1589,7 +1469,6 @@ void setDelayedOutputFormat(Status* status, MessageMetadata* format) { - Policy::template checkVersion<13>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setDelayedOutputFormat(this, status2, format); Policy::checkException(status2); @@ -1625,7 +1504,7 @@ } public: - static const unsigned int VERSION = 14; + static const unsigned VERSION = 3; static const unsigned PREPARE_PREFETCH_NONE = 0; static const unsigned PREPARE_PREFETCH_TYPE = 1; @@ -1635,14 +1514,13 @@ static const unsigned PREPARE_PREFETCH_DETAILED_PLAN = 16; static const unsigned PREPARE_PREFETCH_AFFECTED_RECORDS = 32; static const unsigned PREPARE_PREFETCH_FLAGS = 64; - static const unsigned PREPARE_PREFETCH_METADATA = PREPARE_PREFETCH_TYPE | PREPARE_PREFETCH_FLAGS | PREPARE_PREFETCH_INPUT_PARAMETERS | PREPARE_PREFETCH_OUTPUT_PARAMETERS; - static const unsigned PREPARE_PREFETCH_ALL = PREPARE_PREFETCH_METADATA | PREPARE_PREFETCH_LEGACY_PLAN | PREPARE_PREFETCH_DETAILED_PLAN | PREPARE_PREFETCH_AFFECTED_RECORDS; + static const unsigned PREPARE_PREFETCH_METADATA = Statement::PREPARE_PREFETCH_TYPE | Statement::PREPARE_PREFETCH_FLAGS | Statement::PREPARE_PREFETCH_INPUT_PARAMETERS | Statement::PREPARE_PREFETCH_OUTPUT_PARAMETERS; + static const unsigned PREPARE_PREFETCH_ALL = Statement::PREPARE_PREFETCH_METADATA | Statement::PREPARE_PREFETCH_LEGACY_PLAN | Statement::PREPARE_PREFETCH_DETAILED_PLAN | Statement::PREPARE_PREFETCH_AFFECTED_RECORDS; static const unsigned FLAG_HAS_CURSOR = 1; static const unsigned FLAG_REPEAT_EXECUTE = 2; void getInfo(Status* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); @@ -1650,7 +1528,6 @@ unsigned getType(Status* status) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getType(this, status2); Policy::checkException(status2); @@ -1659,7 +1536,6 @@ const char* getPlan(Status* status, FB_BOOLEAN detailed) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); const char* ret = static_cast<VTable*>(this->cloopVTable)->getPlan(this, status2, detailed); Policy::checkException(status2); @@ -1668,7 +1544,6 @@ ISC_UINT64 getAffectedRecords(Status* status) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); ISC_UINT64 ret = static_cast<VTable*>(this->cloopVTable)->getAffectedRecords(this, status2); Policy::checkException(status2); @@ -1677,43 +1552,38 @@ MessageMetadata* getInputMetadata(Status* status) { - Policy::template checkVersion<7>(this); typename Policy::Status status2(status); - MessageMetadata* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getInputMetadata(this, status2)); + MessageMetadata* ret = static_cast<VTable*>(this->cloopVTable)->getInputMetadata(this, status2); Policy::checkException(status2); return ret; } MessageMetadata* getOutputMetadata(Status* status) { - Policy::template checkVersion<8>(this); typename Policy::Status status2(status); - MessageMetadata* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->getOutputMetadata(this, status2)); + MessageMetadata* ret = static_cast<VTable*>(this->cloopVTable)->getOutputMetadata(this, status2); Policy::checkException(status2); return ret; } Transaction* execute(Status* status, Transaction* transaction, MessageMetadata* inMetadata, void* inBuffer, MessageMetadata* outMetadata, void* outBuffer) { - Policy::template checkVersion<9>(this); typename Policy::Status status2(status); - Transaction* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->execute(this, status2, transaction, inMetadata, inBuffer, outMetadata, outBuffer)); + Transaction* ret = static_cast<VTable*>(this->cloopVTable)->execute(this, status2, transaction, inMetadata, inBuffer, outMetadata, outBuffer); Policy::checkException(status2); return ret; } ResultSet* openCursor(Status* status, Transaction* transaction, MessageMetadata* inMetadata, void* inBuffer, MessageMetadata* outMetadata) { - Policy::template checkVersion<10>(this); typename Policy::Status status2(status); - ResultSet* ret = Policy::upgrade(static_cast<VTable*>(this->cloopVTable)->openCursor(this, status2, transaction, inMetadata, inBuffer, outMetadata)); + ResultSet* ret = static_cast<VTable*>(this->cloopVTable)->openCursor(this, status2, transaction, inMetadata, inBuffer, outMetadata); Policy::checkException(status2); return ret; } void setCursorName(Status* status, const char* name) { - Policy::template checkVersion<11>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->setCursorName(this, status2, name); Policy::checkException(status2); @@ -1721,7 +1591,6 @@ void free(Status* status) { - Policy::template checkVersion<12>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->free(this, status2); Policy::checkException(status2); @@ -1729,7 +1598,6 @@ unsigned getFlags(Status* status) { - Policy::template checkVersion<13>(this); typename Policy::Status status2(status); unsigned ret = static_cast<VTable*>(this->cloopVTable)->getFlags(this, status2); Policy::checkException(status2); @@ -1762,11 +1630,10 @@ } public: - static const unsigned int VERSION = 10; + static const unsigned VERSION = 3; void receive(Status* status, int level, unsigned msgType, unsigned length, unsigned char* message) { - Policy::template checkVersion<3>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->receive(this, status2, level, msgType, length, message); Policy::checkException(status2); @@ -1774,7 +1641,6 @@ void send(Status* status, int level, unsigned msgType, unsigned length, const unsigned char* message) { - Policy::template checkVersion<4>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->send(this, status2, level, msgType, length, message); Policy::checkException(status2); @@ -1782,7 +1648,6 @@ void getInfo(Status* status, int level, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) { - Policy::template checkVersion<5>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->getInfo(this, status2, level, itemsLength, items, bufferLength, buffer); Policy::checkException(status2); @@ -1790,7 +1655,6 @@ void start(Status* status, Transaction* tra, int level) { - Policy::template checkVersion<6>(this); typename Policy::Status status2(status); static_cast<VTable*>(this->cloopVTable)->start(this, status2, tra, level); Policy::checkExcep... [truncated message content] |
From: <fir...@us...> - 2014-11-11 08:55:41
|
Revision: 60188 http://sourceforge.net/p/firebird/code/60188 Author: firebirds Date: 2014-11-11 08:55:38 +0000 (Tue, 11 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-10 20:00:21 UTC (rev 60187) +++ firebird/trunk/ChangeLog 2014-11-11 08:55:38 UTC (rev 60188) @@ -1,3 +1,46 @@ + 2014-11-10 14:45 asfernandes + M examples/dbcrypt/CryptKeyHolder.cpp + M examples/dbcrypt/DbCrypt.cpp + M examples/udr/UdrCppExample.cpp + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/common/classes/GetPlugins.h + M src/common/classes/ImplementHelper.cpp + M src/common/fb_exception.cpp + M src/gpre/boot/gpre_meta_boot.cpp + M src/include/firebird/FirebirdInterface.idl + M src/include/firebird/IdlFbInterfaces.h + M src/include/firebird/Interface.h + M src/include/firebird/UdrCppEngine.h + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/include/ibase.h + M src/jrd/CryptoManager.cpp + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/plugins/udr_engine/UdrEngine.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/PluginManager.cpp + M src/yvalve/PluginManager.h +Get rid of upgradeInterface API method and some adjustments. To be continued. + + 2014-11-10 09:32 paulbeach + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp +Fix visibility problem for: +GSEC> add sysdba -pw masterkey +unable to open database +Error loading plugin Srp +Standard plugin entrypoint does not exist in module +/Users/pbeach/firebird30/gen/Release/firebird/plugins/libSrp.dylib +GSEC> + 2014-11-09 16:40 dimitr M src/jrd/vio.cpp Relaxed system tables protection for cases UPDATE ... SET RDB$*_SOURCE = NULL. So far nullification is allowed for views/packages/procedures/functions/triggers only. I'm not sure somebody really needs hiding sources for defaults and check constraints, but this can be supported later, if required. This is a temporary solution, intended to be replaced with something more clever (e.g. special permissions or new DDL command) in v4. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-10 20:00:21 UTC (rev 60187) +++ firebird/trunk/src/jrd/build_no.h 2014-11-11 08:55:38 UTC (rev 60188) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31399 + FORMAL BUILD NUMBER:31401 */ -#define PRODUCT_VER_STRING "3.0.0.31399" -#define FILE_VER_STRING "WI-T3.0.0.31399" -#define LICENSE_VER_STRING "WI-T3.0.0.31399" -#define FILE_VER_NUMBER 3, 0, 0, 31399 +#define PRODUCT_VER_STRING "3.0.0.31401" +#define FILE_VER_STRING "WI-T3.0.0.31401" +#define LICENSE_VER_STRING "WI-T3.0.0.31401" +#define FILE_VER_NUMBER 3, 0, 0, 31401 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31399" +#define FB_BUILD_NO "31401" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-10 20:00:21 UTC (rev 60187) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-11 08:55:38 UTC (rev 60188) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31399 +BuildNum=31401 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-12 08:37:15
|
Revision: 60199 http://sourceforge.net/p/firebird/code/60199 Author: firebirds Date: 2014-11-12 08:37:06 +0000 (Wed, 12 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-12 07:57:05 UTC (rev 60198) +++ firebird/trunk/ChangeLog 2014-11-12 08:37:06 UTC (rev 60199) @@ -1,3 +1,23 @@ + 2014-11-11 16:52 mapopa + A builds/posix/prefix.linux_powerpc64el +add prefix file linux_powerpc64el + + 2014-11-11 16:44 mapopa + M configure.ac +add powerpc64le configure check , aarm64 is now packaged already in debian/ubuntu/fedora + + 2014-11-11 16:17 mapopa + M src/common/common.h +add PowerPc64el + + 2014-11-11 16:05 mapopa + M src/common/classes/DbImplementation.cpp +add PowerPC64el implementation + + 2014-11-11 15:08 mapopa + M src/common/classes/DbImplementation.cpp +Spell fix in comment + 2014-11-10 14:45 asfernandes M examples/dbcrypt/CryptKeyHolder.cpp M examples/dbcrypt/DbCrypt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-12 07:57:05 UTC (rev 60198) +++ firebird/trunk/src/jrd/build_no.h 2014-11-12 08:37:06 UTC (rev 60199) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31401 + FORMAL BUILD NUMBER:31406 */ -#define PRODUCT_VER_STRING "3.0.0.31401" -#define FILE_VER_STRING "WI-T3.0.0.31401" -#define LICENSE_VER_STRING "WI-T3.0.0.31401" -#define FILE_VER_NUMBER 3, 0, 0, 31401 +#define PRODUCT_VER_STRING "3.0.0.31406" +#define FILE_VER_STRING "WI-T3.0.0.31406" +#define LICENSE_VER_STRING "WI-T3.0.0.31406" +#define FILE_VER_NUMBER 3, 0, 0, 31406 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31401" +#define FB_BUILD_NO "31406" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-12 07:57:05 UTC (rev 60198) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-12 08:37:06 UTC (rev 60199) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31401 +BuildNum=31406 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mku...@us...> - 2014-11-12 17:31:06
|
Revision: 60219 http://sourceforge.net/p/firebird/code/60219 Author: mkubecek Date: 2014-11-12 17:31:01 +0000 (Wed, 12 Nov 2014) Log Message: ----------- Improvement CORE-3226: IPv6 support (8/9) add config directive for IPV6_V6ONLY socket option Modified Paths: -------------- firebird/trunk/builds/install/misc/firebird.conf.in firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/config/config.h firebird/trunk/src/remote/inet.cpp Modified: firebird/trunk/builds/install/misc/firebird.conf.in =================================================================== --- firebird/trunk/builds/install/misc/firebird.conf.in 2014-11-12 17:30:07 UTC (rev 60218) +++ firebird/trunk/builds/install/misc/firebird.conf.in 2014-11-12 17:31:01 UTC (rev 60219) @@ -638,6 +638,16 @@ #TcpNoNagle = 1 # +# Allows setting of IPV6_V6ONLY socket option. If enabled, IPv6 sockets +# allow only IPv6 communication and a separate socket must be used for +# IPv4 and IPv6. Default is false on POSIX systems, true on Windows. +# On Windows, "false" value can only be used since Windows Vista. +# +# Type: boolean +# +#IPv6V6Only = 0 + +# # Allows incoming connections to be bound to the IP address of a # specific network card. It enables rejection of incoming connections # through any other network interface except this one. By default, Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2014-11-12 17:30:07 UTC (rev 60218) +++ firebird/trunk/src/common/config/config.cpp 2014-11-12 17:31:01 UTC (rev 60219) @@ -197,7 +197,8 @@ {TYPE_STRING, "WireCrypt", (ConfigValue) NULL}, {TYPE_STRING, "WireCryptPlugin", (ConfigValue) "Arc4"}, {TYPE_STRING, "KeyHolderPlugin", (ConfigValue) ""}, - {TYPE_BOOLEAN, "RemoteAccess", (ConfigValue) true} + {TYPE_BOOLEAN, "RemoteAccess", (ConfigValue) true}, + {TYPE_BOOLEAN, "IPv6V6Only", (ConfigValue) false} }; /****************************************************************************** @@ -438,6 +439,11 @@ return get<bool>(KEY_TCP_NO_NAGLE); } +bool Config::getIPv6V6Only() const +{ + return get<bool>(KEY_IPV6_V6ONLY); +} + int Config::getDefaultDbCachePages() const { int rc = get<int>(KEY_DEFAULT_DB_CACHE_PAGES); Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2014-11-12 17:30:07 UTC (rev 60218) +++ firebird/trunk/src/common/config/config.h 2014-11-12 17:31:01 UTC (rev 60219) @@ -135,6 +135,7 @@ KEY_PLUG_WIRE_CRYPT, KEY_PLUG_KEY_HOLDER, KEY_REMOTE_ACCESS, + KEY_IPV6_V6ONLY, MAX_CONFIG_KEY // keep it last }; @@ -228,6 +229,9 @@ // Disable Nagle algorithm bool getTcpNoNagle() const; + // Let IPv6 socket accept only IPv6 packets + bool getIPv6V6Only() const; + // Default database cache size int getDefaultDbCachePages() const; Modified: firebird/trunk/src/remote/inet.cpp =================================================================== --- firebird/trunk/src/remote/inet.cpp 2014-11-12 17:30:07 UTC (rev 60218) +++ firebird/trunk/src/remote/inet.cpp 2014-11-12 17:31:01 UTC (rev 60219) @@ -864,7 +864,15 @@ **************************************/ int n; + int ipv6_v6only = port->getPortConfig()->getIPv6V6Only() ? 1 : 0; + n = setsockopt(port->port_handle, IPPROTO_IPV6, IPV6_V6ONLY, + (SCHAR*) &ipv6_v6only, sizeof(ipv6_v6only)); + if (n == -1) + { + gds__log("setsockopt: error setting IPV6_V6ONLY to %d", ipv6_v6only); + } + if (flag & SRVR_multi_client) { struct linger lingerInfo; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2014-11-14 11:05:07
|
Revision: 60236 http://sourceforge.net/p/firebird/code/60236 Author: hvlad Date: 2014-11-14 11:04:48 +0000 (Fri, 14 Nov 2014) Log Message: ----------- Support for MSVC12 (VS 2013) Modified Paths: -------------- firebird/trunk/builds/win32/setenvvar.bat firebird/trunk/src/common/os/win32/mod_loader.cpp Added Paths: ----------- firebird/trunk/extern/libtommath/libtommath_MSVC12.sln firebird/trunk/extern/libtommath/libtommath_MSVC12.vcxproj Modified: firebird/trunk/builds/win32/setenvvar.bat =================================================================== --- firebird/trunk/builds/win32/setenvvar.bat 2014-11-14 10:42:49 UTC (rev 60235) +++ firebird/trunk/builds/win32/setenvvar.bat 2014-11-14 11:04:48 UTC (rev 60236) @@ -28,6 +28,10 @@ :: To disable VS8/VS9/VS10 build, slightly alter the env var names in "if" conditions below +if DEFINED VS120COMNTOOLS ( +@devenv /? >nul 2>nul +@if errorlevel 9009 (call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE% & echo has already been executed.) +) else ( if DEFINED VS100COMNTOOLS ( @devenv /? >nul 2>nul @if errorlevel 9009 (call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE% & echo has already been executed.) @@ -49,6 +53,7 @@ ) ) ) +) @echo. Added: firebird/trunk/extern/libtommath/libtommath_MSVC12.sln =================================================================== --- firebird/trunk/extern/libtommath/libtommath_MSVC12.sln (rev 0) +++ firebird/trunk/extern/libtommath/libtommath_MSVC12.sln 2014-11-14 11:04:48 UTC (rev 60236) @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtommath", "libtommath_MSVC12.vcxproj", "{42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Debug|Win32.ActiveCfg = Debug|Win32 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Debug|Win32.Build.0 = Debug|Win32 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Debug|x64.ActiveCfg = Debug|x64 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Debug|x64.Build.0 = Debug|x64 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Release|Win32.ActiveCfg = Release|Win32 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Release|Win32.Build.0 = Release|Win32 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Release|x64.ActiveCfg = Release|x64 + {42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Property changes on: firebird/trunk/extern/libtommath/libtommath_MSVC12.sln ___________________________________________________________________ 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 Added: firebird/trunk/extern/libtommath/libtommath_MSVC12.vcxproj =================================================================== --- firebird/trunk/extern/libtommath/libtommath_MSVC12.vcxproj (rev 0) +++ firebird/trunk/extern/libtommath/libtommath_MSVC12.vcxproj 2014-11-14 11:04:48 UTC (rev 60236) @@ -0,0 +1,354 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectName>libtommath</ProjectName> + <ProjectGuid>{42109FEE-B0B9-4FCD-9E56-2863BF8C55D2}</ProjectGuid> + <RootNamespace>libtommath</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">lib\$(Platform)\$(Configuration)\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">lib\$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">temp\$(Platform)\$(Configuration)\</IntDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">temp\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">lib\$(Platform)\$(Configuration)\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">lib\$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">temp\$(Platform)\$(Configuration)\</IntDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">temp\$(Platform)\$(Configuration)\</IntDir> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">tommath</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">tommath</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">tommath</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">tommath</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <PrecompiledHeaderFile> + </PrecompiledHeaderFile> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)\$(TargetFileName)</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/libtommath.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <PrecompiledHeaderFile> + </PrecompiledHeaderFile> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)\$(TargetFileName)</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/libtommath.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderFile> + </PrecompiledHeaderFile> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)\$(TargetFileName)</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/libtommath.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <PrecompiledHeaderFile> + </PrecompiledHeaderFile> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)\$(TargetFileName)</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/libtommath.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="bn_error.c" /> + <ClCompile Include="bn_fast_mp_invmod.c" /> + <ClCompile Include="bn_fast_mp_montgomery_reduce.c" /> + <ClCompile Include="bn_fast_s_mp_mul_digs.c" /> + <ClCompile Include="bn_fast_s_mp_mul_high_digs.c" /> + <ClCompile Include="bn_fast_s_mp_sqr.c" /> + <ClCompile Include="bn_mp_2expt.c" /> + <ClCompile Include="bn_mp_abs.c" /> + <ClCompile Include="bn_mp_add.c" /> + <ClCompile Include="bn_mp_add_d.c" /> + <ClCompile Include="bn_mp_addmod.c" /> + <ClCompile Include="bn_mp_and.c" /> + <ClCompile Include="bn_mp_clamp.c" /> + <ClCompile Include="bn_mp_clear.c" /> + <ClCompile Include="bn_mp_clear_multi.c" /> + <ClCompile Include="bn_mp_cmp.c" /> + <ClCompile Include="bn_mp_cmp_d.c" /> + <ClCompile Include="bn_mp_cmp_mag.c" /> + <ClCompile Include="bn_mp_cnt_lsb.c" /> + <ClCompile Include="bn_mp_copy.c" /> + <ClCompile Include="bn_mp_count_bits.c" /> + <ClCompile Include="bn_mp_div.c" /> + <ClCompile Include="bn_mp_div_2.c" /> + <ClCompile Include="bn_mp_div_2d.c" /> + <ClCompile Include="bn_mp_div_3.c" /> + <ClCompile Include="bn_mp_div_d.c" /> + <ClCompile Include="bn_mp_dr_is_modulus.c" /> + <ClCompile Include="bn_mp_dr_reduce.c" /> + <ClCompile Include="bn_mp_dr_setup.c" /> + <ClCompile Include="bn_mp_exch.c" /> + <ClCompile Include="bn_mp_expt_d.c" /> + <ClCompile Include="bn_mp_exptmod.c" /> + <ClCompile Include="bn_mp_exptmod_fast.c" /> + <ClCompile Include="bn_mp_exteuclid.c" /> + <ClCompile Include="bn_mp_fread.c" /> + <ClCompile Include="bn_mp_fwrite.c" /> + <ClCompile Include="bn_mp_gcd.c" /> + <ClCompile Include="bn_mp_get_int.c" /> + <ClCompile Include="bn_mp_grow.c" /> + <ClCompile Include="bn_mp_init.c" /> + <ClCompile Include="bn_mp_init_copy.c" /> + <ClCompile Include="bn_mp_init_multi.c" /> + <ClCompile Include="bn_mp_init_set.c" /> + <ClCompile Include="bn_mp_init_set_int.c" /> + <ClCompile Include="bn_mp_init_size.c" /> + <ClCompile Include="bn_mp_invmod.c" /> + <ClCompile Include="bn_mp_invmod_slow.c" /> + <ClCompile Include="bn_mp_is_square.c" /> + <ClCompile Include="bn_mp_jacobi.c" /> + <ClCompile Include="bn_mp_karatsuba_mul.c" /> + <ClCompile Include="bn_mp_karatsuba_sqr.c" /> + <ClCompile Include="bn_mp_lcm.c" /> + <ClCompile Include="bn_mp_lshd.c" /> + <ClCompile Include="bn_mp_mod.c" /> + <ClCompile Include="bn_mp_mod_2d.c" /> + <ClCompile Include="bn_mp_mod_d.c" /> + <ClCompile Include="bn_mp_montgomery_calc_normalization.c" /> + <ClCompile Include="bn_mp_montgomery_reduce.c" /> + <ClCompile Include="bn_mp_montgomery_setup.c" /> + <ClCompile Include="bn_mp_mul.c" /> + <ClCompile Include="bn_mp_mul_2.c" /> + <ClCompile Include="bn_mp_mul_2d.c" /> + <ClCompile Include="bn_mp_mul_d.c" /> + <ClCompile Include="bn_mp_mulmod.c" /> + <ClCompile Include="bn_mp_n_root.c" /> + <ClCompile Include="bn_mp_neg.c" /> + <ClCompile Include="bn_mp_or.c" /> + <ClCompile Include="bn_mp_prime_fermat.c" /> + <ClCompile Include="bn_mp_prime_is_divisible.c" /> + <ClCompile Include="bn_mp_prime_is_prime.c" /> + <ClCompile Include="bn_mp_prime_miller_rabin.c" /> + <ClCompile Include="bn_mp_prime_next_prime.c" /> + <ClCompile Include="bn_mp_prime_rabin_miller_trials.c" /> + <ClCompile Include="bn_mp_prime_random_ex.c" /> + <ClCompile Include="bn_mp_radix_size.c" /> + <ClCompile Include="bn_mp_radix_smap.c" /> + <ClCompile Include="bn_mp_rand.c" /> + <ClCompile Include="bn_mp_read_radix.c" /> + <ClCompile Include="bn_mp_read_signed_bin.c" /> + <ClCompile Include="bn_mp_read_unsigned_bin.c" /> + <ClCompile Include="bn_mp_reduce.c" /> + <ClCompile Include="bn_mp_reduce_2k.c" /> + <ClCompile Include="bn_mp_reduce_2k_l.c" /> + <ClCompile Include="bn_mp_reduce_2k_setup.c" /> + <ClCompile Include="bn_mp_reduce_2k_setup_l.c" /> + <ClCompile Include="bn_mp_reduce_is_2k.c" /> + <ClCompile Include="bn_mp_reduce_is_2k_l.c" /> + <ClCompile Include="bn_mp_reduce_setup.c" /> + <ClCompile Include="bn_mp_rshd.c" /> + <ClCompile Include="bn_mp_set.c" /> + <ClCompile Include="bn_mp_set_int.c" /> + <ClCompile Include="bn_mp_shrink.c" /> + <ClCompile Include="bn_mp_signed_bin_size.c" /> + <ClCompile Include="bn_mp_sqr.c" /> + <ClCompile Include="bn_mp_sqrmod.c" /> + <ClCompile Include="bn_mp_sqrt.c" /> + <ClCompile Include="bn_mp_sub.c" /> + <ClCompile Include="bn_mp_sub_d.c" /> + <ClCompile Include="bn_mp_submod.c" /> + <ClCompile Include="bn_mp_to_signed_bin.c" /> + <ClCompile Include="bn_mp_to_signed_bin_n.c" /> + <ClCompile Include="bn_mp_to_unsigned_bin.c" /> + <ClCompile Include="bn_mp_to_unsigned_bin_n.c" /> + <ClCompile Include="bn_mp_toom_mul.c" /> + <ClCompile Include="bn_mp_toom_sqr.c" /> + <ClCompile Include="bn_mp_toradix.c" /> + <ClCompile Include="bn_mp_toradix_n.c" /> + <ClCompile Include="bn_mp_unsigned_bin_size.c" /> + <ClCompile Include="bn_mp_xor.c" /> + <ClCompile Include="bn_mp_zero.c" /> + <ClCompile Include="bn_prime_tab.c" /> + <ClCompile Include="bn_reverse.c" /> + <ClCompile Include="bn_s_mp_add.c" /> + <ClCompile Include="bn_s_mp_exptmod.c" /> + <ClCompile Include="bn_s_mp_mul_digs.c" /> + <ClCompile Include="bn_s_mp_mul_high_digs.c" /> + <ClCompile Include="bn_s_mp_sqr.c" /> + <ClCompile Include="bn_s_mp_sub.c" /> + <ClCompile Include="bncore.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="tommath.h" /> + <ClInclude Include="tommath_class.h" /> + <ClInclude Include="tommath_superclass.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file Property changes on: firebird/trunk/extern/libtommath/libtommath_MSVC12.vcxproj ___________________________________________________________________ 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/common/os/win32/mod_loader.cpp =================================================================== --- firebird/trunk/src/common/os/win32/mod_loader.cpp 2014-11-14 10:42:49 UTC (rev 60235) +++ firebird/trunk/src/common/os/win32/mod_loader.cpp 2014-11-14 11:04:48 UTC (rev 60236) @@ -96,7 +96,11 @@ #elif _MSC_VER == 1500 "msvcr90.dll", #elif _MSC_VER == 1600 - "msvcr100.dll", + "msvcr100.dll", +#elif _MSC_VER == 1700 + "msvcr110.dll", +#elif _MSC_VER == 1800 + "msvcr120.dll", #else #error Specify CRT DLL name here ! #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2014-11-16 02:41:56
|
Revision: 60242 http://sourceforge.net/p/firebird/code/60242 Author: asfernandes Date: 2014-11-16 02:41:47 +0000 (Sun, 16 Nov 2014) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/doc/README.IPv6 firebird/trunk/src/common/isc_file.cpp firebird/trunk/src/remote/SockAddr.h firebird/trunk/src/remote/inet.cpp Modified: firebird/trunk/doc/README.IPv6 =================================================================== --- firebird/trunk/doc/README.IPv6 2014-11-15 10:16:48 UTC (rev 60241) +++ firebird/trunk/doc/README.IPv6 2014-11-16 02:41:47 UTC (rev 60242) @@ -39,4 +39,3 @@ the RemoteBindAddress, RemoteServicePort and RemoteServiceName directives as the listening socket is set up by (x)inetd. Listening address and/or port need to be set in (x)inetd configuration in this mode. - Modified: firebird/trunk/src/common/isc_file.cpp =================================================================== --- firebird/trunk/src/common/isc_file.cpp 2014-11-15 10:16:48 UTC (rev 60241) +++ firebird/trunk/src/common/isc_file.cpp 2014-11-16 02:41:47 UTC (rev 60242) @@ -417,9 +417,8 @@ p = file_name.find(INET_FLAG, p + 1); } else - { p = file_name.find(INET_FLAG); - } + if (p == npos || p == 0 || p == file_name.length() - 1) return false; Modified: firebird/trunk/src/remote/SockAddr.h =================================================================== --- firebird/trunk/src/remote/SockAddr.h 2014-11-15 10:16:48 UTC (rev 60241) +++ firebird/trunk/src/remote/SockAddr.h 2014-11-16 02:41:47 UTC (rev 60242) @@ -31,9 +31,8 @@ #ifndef WIN_NT #include <netinet/in.h> -#endif +#else -#ifdef WIN_NT #include <winsock2.h> #include <Ws2tcpip.h> #include <Wspiapi.h> @@ -47,7 +46,8 @@ #include "../remote/remote.h" -class SockAddr { +class SockAddr +{ private: static const unsigned maxLen = sizeof(struct sockaddr_in6); char data[maxLen]; @@ -173,18 +173,22 @@ inline bool SockAddr::isLocalhost() const { const struct sockaddr* sa = (const struct sockaddr*) data; - switch(sa->sa_family) { - case AF_INET: + + switch(sa->sa_family) + { + case AF_INET: { const struct sockaddr_in* sa4 = (const struct sockaddr_in*) data; return ((ntohl(sa4->sin_addr.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET); } - case AF_INET6: + + case AF_INET6: { const struct sockaddr_in6* sa6 = (const struct sockaddr_in6*) data; return (memcmp(&sa6->sin6_addr, &in6addr_loopback, sizeof(in6_addr)) == 0); } } + return 0; // exception? } @@ -197,8 +201,8 @@ const struct sockaddr_in6* sa6 = (const struct sockaddr_in6*) data; // IPv6 mapped IPv4 addresses are ::ffff:0:0/32 - static const unsigned char v4mapped_pfx[12] - = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff }; + static const unsigned char v4mapped_pfx[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff}; + if (memcmp(sa6->sin6_addr.s6_addr, v4mapped_pfx, sizeof(v4mapped_pfx)) != 0) return; Modified: firebird/trunk/src/remote/inet.cpp =================================================================== --- firebird/trunk/src/remote/inet.cpp 2014-11-15 10:16:48 UTC (rev 60241) +++ firebird/trunk/src/remote/inet.cpp 2014-11-16 02:41:47 UTC (rev 60242) @@ -734,15 +734,17 @@ { host = name; const FB_SIZE_T pos = host.find("/"); + if (pos != string::npos) { protocol = host.substr(pos + 1); host = host.substr(0, pos); } - if (host.hasData() && host[0] == '[' && host[host.length()-1] == ']') + + if (host.hasData() && host[0] == '[' && host[host.length() - 1] == ']') { // host name or address is in brackets, remove them - host.erase(host.length()-1); + host.erase(host.length() - 1); host.erase(0, 1); } } @@ -775,22 +777,26 @@ memset(&gai_hints, 0, sizeof(gai_hints)); gai_hints.ai_family = (packet ? AF_UNSPEC : AF_INET6); gai_hints.ai_socktype = SOCK_STREAM; + #ifndef WIN_NT gai_hints.ai_protocol = SOL_TCP; #else gai_hints.ai_protocol = IPPROTO_TCP; #endif + gai_hints.ai_flags = AI_V4MAPPED | AI_ADDRCONFIG | (packet ? 0 : AI_PASSIVE); const char* host_str = (host.hasData() ? host.c_str() : NULL); struct addrinfo* gai_result; int n = getaddrinfo(host_str, protocol.c_str(), &gai_hints, &gai_result); + if (n && (protocol == FB_SERVICE_NAME)) { // Try hard-wired translation of "gds_db" to "3050" protocol.printf("%hu", FB_SERVICE_PORT); n = getaddrinfo(host_str, protocol.c_str(), &gai_hints, &gai_result); } + if (n) { gds__log("INET/INET_connect: getaddrinfo(%s,%s) failed: %s", @@ -802,6 +808,7 @@ { // Allocate a port block and initialize a socket for communications port->port_handle = socket(pai->ai_family, pai->ai_socktype, pai->ai_protocol); + if (port->port_handle == INVALID_SOCKET) { gds__log("socket: error creating socket (family %d, socktype %d, protocol %d", @@ -830,7 +837,9 @@ { goto exit_free; } - } else { + } + else + { // server INET_server_socket(port, flag, pai); goto exit_free; @@ -842,11 +851,9 @@ // all attempts failed if (packet) - { inet_error(true, port, "connect", isc_net_connect_err, 0); - } else { + else inet_error(true, port, "listen", isc_net_connect_listen_err, 0); - } exit_free: freeaddrinfo(gai_result); @@ -867,15 +874,13 @@ * **************************************/ - int n; int ipv6_v6only = port->getPortConfig()->getIPv6V6Only() ? 1 : 0; - n = setsockopt(port->port_handle, IPPROTO_IPV6, IPV6_V6ONLY, + int n = setsockopt(port->port_handle, IPPROTO_IPV6, IPV6_V6ONLY, (SCHAR*) &ipv6_v6only, sizeof(ipv6_v6only)); + if (n == -1) - { gds__log("setsockopt: error setting IPV6_V6ONLY to %d", ipv6_v6only); - } if (flag & SRVR_multi_client) { @@ -924,12 +929,12 @@ // On Linux platform, when the server dies the system holds a port // for some time (we don't set SO_REUSEADDR for standalone server). int retry = -1; - do { + do + { if (++retry) sleep(10); n = bind(port->port_handle, pai->ai_addr, pai->ai_addrlen); - } - while (n == -1 && INET_ERRNO == INET_ADDR_IN_USE && retry < INET_RETRY_CALL); + } while (n == -1 && INET_ERRNO == INET_ADDR_IN_USE && retry < INET_RETRY_CALL); if (n == -1) { @@ -1169,12 +1174,12 @@ { address.unmapV4(); // convert mapped IPv4 to regular IPv4 char host[40]; // 32 digits, 7 colons, 1 trailing null byte - int R = getnameinfo(address.ptr(), address.length(), host, sizeof(host), + int nameinfo = getnameinfo(address.ptr(), address.length(), host, sizeof(host), NULL, 0, NI_NUMERICHOST); - if (!R) - { + + if (!nameinfo) port->port_address = host; - } + if (address.family() == AF_INET6) port->port_protocol_id = "TCPv6"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-18 06:44:41
|
Revision: 60259 http://sourceforge.net/p/firebird/code/60259 Author: firebirds Date: 2014-11-18 06:44:37 +0000 (Tue, 18 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-17 22:32:54 UTC (rev 60258) +++ firebird/trunk/ChangeLog 2014-11-18 06:44:37 UTC (rev 60259) @@ -1,3 +1,240 @@ + 2014-11-17 22:32 hvlad + A builds/win32/msvc12 + A builds/win32/msvc12/DllNoEmbedManifest.props + A builds/win32/msvc12/Firebird3.sln + A builds/win32/msvc12/Firebird3Boot.sln + A builds/win32/msvc12/Firebird3_Examples.sln + A builds/win32/msvc12/alice.vcxproj + A builds/win32/msvc12/alice.vcxproj.filters + A builds/win32/msvc12/btyacc.vcxproj + A builds/win32/msvc12/btyacc.vcxproj.filters + A builds/win32/msvc12/build_msg.vcxproj + A builds/win32/msvc12/build_msg.vcxproj.filters + A builds/win32/msvc12/burp.vcxproj + A builds/win32/msvc12/burp.vcxproj.filters + A builds/win32/msvc12/codes.vcxproj + A builds/win32/msvc12/codes.vcxproj.filters + A builds/win32/msvc12/common.vcxproj + A builds/win32/msvc12/common.vcxproj.filters + A builds/win32/msvc12/empbuild.vcxproj + A builds/win32/msvc12/empbuild.vcxproj.filters + A builds/win32/msvc12/engine.vcxproj + A builds/win32/msvc12/engine.vcxproj.filters + A builds/win32/msvc12/fb2control.vcxproj + A builds/win32/msvc12/fb2control.vcxproj.filters + A builds/win32/msvc12/fb_lock_print.vcxproj + A builds/win32/msvc12/fb_lock_print.vcxproj.filters + A builds/win32/msvc12/fbguard.vcxproj + A builds/win32/msvc12/fbguard.vcxproj.filters + A builds/win32/msvc12/fbrmclib.vcxproj + A builds/win32/msvc12/fbrmclib.vcxproj.filters + A builds/win32/msvc12/fbserver.vcxproj + A builds/win32/msvc12/fbserver.vcxproj.filters + A builds/win32/msvc12/fbsvcmgr.vcxproj + A builds/win32/msvc12/fbsvcmgr.vcxproj.filters + A builds/win32/msvc12/fbtrace.vcxproj + A builds/win32/msvc12/fbtrace.vcxproj.filters + A builds/win32/msvc12/fbtracemgr.vcxproj + A builds/win32/msvc12/fbtracemgr.vcxproj.filters + A builds/win32/msvc12/fbudf.vcxproj + A builds/win32/msvc12/fbudf.vcxproj.filters + A builds/win32/msvc12/firebird2.props + A builds/win32/msvc12/firebird2debug.props + A builds/win32/msvc12/firebird2release.props + A builds/win32/msvc12/gbak.vcxproj + A builds/win32/msvc12/gbak.vcxproj.filters + A builds/win32/msvc12/gfix.vcxproj + A builds/win32/msvc12/gfix.vcxproj.filters + A builds/win32/msvc12/gpre.vcxproj + A builds/win32/msvc12/gpre.vcxproj.filters + A builds/win32/msvc12/gpre_boot.vcxproj + A builds/win32/msvc12/gpre_boot.vcxproj.filters + A builds/win32/msvc12/gpre_common.vcxproj + A builds/win32/msvc12/gpre_common.vcxproj.filters + A builds/win32/msvc12/gsec.vcxproj + A builds/win32/msvc12/gsec.vcxproj.filters + A builds/win32/msvc12/gsplit.vcxproj + A builds/win32/msvc12/gsplit.vcxproj.filters + A builds/win32/msvc12/gstat.vcxproj + A builds/win32/msvc12/gstat.vcxproj.filters + A builds/win32/msvc12/ib_udf.vcxproj + A builds/win32/msvc12/ib_udf.vcxproj.filters + A builds/win32/msvc12/ib_util.vcxproj + A builds/win32/msvc12/ib_util.vcxproj.filters + A builds/win32/msvc12/instclient.vcxproj + A builds/win32/msvc12/instclient.vcxproj.filters + A builds/win32/msvc12/instreg.vcxproj + A builds/win32/msvc12/instreg.vcxproj.filters + A builds/win32/msvc12/instsvc.vcxproj + A builds/win32/msvc12/instsvc.vcxproj.filters + A builds/win32/msvc12/intl.vcxproj + A builds/win32/msvc12/intl.vcxproj.filters + A builds/win32/msvc12/intlbuild.vcxproj + A builds/win32/msvc12/intlbuild.vcxproj.filters + A builds/win32/msvc12/isql.vcxproj + A builds/win32/msvc12/isql.vcxproj.filters + A builds/win32/msvc12/legacy_auth.vcxproj + A builds/win32/msvc12/legacy_auth.vcxproj.filters + A builds/win32/msvc12/legacy_usermanager.vcxproj + A builds/win32/msvc12/legacy_usermanager.vcxproj.filters + A builds/win32/msvc12/nbackup.vcxproj + A builds/win32/msvc12/nbackup.vcxproj.filters + A builds/win32/msvc12/qli.vcxproj + A builds/win32/msvc12/qli.vcxproj.filters + A builds/win32/msvc12/remote.vcxproj + A builds/win32/msvc12/remote.vcxproj.filters + A builds/win32/msvc12/srp.vcxproj + A builds/win32/msvc12/srp.vcxproj.filters + A builds/win32/msvc12/udr_engine.vcxproj + A builds/win32/msvc12/udr_engine.vcxproj.filters + A builds/win32/msvc12/udrcpp_example.vcxproj + A builds/win32/msvc12/udrcpp_example.vcxproj.filters + A builds/win32/msvc12/yvalve.vcxproj + A builds/win32/msvc12/yvalve.vcxproj.filters +MSVC12 project files + + 2014-11-17 20:26 mapopa + M src/common/classes/DbImplementation.cpp +fix idpl license url + + 2014-11-17 12:02 mkubecek + M builds/install/misc/firebird.conf.in +Fix IPv6V6Only comment in firebird.conf + + 2014-11-17 11:55 mkubecek + M builds/install/arch-specific/aix/misc/aixLibrary.sh.in + M builds/install/arch-specific/freebsd/freebsdLibrary.sh.in +Fix bashism/typo in utility scripts. + + 2014-11-16 17:33 alexpeshkoff + M src/remote/client/interface.cpp +Avoid segfault in a case when port_context is reset for broken port + + 2014-11-16 17:00 alexpeshkoff + M src/common/classes/init.cpp +Avoid pool from being initialized second time during cleanup + + 2014-11-16 02:41 asfernandes + M doc/README.IPv6 + M src/common/isc_file.cpp + M src/remote/SockAddr.h + M src/remote/inet.cpp +Misc. + + 2014-11-14 14:54 hvlad + M src/remote/SockAddr.h + M src/remote/inet.cpp +Fixed compilation errors on Windows after IPv6 patches + + 2014-11-14 11:04 hvlad + M builds/win32/setenvvar.bat + A extern/libtommath/libtommath_MSVC12.sln + A extern/libtommath/libtommath_MSVC12.vcxproj + M src/common/os/win32/mod_loader.cpp +Support for MSVC12 (VS 2013) + + 2014-11-14 08:48 mkubecek + M configure.ac +fix libdir on 64-bit linux platforms (powerpc64(le), aarch64) + + 2014-11-14 08:24 alexpeshkoff + A doc/sql.extensions/README.set_role +Added doc + + 2014-11-14 07:58 mkubecek + M builds/install/arch-specific/linux/firebird.init.d.suse.in +minor fixes of SUSE init script + + 2014-11-14 07:57 mkubecek + M configure.ac +look for sem_open also in libpthread + + 2014-11-13 14:43 asfernandes + M src/dsql/parse.y +Add new keywords to keyword_or_column as seem by Dmitry. + + 2014-11-13 10:30 alexpeshkoff + M doc/README.interfaces.html + M doc/README.plugins.html + M doc/README.providers.html +Reflected API changes in beta1 + + 2014-11-12 17:49 mapopa + M src/jrd/inf_pub.h +add isc_info_db_impl_linux_ppc64 in inf_pub.h + + 2014-11-12 17:39 mapopa + A builds/posix/prefix.linux_powerpc64 +add prefix file linux_powerpc64 + + 2014-11-12 17:32 mkubecek + A doc/README.IPv6 +Improvement CORE-3226: IPv6 support (9/9) add README.IPv6 describing IPv6 related changes + + 2014-11-12 17:31 mkubecek + M builds/install/misc/firebird.conf.in + M src/common/config/config.cpp + M src/common/config/config.h + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (8/9) add config directive for IPV6_V6ONLY socket option + + 2014-11-12 17:30 mkubecek + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (7/9) remove unused functions + + 2014-11-12 17:29 mkubecek + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (6/9) implement IPv6 support for aux connection + + 2014-11-12 17:28 mkubecek + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (5/9) implement IPv6 support for main connection + + 2014-11-12 17:27 mkubecek + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (4/9) handle IPv6 addresses in utility functions + + 2014-11-12 17:27 mkubecek + A src/remote/SockAddr.h +Improvement CORE-3226: IPv6 support (3/9) socket address abstraction class + + 2014-11-12 17:24 mkubecek + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (2/9) do not pass pointer to peer address to accept() + + 2014-11-12 17:24 mkubecek + M src/common/isc_file.cpp + M src/remote/inet.cpp +Improvement CORE-3226: IPv6 support (1/9) allow square brackets around host in connection string + + 2014-11-12 17:13 mapopa + M configure.ac +add powerpc64 big endian configure check + + 2014-11-12 17:00 mapopa + M src/common/common.h +add PowerPc64 big endian + + 2014-11-12 16:55 mapopa + M src/common/classes/DbImplementation.cpp +Reserve implementation id for big endian ppc64 + + 2014-11-12 15:14 asfernandes + M src/jrd/extds/IscDS.cpp +Frontport fix for CORE-4604 - EXECUTE STATEMENT rise varchar char_length() size. + + 2014-11-12 15:10 mapopa + M configure.ac +Fix missing prefix file issue + + 2014-11-12 09:13 mapopa + M src/jrd/inf_pub.h +add isc_info_db_impl_linux_ppc64el in inf_pub.h + + 2014-11-12 07:44 dimitr + M doc/sql.extensions/README.keywords +Updated the docs. + 2014-11-11 16:52 mapopa A builds/posix/prefix.linux_powerpc64el add prefix file linux_powerpc64el Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-17 22:32:54 UTC (rev 60258) +++ firebird/trunk/src/jrd/build_no.h 2014-11-18 06:44:37 UTC (rev 60259) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31406 + FORMAL BUILD NUMBER:31439 */ -#define PRODUCT_VER_STRING "3.0.0.31406" -#define FILE_VER_STRING "WI-T3.0.0.31406" -#define LICENSE_VER_STRING "WI-T3.0.0.31406" -#define FILE_VER_NUMBER 3, 0, 0, 31406 +#define PRODUCT_VER_STRING "3.0.0.31439" +#define FILE_VER_STRING "WI-T3.0.0.31439" +#define LICENSE_VER_STRING "WI-T3.0.0.31439" +#define FILE_VER_NUMBER 3, 0, 0, 31439 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31406" +#define FB_BUILD_NO "31439" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-17 22:32:54 UTC (rev 60258) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-18 06:44:37 UTC (rev 60259) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31406 +BuildNum=31439 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-21 06:47:29
|
Revision: 60269 http://sourceforge.net/p/firebird/code/60269 Author: firebirds Date: 2014-11-21 06:47:19 +0000 (Fri, 21 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-20 22:56:36 UTC (rev 60268) +++ firebird/trunk/ChangeLog 2014-11-21 06:47:19 UTC (rev 60269) @@ -1,3 +1,11 @@ + 2014-11-20 21:16 mkubecek + M src/remote/inet.cpp +Fix MSVC build (it does not define EAI_ADDRFAMILY) + + 2014-11-20 09:41 mkubecek + M src/remote/inet.cpp +Fix server address resolution on systems with IPv6 support missing or disabled + 2014-11-17 22:32 hvlad A builds/win32/msvc12 A builds/win32/msvc12/DllNoEmbedManifest.props Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-20 22:56:36 UTC (rev 60268) +++ firebird/trunk/src/jrd/build_no.h 2014-11-21 06:47:19 UTC (rev 60269) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31439 + FORMAL BUILD NUMBER:31441 */ -#define PRODUCT_VER_STRING "3.0.0.31439" -#define FILE_VER_STRING "WI-T3.0.0.31439" -#define LICENSE_VER_STRING "WI-T3.0.0.31439" -#define FILE_VER_NUMBER 3, 0, 0, 31439 +#define PRODUCT_VER_STRING "3.0.0.31441" +#define FILE_VER_STRING "WI-T3.0.0.31441" +#define LICENSE_VER_STRING "WI-T3.0.0.31441" +#define FILE_VER_NUMBER 3, 0, 0, 31441 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31439" +#define FB_BUILD_NO "31441" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-20 22:56:36 UTC (rev 60268) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-21 06:47:19 UTC (rev 60269) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31439 +BuildNum=31441 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-22 07:35:32
|
Revision: 60276 http://sourceforge.net/p/firebird/code/60276 Author: firebirds Date: 2014-11-22 07:35:23 +0000 (Sat, 22 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-21 14:33:18 UTC (rev 60275) +++ firebird/trunk/ChangeLog 2014-11-22 07:35:23 UTC (rev 60276) @@ -1,3 +1,12 @@ + 2014-11-21 14:22 mapopa + M configure.ac +Pthread cflags already set + + 2014-11-21 12:23 hvlad + M src/jrd/dpm.epp +Small optimization by Dimitry Sibiryakov: +set ppg_min_space to the next really non-full slot when current ppg_min_space slot is marked as full. + 2014-11-20 21:16 mkubecek M src/remote/inet.cpp Fix MSVC build (it does not define EAI_ADDRFAMILY) Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-21 14:33:18 UTC (rev 60275) +++ firebird/trunk/src/jrd/build_no.h 2014-11-22 07:35:23 UTC (rev 60276) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31441 + FORMAL BUILD NUMBER:31443 */ -#define PRODUCT_VER_STRING "3.0.0.31441" -#define FILE_VER_STRING "WI-T3.0.0.31441" -#define LICENSE_VER_STRING "WI-T3.0.0.31441" -#define FILE_VER_NUMBER 3, 0, 0, 31441 +#define PRODUCT_VER_STRING "3.0.0.31443" +#define FILE_VER_STRING "WI-T3.0.0.31443" +#define LICENSE_VER_STRING "WI-T3.0.0.31443" +#define FILE_VER_NUMBER 3, 0, 0, 31443 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31441" +#define FB_BUILD_NO "31443" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-21 14:33:18 UTC (rev 60275) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-22 07:35:23 UTC (rev 60276) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31441 +BuildNum=31443 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-23 07:14:45
|
Revision: 60278 http://sourceforge.net/p/firebird/code/60278 Author: firebirds Date: 2014-11-23 07:14:41 +0000 (Sun, 23 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-22 10:42:54 UTC (rev 60277) +++ firebird/trunk/ChangeLog 2014-11-23 07:14:41 UTC (rev 60278) @@ -1,3 +1,11 @@ + 2014-11-22 10:42 hvlad + M src/common/os/os_utils.h + M src/common/os/posix/os_utils.cpp + M src/common/os/win32/os_utils.cpp + M src/remote/inet.cpp +Add check if IPv6 is supported by OS. +Windows implementation is complete, while POSIX implementation should be reviewed and fixed if necessary. + 2014-11-21 14:22 mapopa M configure.ac Pthread cflags already set Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-22 10:42:54 UTC (rev 60277) +++ firebird/trunk/src/jrd/build_no.h 2014-11-23 07:14:41 UTC (rev 60278) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31443 + FORMAL BUILD NUMBER:31444 */ -#define PRODUCT_VER_STRING "3.0.0.31443" -#define FILE_VER_STRING "WI-T3.0.0.31443" -#define LICENSE_VER_STRING "WI-T3.0.0.31443" -#define FILE_VER_NUMBER 3, 0, 0, 31443 +#define PRODUCT_VER_STRING "3.0.0.31444" +#define FILE_VER_STRING "WI-T3.0.0.31444" +#define LICENSE_VER_STRING "WI-T3.0.0.31444" +#define FILE_VER_NUMBER 3, 0, 0, 31444 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31443" +#define FB_BUILD_NO "31444" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-22 10:42:54 UTC (rev 60277) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-23 07:14:41 UTC (rev 60278) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31443 +BuildNum=31444 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-25 06:27:12
|
Revision: 60285 http://sourceforge.net/p/firebird/code/60285 Author: firebirds Date: 2014-11-25 06:27:08 +0000 (Tue, 25 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-24 16:01:32 UTC (rev 60284) +++ firebird/trunk/ChangeLog 2014-11-25 06:27:08 UTC (rev 60285) @@ -1,3 +1,7 @@ + 2014-11-24 16:01 mkubecek + M configure.ac +Fix libdir on s390x (S/390-64) Linux + 2014-11-22 10:42 hvlad M src/common/os/os_utils.h M src/common/os/posix/os_utils.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-24 16:01:32 UTC (rev 60284) +++ firebird/trunk/src/jrd/build_no.h 2014-11-25 06:27:08 UTC (rev 60285) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31444 + FORMAL BUILD NUMBER:31445 */ -#define PRODUCT_VER_STRING "3.0.0.31444" -#define FILE_VER_STRING "WI-T3.0.0.31444" -#define LICENSE_VER_STRING "WI-T3.0.0.31444" -#define FILE_VER_NUMBER 3, 0, 0, 31444 +#define PRODUCT_VER_STRING "3.0.0.31445" +#define FILE_VER_STRING "WI-T3.0.0.31445" +#define LICENSE_VER_STRING "WI-T3.0.0.31445" +#define FILE_VER_NUMBER 3, 0, 0, 31445 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31444" +#define FB_BUILD_NO "31445" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-24 16:01:32 UTC (rev 60284) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-25 06:27:08 UTC (rev 60285) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31444 +BuildNum=31445 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-11-25 13:24:14
|
Revision: 60291 http://sourceforge.net/p/firebird/code/60291 Author: alexpeshkoff Date: 2014-11-25 13:24:10 +0000 (Tue, 25 Nov 2014) Log Message: ----------- Implemented CORE-733: Compress Data over the Network Modified Paths: -------------- firebird/trunk/builds/install/misc/firebird.conf.in firebird/trunk/configure.ac firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/config/config.h firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/remote/inet.cpp firebird/trunk/src/remote/protocol.h firebird/trunk/src/remote/remot_proto.h firebird/trunk/src/remote/remote.cpp firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/server.cpp Modified: firebird/trunk/builds/install/misc/firebird.conf.in =================================================================== --- firebird/trunk/builds/install/misc/firebird.conf.in 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/builds/install/misc/firebird.conf.in 2014-11-25 13:24:10 UTC (rev 60291) @@ -565,6 +565,17 @@ #WireCrypt = Enabled (for client) / Required (for server) # +# Should connection over the wire be compressed? +# Client only value - server should follow client setting if connect using +# correct protocol (>=13). +# +# Per-connection configurable. +# +# Type: boolean +# +#WireCompression = false + +# # Seconds to wait on a silent client connection before the server sends # dummy packets to request acknowledgment. # Modified: firebird/trunk/configure.ac =================================================================== --- firebird/trunk/configure.ac 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/configure.ac 2014-11-25 13:24:10 UTC (rev 60291) @@ -723,6 +723,7 @@ AC_CHECK_HEADERS(iconv.h) AC_CHECK_HEADERS(libio.h) AC_CHECK_HEADERS(linux/falloc.h) +AC_CHECK_HEADERS(zlib.h) dnl check for ICU presence AC_CHECK_HEADER(unicode/ucnv.h,,AC_MSG_ERROR(ICU support not found - please install development ICU package)) @@ -739,6 +740,7 @@ dnl Check for libraries AC_SEARCH_LIBS(dlopen, dl) +AC_CHECK_LIB(z, deflate) AC_CHECK_LIB(m, main) if test "$EDITLINE_FLG" = "Y"; then AC_CHECK_LIB(curses, tgetent, TERMLIB=curses, \ Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/common/config/config.cpp 2014-11-25 13:24:10 UTC (rev 60291) @@ -198,7 +198,8 @@ {TYPE_STRING, "WireCryptPlugin", (ConfigValue) "Arc4"}, {TYPE_STRING, "KeyHolderPlugin", (ConfigValue) ""}, {TYPE_BOOLEAN, "RemoteAccess", (ConfigValue) true}, - {TYPE_BOOLEAN, "IPv6V6Only", (ConfigValue) false} + {TYPE_BOOLEAN, "IPv6V6Only", (ConfigValue) false}, + {TYPE_BOOLEAN, "WireCompression", (ConfigValue) false} }; /****************************************************************************** @@ -750,3 +751,8 @@ { return get<bool>(KEY_REMOTE_ACCESS); } + +bool Config::getWireCompression() const +{ + return get<bool>(KEY_WIRE_COMPRESSION); +} Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/common/config/config.h 2014-11-25 13:24:10 UTC (rev 60291) @@ -136,6 +136,7 @@ KEY_PLUG_KEY_HOLDER, KEY_REMOTE_ACCESS, KEY_IPV6_V6ONLY, + KEY_WIRE_COMPRESSION, MAX_CONFIG_KEY // keep it last }; @@ -333,6 +334,8 @@ int getWireCrypt(WireCryptMode wcMode) const; bool getRemoteAccess() const; + + bool getWireCompression() const; }; // Implementation of interface to access master configuration file Modified: firebird/trunk/src/remote/client/interface.cpp =================================================================== --- firebird/trunk/src/remote/client/interface.cpp 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/client/interface.cpp 2014-11-25 13:24:10 UTC (rev 60291) @@ -5952,6 +5952,7 @@ P_OP operation = op_void; { // scope RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION); + fb_assert(!port->port_compressed); stuff = port->receive(&packet); operation = packet.p_operation; @@ -6235,6 +6236,9 @@ HANDSHAKE_DEBUG(fprintf(stderr, "Cli: authReceiveResponse: cond_accept d=%d n=%d '%.*s' 0x%x\n", d->cstr_length, n->cstr_length, n->cstr_length, n->cstr_address, n->cstr_address ? n->cstr_address[0] : 0)); + if (packet->p_acpd.p_acpt_type & pflag_compress) + port->initCompression(); + packet->p_acpd.p_acpt_type &= ptype_MASK; break; case op_crypt: Modified: firebird/trunk/src/remote/inet.cpp =================================================================== --- firebird/trunk/src/remote/inet.cpp 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/inet.cpp 2014-11-25 13:24:10 UTC (rev 60291) @@ -218,9 +218,9 @@ } #endif // DEBUG -const SLONG MAX_DATA_LW = 1448; // Low Water mark -const SLONG MAX_DATA_HW = 32768; // High Water mark -const SLONG DEF_MAX_DATA = 8192; +const ULONG MAX_DATA_LW = 1448; // Low Water mark +const ULONG MAX_DATA_HW = 32768; // High Water mark +const ULONG DEF_MAX_DATA = 8192; //const int MAXHOSTLEN = 64; @@ -281,6 +281,10 @@ HandleState ok(const rem_port* port) { +#ifdef WIRE_COMPRESS_SUPPORT + if (port->port_flags & PORT_z_data) + return SEL_READY; +#endif SOCKET n = port->port_handle; #if defined(WIN_NT) return FD_ISSET(n, &slct_fdset) ? SEL_READY : SEL_NO_DATA; @@ -440,7 +444,7 @@ static bool_t inet_getbytes(XDR*, SCHAR *, u_int); static void inet_error(bool, rem_port*, const TEXT*, ISC_STATUS, int); static bool_t inet_putbytes(XDR*, const SCHAR*, u_int); -static bool_t inet_read(XDR*); +static bool inet_read(XDR*); static rem_port* inet_try_connect( PACKET*, Rdb*, const PathName&, @@ -448,7 +452,7 @@ ClumpletReader&, RefPtr<Config>*, const PathName*); -static bool_t inet_write(XDR*); //, int); +static bool inet_write(XDR*); static void INET_server_socket(rem_port* port, USHORT flag, const addrinfo* pai); #ifdef DEBUG @@ -456,6 +460,7 @@ #endif static bool packet_receive(rem_port*, UCHAR*, SSHORT, SSHORT*); +static bool packet_receive2(rem_port*, UCHAR*, SSHORT, SSHORT*); static bool packet_send(rem_port*, const SCHAR*, SSHORT); static rem_port* receive(rem_port*, PACKET *); static rem_port* select_accept(rem_port*); @@ -506,7 +511,7 @@ -SLONG INET_remote_buffer; +ULONG INET_remote_buffer; static GlobalPtr<Mutex> init_mutex; static volatile bool INET_initialized = false; static volatile bool INET_shutting_down = false; @@ -585,6 +590,10 @@ user_id.insertBytes(CNCT_group, reinterpret_cast<UCHAR*>(&eff_gid), sizeof(eff_gid)); } + // Should compression be tried? + + bool compression = config && (*config)->getWireCompression(); + // Establish connection to server // If we want user verification, we can't speak anything less than version 7 @@ -605,10 +614,10 @@ for (size_t i = 0; i < cnct->p_cnct_count; i++) { cnct->p_cnct_versions[i] = protocols_to_try[i]; + if (compression && cnct->p_cnct_versions[i].p_cnct_version >= PROTOCOL_VERSION13) + cnct->p_cnct_versions[i].p_cnct_max_type |= pflag_compress; } - // Try connection using first set of protocols - rem_port* port = inet_try_connect(packet, rdb, file_name, node_name, dpb, config, ref_db_name); P_ACPT* accept = NULL; @@ -671,6 +680,9 @@ port->port_flags |= PORT_symmetric; } + bool compress = accept->p_acpt_type & pflag_compress; + accept->p_acpt_type &= ptype_MASK; + if (accept->p_acpt_type != ptype_out_of_band) { port->port_flags |= PORT_no_oob; } @@ -679,6 +691,9 @@ port->port_flags |= PORT_lazy; } + if (compress) + port->initCompression(); + return port; } @@ -1275,14 +1290,14 @@ port->port_request = aux_request; port->port_buff_size = (USHORT) INET_remote_buffer; port->port_async_receive = inet_async_receive; - port->port_flags = flags; + port->port_flags |= flags; - xdrinet_create( &port->port_send, port, - &port->port_buffer[INET_remote_buffer], - (USHORT) INET_remote_buffer, - XDR_ENCODE); + xdrinet_create(&port->port_send, port, + &port->port_buffer[REM_SEND_OFFSET(INET_remote_buffer)], + (USHORT) INET_remote_buffer, XDR_ENCODE); - xdrinet_create( &port->port_receive, port, port->port_buffer, 0, XDR_DECODE); + xdrinet_create(&port->port_receive, port, + &port->port_buffer[REM_RECV_OFFSET(INET_remote_buffer)], 0, XDR_DECODE); if (parent && !(parent->port_server_flags & SRVR_thread_per_port)) { @@ -1894,7 +1909,7 @@ } else if (port = select_accept(main_port)) { - if (!packet_receive(port, buffer, bufsize, length)) + if (!REMOTE_inflate(port, packet_receive, buffer, bufsize, length)) { *length = 0; } @@ -1914,7 +1929,7 @@ return true; } - if (!packet_receive(port, buffer, bufsize, length)) + if (!REMOTE_inflate(port, packet_receive, buffer, bufsize, length)) { if (port->port_flags & PORT_disconnect) { continue; @@ -2191,7 +2206,7 @@ port->port_send.x_client = !(port->port_flags & PORT_server); #endif if (!xdr_protocol(&port->port_send, packet)) - return FALSE; + return false; #ifdef DEBUG { // scope @@ -2206,7 +2221,7 @@ } // end scope #endif - return inet_write(&port->port_send /*, TRUE*/); + return REMOTE_deflate(&port->port_send, inet_write, packet_send, true); } static int send_partial( rem_port* port, PACKET * packet) @@ -2262,7 +2277,7 @@ xdrs->x_ops = (xdr_t::xdr_ops*) &inet_ops; xdrs->x_op = x_op; - return TRUE; + return true; } #ifdef HAVE_SETITIMER @@ -2447,8 +2462,10 @@ xdrs->x_handy = 0; } - if (!inet_write(xdrs /*, 0*/)) + if (!REMOTE_deflate(xdrs, inet_write, packet_send, false)) + { return FALSE; + } } // Scalar values and bulk transfer remainder fall thru @@ -2468,7 +2485,7 @@ while (--bytecount >= 0) { - if (xdrs->x_handy <= 0 && !inet_write(xdrs /*, 0*/)) + if (xdrs->x_handy <= 0 && !REMOTE_deflate(xdrs, inet_write, packet_send, false)) return FALSE; --xdrs->x_handy; *xdrs->x_private++ = *buff++; @@ -2477,7 +2494,7 @@ return TRUE; } -static bool_t inet_read( XDR* xdrs) +static bool inet_read( XDR* xdrs) { /************************************** * @@ -2504,27 +2521,40 @@ p += xdrs->x_handy; } + SSHORT length = end - p; + port->port_flags &= ~PORT_z_data; + if (!REMOTE_inflate(port, packet_receive2, (UCHAR*)p, length, &length)) + return false; + p += length; + + xdrs->x_handy = (int) ((SCHAR *) p - xdrs->x_base); + xdrs->x_private = xdrs->x_base; + + return true; +} + +static bool packet_receive2(rem_port* port, UCHAR* p, SSHORT bufSize, SSHORT* length) +{ + *length = 0; + while (true) { - SSHORT length = end - p; - if (!packet_receive(port, reinterpret_cast<UCHAR*>(p), length, &length)) + SSHORT l = bufSize - *length; + if (!packet_receive(port, p + *length, l, &l)) + return false; + + if (l >= 0) { - return FALSE; - } - if (length >= 0) - { - p += length; + *length += l; break; } - p -= length; + + *length -= l; if (!packet_send(port, 0, 0)) - return FALSE; + return false; } - xdrs->x_handy = (int) ((SCHAR *) p - xdrs->x_base); - xdrs->x_private = xdrs->x_base; - - return TRUE; + return true; } static rem_port* inet_try_connect(PACKET* packet, @@ -2565,7 +2595,7 @@ rem_port* port = NULL; try { - port = INET_connect(node_name, packet, FALSE, &dpb, config); + port = INET_connect(node_name, packet, false, &dpb, config); } catch (const Exception&) { @@ -2587,7 +2617,7 @@ return port; } -static bool_t inet_write(XDR* xdrs) +static bool inet_write(XDR* xdrs) { /************************************** * @@ -2603,7 +2633,7 @@ rem_port* port = (rem_port*) xdrs->x_public; const char* p = xdrs->x_base; - SSHORT length = xdrs->x_private - p; + USHORT length = xdrs->x_private - p; // Send data in manageable hunks. If a packet is partial, indicate // that with a negative length. A positive length marks the end. @@ -2613,14 +2643,14 @@ const SSHORT l = (SSHORT) MIN(length, INET_remote_buffer); length -= l; if (!packet_send(port, p, (SSHORT) (length ? -l : l))) - return FALSE; + return false; p += l; } xdrs->x_private = xdrs->x_base; xdrs->x_handy = INET_remote_buffer; - return TRUE; + return true; } Modified: firebird/trunk/src/remote/protocol.h =================================================================== --- firebird/trunk/src/remote/protocol.h 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/protocol.h 2014-11-25 13:24:10 UTC (rev 60291) @@ -105,6 +105,10 @@ const USHORT ptype_batch_send = 3; // Batch sends, no asynchrony const USHORT ptype_out_of_band = 4; // Batch sends w/ out of band notification const USHORT ptype_lazy_send = 5; // Deferred packets delivery +const USHORT ptype_MASK = 0xFF; // Mask - up to 255 types of protocol +// +// upper byte is used for protocol flags +const USHORT pflag_compress = 0x100; // Turn on compression if possible // Generic object id Modified: firebird/trunk/src/remote/remot_proto.h =================================================================== --- firebird/trunk/src/remote/remot_proto.h 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/remot_proto.h 2014-11-25 13:24:10 UTC (rev 60291) @@ -44,6 +44,9 @@ struct rem_port; struct rem_fmt; struct Rdb; +typedef bool PacketReceive(rem_port*, UCHAR*, SSHORT, SSHORT*); +typedef bool PacketSend(rem_port*, const SCHAR*, SSHORT); +typedef bool ProtoWrite(XDR*); void REMOTE_cleanup_transaction (struct Rtr *); USHORT REMOTE_compute_batch_size (rem_port*, USHORT, P_OP, const rem_fmt*); @@ -63,6 +66,8 @@ void REMOTE_parseList(Remote::ParsedList&, Firebird::PathName); void REMOTE_makeList(Firebird::PathName& list, const Remote::ParsedList& parsed); void REMOTE_check_response(Firebird::IStatus* warning, Rdb* rdb, PACKET* packet, bool checkKeys = false); +bool REMOTE_inflate(rem_port*, PacketReceive*, UCHAR*, SSHORT, SSHORT*); +bool REMOTE_deflate(XDR*, ProtoWrite*, PacketSend*, bool flash); extern signed char wcCompatible[3][3]; Modified: firebird/trunk/src/remote/remote.cpp =================================================================== --- firebird/trunk/src/remote/remote.cpp 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/remote.cpp 2014-11-25 13:24:10 UTC (rev 60291) @@ -994,7 +994,7 @@ addMutliPartConnectParameter(dataFromPlugin, user_id, CNCT_specific_data); // Client's wirecrypt requested level - user_id.insertInt(CNCT_client_crypt, config->getWireCrypt(WC_CLIENT)); + user_id.insertInt(CNCT_client_crypt, clntConfig->getWireCrypt(WC_CLIENT)); } void ClntAuthBlock::resetClnt(const Firebird::PathName* fileName, const CSTRING* listStr) @@ -1020,8 +1020,8 @@ dataFromPlugin.clear(); firstTime = true; - config = REMOTE_get_config(fileName, &dpbConfig); - pluginList = config->getPlugins(Firebird::IPluginManager::AuthClient); + clntConfig = REMOTE_get_config(fileName, &dpbConfig); + pluginList = clntConfig->getPlugins(Firebird::IPluginManager::AuthClient); Firebird::PathName final; if (serverPluginList.hasData()) @@ -1064,7 +1064,7 @@ Firebird::RefPtr<Config>* ClntAuthBlock::getConfig() { - return config.hasData() ? &config : NULL; + return clntConfig.hasData() ? &clntConfig : NULL; } void ClntAuthBlock::storeDataForPlugin(unsigned int length, const unsigned char* data) @@ -1391,6 +1391,191 @@ } +bool REMOTE_inflate(rem_port* port, PacketReceive* packet_receive, UCHAR* buffer, SSHORT buffer_length, SSHORT* length) +{ +#ifdef WIRE_COMPRESS_SUPPORT + if (!port->port_compressed) + return packet_receive(port, buffer, buffer_length, length); + + z_stream& strm = port->port_recv_stream; + strm.avail_out = buffer_length; + strm.next_out = buffer; + + for(;;) + { + if (strm.avail_in) + { +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Data to inflate %d port %p\n", strm.avail_in, port); +#if COMPRESS_DEBUG>1 + for (unsigned n = 0; n < strm.avail_in; ++n) fprintf(stderr, "%02x ", strm.next_in[n]); + fprintf(stderr, "\n"); +#endif +#endif + + if (inflate(&strm, Z_NO_FLUSH) != Z_OK) + { +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Inflate error\n"); +#endif + (void)inflateEnd(&strm); + port->port_flags &= ~PORT_z_data; + return false; + } +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Inflated data %d\n", buffer_length - strm.avail_out); +#if COMPRESS_DEBUG>1 + for (unsigned n = 0; n < buffer_length - strm.avail_out; ++n) fprintf(stderr, "%02x ", buffer[n]); + fprintf(stderr, "\n"); +#endif +#endif + if (strm.next_out != buffer) + break; + + if (port->port_flags & PORT_z_data) // Was called from select_multi() but nothing decompressed + { + port->port_flags &= ~PORT_z_data; + return false; + } + + if (strm.next_in != &port->port_compressed[REM_RECV_OFFSET(port->port_buff_size)]) + { + memmove(&port->port_compressed[REM_RECV_OFFSET(port->port_buff_size)], strm.next_in, strm.avail_in); + strm.next_in = &port->port_compressed[REM_RECV_OFFSET(port->port_buff_size)]; + } + } + else + strm.next_in = &port->port_compressed[REM_RECV_OFFSET(port->port_buff_size)]; + + SSHORT l = (SSHORT) (port->port_buff_size - strm.avail_in); + if ((!packet_receive(port, strm.next_in, l, &l)) || (l <= 0)) // fixit - 2 ways to report errors in same routine + { + (void)inflateEnd(&strm); + port->port_flags &= ~PORT_z_data; + return false; + } + + strm.avail_in += l; + } + + *length = (SSHORT) (buffer_length - strm.avail_out); + if (strm.avail_in) // Z-buffer still has some data - probably can call inflate() once more on them + port->port_flags |= PORT_z_data; + else + port->port_flags &= ~PORT_z_data; + + return true; +#else + return packet_receive(port, buffer, buffer_length, length); +#endif +} + + +bool REMOTE_deflate(XDR* xdrs, ProtoWrite* proto_write, PacketSend* packet_send, bool flash) +{ +#ifdef WIRE_COMPRESS_SUPPORT + rem_port* port = (rem_port*) xdrs->x_public; + if (!port->port_compressed) + return proto_write(xdrs); + + z_stream& strm = port->port_send_stream; + strm.avail_in = xdrs->x_private - xdrs->x_base; + strm.next_in = (Bytef*)xdrs->x_base; + + if (!strm.next_out) + { + strm.avail_out = port->port_buff_size; + strm.next_out = (Bytef*)&port->port_compressed[REM_SEND_OFFSET(port->port_buff_size)]; + } + + bool expectMoreOut = flash; + + while(strm.avail_in || expectMoreOut) + { +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Data to deflate %d port %p\n", strm.avail_in, port); +#if COMPRESS_DEBUG>1 + for (unsigned n = 0; n < strm.avail_in; ++n) fprintf(stderr, "%02x ", strm.next_in[n]); + fprintf(stderr, "\n"); +#endif +#endif + int ret = deflate(&strm, flash ? Z_SYNC_FLUSH : Z_NO_FLUSH); + if (ret == Z_BUF_ERROR) + ret = 0; + if (ret != 0) + { +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Deflate error %d\n", ret); +#endif + return false; + } + +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Deflated data %d\n", port->port_buff_size - strm.avail_out); +#if COMPRESS_DEBUG>1 + for (unsigned n = 0; n < port->port_buff_size - strm.avail_out; ++n) + fprintf(stderr, "%02x ", port->port_compressed[REM_SEND_OFFSET(port->port_buff_size) + n]); + fprintf(stderr, "\n"); +#endif +#endif + + expectMoreOut = !strm.avail_out; + if ((port->port_buff_size != strm.avail_out) && (flash || !strm.avail_out)) + { + if (!packet_send(port, (SCHAR*) &port->port_compressed[REM_SEND_OFFSET(port->port_buff_size)], + (SSHORT) (port->port_buff_size - strm.avail_out))) + { + return false; + } + + strm.avail_out = port->port_buff_size; + strm.next_out = (Bytef*)&port->port_compressed[REM_SEND_OFFSET(port->port_buff_size)]; + } + } + + xdrs->x_private = xdrs->x_base; + xdrs->x_handy = port->port_buff_size; + + return true; +#else + return proto_write(xdrs); +#endif +} + + +void rem_port::initCompression() +{ +#ifdef WIRE_COMPRESS_SUPPORT + if (port_protocol >= PROTOCOL_VERSION13 && !port_compressed) + { + port_send_stream.zalloc = Z_NULL; + port_send_stream.zfree = Z_NULL; + port_send_stream.opaque = Z_NULL; + int ret = deflateInit(&port_send_stream, Z_DEFAULT_COMPRESSION); + if (ret != Z_OK) + (Firebird::Arg::Gds(isc_random) << "compression stream init error").raise(); // add error code + port_send_stream.next_out = NULL; + + port_recv_stream.zalloc = Z_NULL; + port_recv_stream.zfree = Z_NULL; + port_recv_stream.opaque = Z_NULL; + port_recv_stream.avail_in = 0; + port_recv_stream.next_in = Z_NULL; + ret = inflateInit(&port_recv_stream); + if (ret != Z_OK) + (Firebird::Arg::Gds(isc_random) << "decompression stream init error").raise(); // add error code + + port_compressed.reset(FB_NEW(getPool()) UCHAR[port_buff_size * 2]); + memset(port_compressed, 0, port_buff_size * 2); + port_recv_stream.next_in = &port_compressed[REM_RECV_OFFSET(port_buff_size)]; +#ifdef COMPRESS_DEBUG + fprintf(stderr, "Completed init port %p\n", this); +#endif + } +#endif +} + + signed char wcCompatible[3][3] = { /* DISABLED ENABLED REQUIRED */ /* DISABLED */ {0, 0, -1}, Modified: firebird/trunk/src/remote/remote.h =================================================================== --- firebird/trunk/src/remote/remote.h 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/remote.h 2014-11-25 13:24:10 UTC (rev 60291) @@ -55,7 +55,18 @@ #endif #endif // !WIN_NT +#if defined(HAVE_ZLIB_H) && defined(HAVE_LIBZ) +#define WIRE_COMPRESS_SUPPORT 1 +#endif +#ifdef WIRE_COMPRESS_SUPPORT +#include <zlib.h> +//#define COMPRESS_DEBUG 1 +#endif // WIRE_COMPRESS_SUPPORT + +#define REM_SEND_OFFSET(bs) (0) +#define REM_RECV_OFFSET(bs) (bs) + // Uncomment this line if you need to trace module activity //#define REMOTE_DEBUG @@ -666,7 +677,7 @@ Firebird::UCharBuffer dataForPlugin, dataFromPlugin; Firebird::HalfStaticArray<InternalCryptKey*, 1> cryptKeys; // Wire crypt keys that came from plugin(s) last time Firebird::string dpbConfig; // Used to recreate config with new filename - Firebird::RefPtr<Config> config; // Used to get plugins list and pass to port + Firebird::RefPtr<Config> clntConfig; // Used to get plugins list and pass to port unsigned nextKey; // First key to be analyzed bool hasCryptKey; // DPB contains disk crypt key, may be passed only over encrypted wire @@ -811,6 +822,7 @@ const USHORT PORT_detached = 0x0100; // op_detach, op_drop_database or op_service_detach was processed const USHORT PORT_rdb_shutdown = 0x0200; // Database is shut down const USHORT PORT_connecting = 0x0400; // Aux connection waits for a channel to be activated by client +const USHORT PORT_z_data = 0x0800; // Zlib incoming buffer has data left after decompression // Port itself @@ -860,7 +872,7 @@ struct srvr* port_server; // server of port USHORT port_server_flags; // TRUE if server USHORT port_protocol; // protocol version number - USHORT port_buff_size; // port buffer size (approx) + USHORT port_buff_size; // port buffer size USHORT port_flags; // Misc flags SLONG port_connect_timeout; // Connection timeout value SLONG port_dummy_packet_interval; // keep alive dummy packet interval @@ -922,6 +934,11 @@ FB_UINT64 port_snd_bytes; FB_UINT64 port_rcv_bytes; +#ifdef WIRE_COMPRESS_SUPPORT + z_stream port_send_stream, port_recv_stream; + UCharArrayAutoPtr port_compressed; +#endif + public: rem_port(rem_port_t t, size_t rpt) : port_sync(FB_NEW(getPool()) Firebird::RefMutex()), @@ -931,7 +948,7 @@ port_send_partial(0), port_connect(0), port_request(0), port_select_multi(0), port_type(t), port_state(PENDING), port_clients(0), port_next(0), port_parent(0), port_async(0), port_async_receive(0), - port_server(0), port_server_flags(0), port_protocol(0), port_buff_size(0), + port_server(0), port_server_flags(0), port_protocol(0), port_buff_size(rpt / 2), port_flags(0), port_connect_timeout(0), port_dummy_packet_interval(0), port_dummy_timeout(0), port_handle(INVALID_SOCKET), port_channel(INVALID_SOCKET), port_context(0), port_events_thread(0), port_events_shutdown(0), @@ -964,10 +981,11 @@ #endif } -private: // this is refCounted object - ~rem_port(); +private: + ~rem_port(); // this is refCounted object - private dtor is OK public: + void initCompression(); void linkParent(rem_port* const parent); void unlinkParent(); const Firebird::RefPtr<Config>& getPortConfig() const; Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2014-11-25 07:47:24 UTC (rev 60290) +++ firebird/trunk/src/remote/server/server.cpp 2014-11-25 13:24:10 UTC (rev 60291) @@ -501,6 +501,8 @@ } authPort->send(send); + if (send->p_acpt.p_acpt_type & pflag_compress) + authPort->initCompression(); memset(&send->p_auth_cont, 0, sizeof send->p_auth_cont); return false; @@ -719,6 +721,7 @@ } RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION); + fb_assert(!port->port_compressed); PACKET packet; packet.p_operation = op_event; @@ -1663,6 +1666,7 @@ P_ARCH architecture = arch_generic; USHORT version = 0; USHORT type = 0; + bool compress = false; bool accepted = false; USHORT weight = 0; const p_cnct::p_cnct_repeat* protocol = connect->p_cnct_versions; @@ -1682,7 +1686,8 @@ weight = protocol->p_cnct_weight; version = protocol->p_cnct_version; architecture = protocol->p_cnct_architecture; - type = MIN(protocol->p_cnct_max_type, ptype_lazy_send); + type = MIN(protocol->p_cnct_max_type & ptype_MASK, ptype_lazy_send); + compress = protocol->p_cnct_max_type & pflag_compress; } } @@ -1691,12 +1696,12 @@ send->p_acpd.p_acpt_version = port->port_protocol = version; send->p_acpd.p_acpt_architecture = architecture; - send->p_acpd.p_acpt_type = type; + send->p_acpd.p_acpt_type = type | (compress ? pflag_compress : 0); send->p_acpd.p_acpt_authenticated = 0; send->p_acpt.p_acpt_version = port->port_protocol = version; send->p_acpt.p_acpt_architecture = architecture; - send->p_acpt.p_acpt_type = type; + send->p_acpt.p_acpt_type = type | (compress ? pflag_compress : 0); // modify the version string to reflect the chosen protocol string buffer; @@ -1864,6 +1869,8 @@ send->p_operation = returnData ? op_accept_data : op_accept; port->send(send); + if (send->p_acpt.p_acpt_type & pflag_compress) + port->initCompression(); return true; } @@ -1889,6 +1896,8 @@ authPort->port_srv_auth_block->extractNewKeys(s); send->p_acpd.p_acpt_authenticated = 1; authPort->send(send); + if (send->p_acpt.p_acpt_type & pflag_compress) + authPort->initCompression(); } } @@ -2144,8 +2153,6 @@ authBlock->store(pb, isc_dpb_auth_block); - send->p_operation = op_accept; - for (pb->rewind(); !pb->isEof();) { switch (pb->getClumpTag()) @@ -5252,8 +5259,6 @@ * Connect to a Firebird service. * **************************************/ - sendL->p_operation = op_accept; - // Now insert additional clumplets into spb addClumplets(spb, spbParam, this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-26 06:22:28
|
Revision: 60293 http://sourceforge.net/p/firebird/code/60293 Author: firebirds Date: 2014-11-26 06:22:19 +0000 (Wed, 26 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-25 15:02:45 UTC (rev 60292) +++ firebird/trunk/ChangeLog 2014-11-26 06:22:19 UTC (rev 60293) @@ -1,3 +1,21 @@ + 2014-11-25 15:02 asfernandes + M src/dsql/ddl.cpp +Fixed CORE-4623 - SP "Domain" and "Type Of" based variables referring BLOB with sub_type < 0 no longer work. + + 2014-11-25 13:24 alexpeshkoff + M builds/install/misc/firebird.conf.in + M configure.ac + M src/common/config/config.cpp + M src/common/config/config.h + M src/remote/client/interface.cpp + M src/remote/inet.cpp + M src/remote/protocol.h + M src/remote/remot_proto.h + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp +Implemented CORE-733: Compress Data over the Network + 2014-11-24 16:01 mkubecek M configure.ac Fix libdir on s390x (S/390-64) Linux Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-25 15:02:45 UTC (rev 60292) +++ firebird/trunk/src/jrd/build_no.h 2014-11-26 06:22:19 UTC (rev 60293) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31445 + FORMAL BUILD NUMBER:31447 */ -#define PRODUCT_VER_STRING "3.0.0.31445" -#define FILE_VER_STRING "WI-T3.0.0.31445" -#define LICENSE_VER_STRING "WI-T3.0.0.31445" -#define FILE_VER_NUMBER 3, 0, 0, 31445 +#define PRODUCT_VER_STRING "3.0.0.31447" +#define FILE_VER_STRING "WI-T3.0.0.31447" +#define LICENSE_VER_STRING "WI-T3.0.0.31447" +#define FILE_VER_NUMBER 3, 0, 0, 31447 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31445" +#define FB_BUILD_NO "31447" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-25 15:02:45 UTC (rev 60292) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-26 06:22:19 UTC (rev 60293) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31445 +BuildNum=31447 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2014-11-26 09:45:46
|
Revision: 60294 http://sourceforge.net/p/firebird/code/60294 Author: hvlad Date: 2014-11-26 09:45:42 +0000 (Wed, 26 Nov 2014) Log Message: ----------- Move ConfigRoot from common to the yvalve. Add its methods to the public interface ConfigManager. Now all plug-ins have the same root\install folders. It should fix CORE-4581 and related issues. MSVC10 and MSVC12 builds are updated, Posix and Darwin builds will follow. Modified Paths: -------------- firebird/trunk/builds/win32/msvc10/common.vcxproj firebird/trunk/builds/win32/msvc10/common.vcxproj.filters firebird/trunk/builds/win32/msvc10/yvalve.vcxproj firebird/trunk/builds/win32/msvc10/yvalve.vcxproj.filters firebird/trunk/builds/win32/msvc12/common.vcxproj firebird/trunk/builds/win32/msvc12/common.vcxproj.filters firebird/trunk/builds/win32/msvc12/yvalve.vcxproj firebird/trunk/builds/win32/msvc12/yvalve.vcxproj.filters firebird/trunk/src/common/config/config.cpp firebird/trunk/src/include/firebird/FirebirdInterface.idl firebird/trunk/src/include/firebird/IdlFbInterfaces.h firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp firebird/trunk/src/jrd/trace/TraceObjects.cpp firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp firebird/trunk/src/yvalve/config/os/posix/config_root.cpp firebird/trunk/src/yvalve/config/os/win32/config_root.cpp Added Paths: ----------- firebird/trunk/src/yvalve/config/ firebird/trunk/src/yvalve/config/os/ Removed Paths: ------------- firebird/trunk/src/common/config/os/ Modified: firebird/trunk/builds/win32/msvc10/common.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/common.vcxproj 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc10/common.vcxproj 2014-11-26 09:45:42 UTC (rev 60294) @@ -49,7 +49,6 @@ <ClCompile Include="..\..\..\src\common\config\ConfigCache.cpp" /> <ClCompile Include="..\..\..\src\common\config\config_file.cpp" /> <ClCompile Include="..\..\..\src\common\config\dir_list.cpp" /> - <ClCompile Include="..\..\..\src\common\config\os\win32\config_root.cpp" /> <ClCompile Include="..\..\..\src\common\cvt.cpp" /> <ClCompile Include="..\..\..\src\common\db_alias.cpp" /> <ClCompile Include="..\..\..\src\common\dllinst.cpp" /> @@ -143,7 +142,6 @@ <ClInclude Include="..\..\..\src\common\config\ConfigCache.h" /> <ClInclude Include="..\..\..\src\common\config\config_file.h" /> <ClInclude Include="..\..\..\src\common\config\dir_list.h" /> - <ClInclude Include="..\..\..\src\common\config\os\config_root.h" /> <ClInclude Include="..\..\..\src\common\CsConvert.h" /> <ClInclude Include="..\..\..\src\common\cvt.h" /> <ClInclude Include="..\..\..\src\common\db_alias.h" /> Modified: firebird/trunk/builds/win32/msvc10/common.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/common.vcxproj.filters 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc10/common.vcxproj.filters 2014-11-26 09:45:42 UTC (rev 60294) @@ -153,9 +153,6 @@ <ClCompile Include="..\..\..\src\common\config\dir_list.cpp"> <Filter>config</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\common\config\os\win32\config_root.cpp"> - <Filter>config</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\common\os\win32\fbsyslog.cpp"> <Filter>common</Filter> </ClCompile> @@ -452,9 +449,6 @@ <ClInclude Include="..\..\..\src\common\config\dir_list.h"> <Filter>headers</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\common\config\os\config_root.h"> - <Filter>headers</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\common\os\divorce.h"> <Filter>headers</Filter> </ClInclude> Modified: firebird/trunk/builds/win32/msvc10/yvalve.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/yvalve.vcxproj 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc10/yvalve.vcxproj 2014-11-26 09:45:42 UTC (rev 60294) @@ -28,6 +28,7 @@ <ClCompile Include="..\..\..\src\remote\client\BlrFromMessage.cpp" /> <ClCompile Include="..\..\..\src\remote\client\interface.cpp" /> <ClCompile Include="..\..\..\src\yvalve\alt.cpp" /> + <ClCompile Include="..\..\..\src\yvalve\config\os\win32\config_root.cpp" /> <ClCompile Include="..\..\..\src\yvalve\DistributedTransaction.cpp" /> <ClCompile Include="..\..\..\src\yvalve\gds.cpp" /> <ClCompile Include="..\..\..\src\yvalve\keywords.cpp" /> Modified: firebird/trunk/builds/win32/msvc10/yvalve.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/yvalve.vcxproj.filters 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc10/yvalve.vcxproj.filters 2014-11-26 09:45:42 UTC (rev 60294) @@ -81,6 +81,9 @@ <ClCompile Include="..\..\..\src\remote\client\BlrFromMessage.cpp"> <Filter>Remote client</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\yvalve\config\os\win32\config_root.cpp"> + <Filter>source</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\src\yvalve\why_proto.h"> Modified: firebird/trunk/builds/win32/msvc12/common.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc12/common.vcxproj 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc12/common.vcxproj 2014-11-26 09:45:42 UTC (rev 60294) @@ -49,7 +49,6 @@ <ClCompile Include="..\..\..\src\common\config\ConfigCache.cpp" /> <ClCompile Include="..\..\..\src\common\config\config_file.cpp" /> <ClCompile Include="..\..\..\src\common\config\dir_list.cpp" /> - <ClCompile Include="..\..\..\src\common\config\os\win32\config_root.cpp" /> <ClCompile Include="..\..\..\src\common\cvt.cpp" /> <ClCompile Include="..\..\..\src\common\db_alias.cpp" /> <ClCompile Include="..\..\..\src\common\dllinst.cpp" /> @@ -143,7 +142,6 @@ <ClInclude Include="..\..\..\src\common\config\ConfigCache.h" /> <ClInclude Include="..\..\..\src\common\config\config_file.h" /> <ClInclude Include="..\..\..\src\common\config\dir_list.h" /> - <ClInclude Include="..\..\..\src\common\config\os\config_root.h" /> <ClInclude Include="..\..\..\src\common\CsConvert.h" /> <ClInclude Include="..\..\..\src\common\cvt.h" /> <ClInclude Include="..\..\..\src\common\db_alias.h" /> Modified: firebird/trunk/builds/win32/msvc12/common.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc12/common.vcxproj.filters 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc12/common.vcxproj.filters 2014-11-26 09:45:42 UTC (rev 60294) @@ -153,9 +153,6 @@ <ClCompile Include="..\..\..\src\common\config\dir_list.cpp"> <Filter>config</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\common\config\os\win32\config_root.cpp"> - <Filter>config</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\common\os\win32\fbsyslog.cpp"> <Filter>common</Filter> </ClCompile> @@ -452,9 +449,6 @@ <ClInclude Include="..\..\..\src\common\config\dir_list.h"> <Filter>headers</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\common\config\os\config_root.h"> - <Filter>headers</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\common\os\divorce.h"> <Filter>headers</Filter> </ClInclude> Modified: firebird/trunk/builds/win32/msvc12/yvalve.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc12/yvalve.vcxproj 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc12/yvalve.vcxproj 2014-11-26 09:45:42 UTC (rev 60294) @@ -28,6 +28,7 @@ <ClCompile Include="..\..\..\src\remote\client\BlrFromMessage.cpp" /> <ClCompile Include="..\..\..\src\remote\client\interface.cpp" /> <ClCompile Include="..\..\..\src\yvalve\alt.cpp" /> + <ClCompile Include="..\..\..\src\yvalve\config\os\win32\config_root.cpp" /> <ClCompile Include="..\..\..\src\yvalve\DistributedTransaction.cpp" /> <ClCompile Include="..\..\..\src\yvalve\gds.cpp" /> <ClCompile Include="..\..\..\src\yvalve\keywords.cpp" /> Modified: firebird/trunk/builds/win32/msvc12/yvalve.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc12/yvalve.vcxproj.filters 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/builds/win32/msvc12/yvalve.vcxproj.filters 2014-11-26 09:45:42 UTC (rev 60294) @@ -81,6 +81,9 @@ <ClCompile Include="..\..\..\src\remote\client\BlrFromMessage.cpp"> <Filter>Remote client</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\yvalve\config\os\win32\config_root.cpp"> + <Filter>source</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\src\yvalve\why_proto.h"> Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/common/config/config.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -24,10 +24,10 @@ #include "../common/config/config.h" #include "../common/config/config_file.h" -#include "../common/config/os/config_root.h" #include "../common/classes/init.h" #include "../common/dllinst.h" #include "../common/os/fbsyslog.h" +#include "../common/utils_proto.h" #include "../jrd/constants.h" #include "firebird/Interface.h" @@ -106,13 +106,6 @@ Firebird::InitInstance<ConfigImpl> firebirdConf; -/****************************************************************************** - * - * Static instance of the root and install directories detector - */ - -Firebird::InitInstance<ConfigRoot> rootDetector; - } // anonymous namespace @@ -330,7 +323,7 @@ const char* Config::getInstallDirectory() { - return rootDetector().getInstallDirectory(); + return fb_get_master_interface()->getConfigManager()->getInstallDirectory(); } static Firebird::PathName* rootFromCommandLine = 0; @@ -355,7 +348,7 @@ return rootFromCommandLine->c_str(); } - return rootDetector().getRootDirectory();; + return fb_get_master_interface()->getConfigManager()->getRootDirectory(); } Modified: firebird/trunk/src/include/firebird/FirebirdInterface.idl =================================================================== --- firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/include/firebird/FirebirdInterface.idl 2014-11-26 09:45:42 UTC (rev 60294) @@ -301,6 +301,8 @@ FirebirdConf getFirebirdConf(); FirebirdConf getDatabaseConf(const string dbName); Config getPluginConfig(const string configuredPlugin); + const string getInstallDirectory(); + const string getRootDirectory(); } Modified: firebird/trunk/src/include/firebird/IdlFbInterfaces.h =================================================================== --- firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/include/firebird/IdlFbInterfaces.h 2014-11-26 09:45:42 UTC (rev 60294) @@ -837,6 +837,8 @@ FirebirdConf* (CLOOP_CARG *getFirebirdConf)(ConfigManager* self) throw(); FirebirdConf* (CLOOP_CARG *getDatabaseConf)(ConfigManager* self, const char* dbName) throw(); Config* (CLOOP_CARG *getPluginConfig)(ConfigManager* self, const char* configuredPlugin) throw(); + const char* (CLOOP_CARG *getInstallDirectory)(ConfigManager* self) throw(); + const char* (CLOOP_CARG *getRootDirectory)(ConfigManager* self) throw(); }; protected: @@ -894,6 +896,18 @@ Config* ret = static_cast<VTable*>(this->cloopVTable)->getPluginConfig(this, configuredPlugin); return ret; } + + const char* getInstallDirectory() + { + const char* ret = static_cast<VTable*>(this->cloopVTable)->getInstallDirectory(this); + return ret; + } + + const char* getRootDirectory() + { + const char* ret = static_cast<VTable*>(this->cloopVTable)->getRootDirectory(this); + return ret; + } }; class EventCallback : public ReferenceCounted @@ -6137,6 +6151,8 @@ this->getFirebirdConf = &Name::cloopgetFirebirdConfDispatcher; this->getDatabaseConf = &Name::cloopgetDatabaseConfDispatcher; this->getPluginConfig = &Name::cloopgetPluginConfigDispatcher; + this->getInstallDirectory = &Name::cloopgetInstallDirectoryDispatcher; + this->getRootDirectory = &Name::cloopgetRootDirectoryDispatcher; } } vTable; @@ -6195,6 +6211,32 @@ } } + static const char* CLOOP_CARG cloopgetInstallDirectoryDispatcher(ConfigManager* self) throw() + { + try + { + return static_cast<Name*>(self)->Name::getInstallDirectory(); + } + catch (...) + { + Policy::catchException(0); + return static_cast<const char*>(0); + } + } + + static const char* CLOOP_CARG cloopgetRootDirectoryDispatcher(ConfigManager* self) throw() + { + try + { + return static_cast<Name*>(self)->Name::getRootDirectory(); + } + catch (...) + { + Policy::catchException(0); + return static_cast<const char*>(0); + } + } + static PluginModule* CLOOP_CARG cloopgetModuleDispatcher(Versioned* self) throw() { try @@ -6226,6 +6268,8 @@ virtual FirebirdConf* getFirebirdConf() = 0; virtual FirebirdConf* getDatabaseConf(const char* dbName) = 0; virtual Config* getPluginConfig(const char* configuredPlugin) = 0; + virtual const char* getInstallDirectory() = 0; + virtual const char* getRootDirectory() = 0; }; template <typename Name, typename Base> Modified: firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp =================================================================== --- firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/jrd/trace/TraceConfigStorage.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -35,7 +35,6 @@ #include "../../common/isc_s_proto.h" #include "../../jrd/jrd.h" #include "../../common/os/path_utils.h" -#include "../../common/config/os/config_root.h" #include "../../common/os/os_utils.h" #include "../../jrd/trace/TraceConfigStorage.h" Modified: firebird/trunk/src/jrd/trace/TraceObjects.cpp =================================================================== --- firebird/trunk/src/jrd/trace/TraceObjects.cpp 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/jrd/trace/TraceObjects.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -45,7 +45,6 @@ #include "../../jrd/opt_proto.h" #include "../../jrd/pag_proto.h" #include "../../common/os/path_utils.h" -#include "../../common/config/os/config_root.h" #include "../../dsql/dsql_proto.h" #ifdef WIN_NT Modified: firebird/trunk/src/yvalve/PluginManager.cpp =================================================================== --- firebird/trunk/src/yvalve/PluginManager.cpp 2014-11-26 06:22:19 UTC (rev 60293) +++ firebird/trunk/src/yvalve/PluginManager.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -42,6 +42,9 @@ #include "../common/classes/GenericMap.h" #include "../common/db_alias.h" +#include "../yvalve/config/os/config_root.h" + + // register builtin plugins #include "../remote/client/interface.h" @@ -1195,6 +1198,14 @@ namespace Firebird { +/****************************************************************************** +* +* Static instance of the root and install directories detector +*/ + +InitInstance<ConfigRoot> rootDetector; + + // Generic access to all config interfaces class ConfigManager : public AutoIface<Api::ConfigManagerImpl<ConfigManager> > { @@ -1254,6 +1265,16 @@ return NULL; } } + + const char* getInstallDirectory() + { + return rootDetector().getInstallDirectory(); + } + + const char* getRootDirectory() + { + return rootDetector().getRootDirectory(); + } }; static ConfigManager configManager; Modified: firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp =================================================================== --- firebird/trunk/src/common/config/os/darwin/config_root.cpp 2014-11-25 13:24:10 UTC (rev 60291) +++ firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -33,7 +33,7 @@ #include "fb_types.h" #include "../common/classes/fb_string.h" -#include "../common/config/os/config_root.h" +#include "../yvalve/config/os/config_root.h" #include "../common/os/path_utils.h" #include "../common/file_params.h" Modified: firebird/trunk/src/yvalve/config/os/posix/config_root.cpp =================================================================== --- firebird/trunk/src/common/config/os/posix/config_root.cpp 2014-11-25 13:24:10 UTC (rev 60291) +++ firebird/trunk/src/yvalve/config/os/posix/config_root.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -31,7 +31,7 @@ #include "fb_types.h" #include "../common/classes/fb_string.h" -#include "../common/config/os/config_root.h" +#include "../yvalve/config/os/config_root.h" #include "../common/os/path_utils.h" #include "binreloc.h" Modified: firebird/trunk/src/yvalve/config/os/win32/config_root.cpp =================================================================== --- firebird/trunk/src/common/config/os/win32/config_root.cpp 2014-11-25 13:24:10 UTC (rev 60291) +++ firebird/trunk/src/yvalve/config/os/win32/config_root.cpp 2014-11-26 09:45:42 UTC (rev 60294) @@ -28,7 +28,7 @@ #include "fb_types.h" #include "../../../../common/classes/fb_string.h" #include "../../../../common/dllinst.h" -#include "../../../../common/config/os/config_root.h" +#include "../../../../yvalve/config/os/config_root.h" using Firebird::PathName; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-11-26 17:43:53
|
Revision: 60297 http://sourceforge.net/p/firebird/code/60297 Author: alexpeshkoff Date: 2014-11-26 17:43:45 +0000 (Wed, 26 Nov 2014) Log Message: ----------- Load zlib dynamically to make it possible for the client to run without it Added configure switch to turn off build with compression Cleanup zlib streams to avoid memory leak Use SHRLIB_EXT instead explicit "so" Modified Paths: -------------- firebird/trunk/configure.ac firebird/trunk/src/common/os/posix/mod_loader.cpp firebird/trunk/src/jrd/flu.cpp firebird/trunk/src/remote/remote.cpp firebird/trunk/src/remote/remote.h Modified: firebird/trunk/configure.ac =================================================================== --- firebird/trunk/configure.ac 2014-11-26 10:20:45 UTC (rev 60296) +++ firebird/trunk/configure.ac 2014-11-26 17:43:45 UTC (rev 60297) @@ -485,6 +485,7 @@ AC_SUBST(AR_OPTIONS) AC_SUBST(PLATFORM) AC_SUBST(SHRLIB_EXT) +AC_DEFINE_UNQUOTED(SHRLIB_EXT, "$SHRLIB_EXT", [Extension for shared libraries]) AC_DEFINE(CASE_SENSITIVITY, true, [Define this if paths are case sensitive]) @@ -653,6 +654,15 @@ esac]) AC_SUBST(GPRE_LANGUAGE_MODULES) +dnl Compression switch +COMPRESSION=Y +AC_ARG_WITH(wire-compress, + [ --with-wire-compress support compression of data, tarnsfered over the wire (default=yes)], + [case "$withval" in + yes) ;; + no) COMPRESSION=N;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-wire-compress);; + esac]) dnl Checks for programs. @@ -723,8 +733,12 @@ AC_CHECK_HEADERS(iconv.h) AC_CHECK_HEADERS(libio.h) AC_CHECK_HEADERS(linux/falloc.h) -AC_CHECK_HEADERS(zlib.h) +dnl check for compression +if test "$COMPRESSION" = "Y"; then + AC_CHECK_HEADERS(zlib.h,,AC_MSG_ERROR(zlib header not found - please install development zlib package)) +fi + dnl check for ICU presence AC_CHECK_HEADER(unicode/ucnv.h,,AC_MSG_ERROR(ICU support not found - please install development ICU package)) dnl setting ICU_OK here is done to only avoid default action @@ -740,7 +754,6 @@ dnl Check for libraries AC_SEARCH_LIBS(dlopen, dl) -AC_CHECK_LIB(z, deflate) AC_CHECK_LIB(m, main) if test "$EDITLINE_FLG" = "Y"; then AC_CHECK_LIB(curses, tgetent, TERMLIB=curses, \ Modified: firebird/trunk/src/common/os/posix/mod_loader.cpp =================================================================== --- firebird/trunk/src/common/os/posix/mod_loader.cpp 2014-11-26 10:20:45 UTC (rev 60296) +++ firebird/trunk/src/common/os/posix/mod_loader.cpp 2014-11-26 17:43:45 UTC (rev 60297) @@ -67,10 +67,10 @@ if (name.isEmpty()) return; - Firebird::PathName::size_type pos = name.rfind(".so"); + Firebird::PathName::size_type pos = name.rfind("." SHRLIB_EXT); if (pos != name.length() - 3) { - name += ".so"; + name += "." SHRLIB_EXT; } pos = name.rfind('/'); pos = (pos == Firebird::PathName::npos) ? 0 : pos + 1; Modified: firebird/trunk/src/jrd/flu.cpp =================================================================== --- firebird/trunk/src/jrd/flu.cpp 2014-11-26 10:20:45 UTC (rev 60296) +++ firebird/trunk/src/jrd/flu.cpp 2014-11-26 17:43:45 UTC (rev 60297) @@ -109,19 +109,15 @@ // always try to use module "as is" {MOD_SUFFIX, "", false}, -#ifdef HPUX - {MOD_SUFFIX, ".sl", true}, -#endif - #ifdef DYNAMIC_SHARED_LIBRARIES - {MOD_SUFFIX, ".so", true}, + {MOD_SUFFIX, "." SHRLIB_EXT, true}, {MOD_PREFIX, "lib", true}, #endif - +/* #ifdef DARWIN {MOD_SUFFIX, ".dylib", true}, #endif - + */ }; // UDF/BLOB filter verifier Modified: firebird/trunk/src/remote/remote.cpp =================================================================== --- firebird/trunk/src/remote/remote.cpp 2014-11-26 10:20:45 UTC (rev 60296) +++ firebird/trunk/src/remote/remote.cpp 2014-11-26 17:43:45 UTC (rev 60297) @@ -36,6 +36,7 @@ #include "../common/classes/init.h" #include "../common/db_alias.h" #include "firebird/Interface.h" +#include "../common/os/mod_loader.h" #ifdef DEV_BUILD Firebird::AtomicCounter rem_port::portCounter; @@ -820,37 +821,6 @@ { } -rem_port::~rem_port() -{ - if (port_events_shutdown) - { - port_events_shutdown(this); - } - - delete port_srv_auth; - delete port_srv_auth_block; - delete port_version; - delete port_connection; - delete port_host; - delete port_server_crypt_callback; - -#ifdef DEBUG_XDR_MEMORY - delete port_packet_vector; -#endif - - while (port_crypt_keys.hasData()) - { - delete port_crypt_keys.pop(); - } - - if (port_crypt_plugin) - Firebird::PluginManagerInterfacePtr()->releasePlugin(port_crypt_plugin); - -#ifdef DEV_BUILD - --portCounter; -#endif -} - /* void Rdb::set_async_vector(ISC_STATUS* userStatus) throw() { @@ -1391,6 +1361,88 @@ } +namespace { + class ZLib + { + public: + ZLib(Firebird::MemoryPool&) + { + const char* name = "libz." SHRLIB_EXT ".1"; + z.reset(ModuleLoader::fixAndLoadModule(name)); + if (z) + symbols(); + if (!z) + (Firebird::Arg::Gds(isc_random) << "Error loading zlib").raise(); + } + + int ZEXPORT (*deflateInit_)(z_stream* strm, int level, const char *version, int stream_size); + int ZEXPORT (*inflateInit_)(z_stream* strm, const char *version, int stream_size); + int ZEXPORT (*deflate)(z_stream* strm, int flush); + int ZEXPORT (*inflate)(z_stream* strm, int flush); + void ZEXPORT (*deflateEnd)(z_stream* strm); + void ZEXPORT (*inflateEnd)(z_stream* strm); + + operator bool() {return z.hasData();} + bool operator!() {return !z.hasData();} + + private: + Firebird::AutoPtr<ModuleLoader::Module> z; + + void symbols() + { +#define FB_ZSYMB(A) z->findSymbol(STRINGIZE(A), A); if (!A) {z.reset(NULL); return;} + FB_ZSYMB(deflateInit_) + FB_ZSYMB(inflateInit_) + FB_ZSYMB(deflate) + FB_ZSYMB(inflate) + FB_ZSYMB(deflateEnd) + FB_ZSYMB(inflateEnd) +#undef FB_ZSYMB + } + }; + + Firebird::InitInstance<ZLib> zlib; +} + +rem_port::~rem_port() +{ + if (port_events_shutdown) + { + port_events_shutdown(this); + } + + delete port_srv_auth; + delete port_srv_auth_block; + delete port_version; + delete port_connection; + delete port_host; + delete port_server_crypt_callback; + +#ifdef DEBUG_XDR_MEMORY + delete port_packet_vector; +#endif + + while (port_crypt_keys.hasData()) + { + delete port_crypt_keys.pop(); + } + + if (port_crypt_plugin) + Firebird::PluginManagerInterfacePtr()->releasePlugin(port_crypt_plugin); + +#ifdef DEV_BUILD + --portCounter; +#endif + +#ifdef WIRE_COMPRESS_SUPPORT + if (port_compressed) + { + zlib().deflateEnd(&port_send_stream); + zlib().inflateEnd(&port_recv_stream); + } +#endif +} + bool REMOTE_inflate(rem_port* port, PacketReceive* packet_receive, UCHAR* buffer, SSHORT buffer_length, SSHORT* length) { #ifdef WIRE_COMPRESS_SUPPORT @@ -1413,12 +1465,11 @@ #endif #endif - if (inflate(&strm, Z_NO_FLUSH) != Z_OK) + if (zlib().inflate(&strm, Z_NO_FLUSH) != Z_OK) { #ifdef COMPRESS_DEBUG fprintf(stderr, "Inflate error\n"); #endif - (void)inflateEnd(&strm); port->port_flags &= ~PORT_z_data; return false; } @@ -1450,7 +1501,6 @@ SSHORT l = (SSHORT) (port->port_buff_size - strm.avail_in); if ((!packet_receive(port, strm.next_in, l, &l)) || (l <= 0)) // fixit - 2 ways to report errors in same routine { - (void)inflateEnd(&strm); port->port_flags &= ~PORT_z_data; return false; } @@ -1470,7 +1520,6 @@ #endif } - bool REMOTE_deflate(XDR* xdrs, ProtoWrite* proto_write, PacketSend* packet_send, bool flash) { #ifdef WIRE_COMPRESS_SUPPORT @@ -1499,7 +1548,7 @@ fprintf(stderr, "\n"); #endif #endif - int ret = deflate(&strm, flash ? Z_SYNC_FLUSH : Z_NO_FLUSH); + int ret = zlib().deflate(&strm, flash ? Z_SYNC_FLUSH : Z_NO_FLUSH); if (ret == Z_BUF_ERROR) ret = 0; if (ret != 0) @@ -1542,7 +1591,6 @@ #endif } - void rem_port::initCompression() { #ifdef WIRE_COMPRESS_SUPPORT @@ -1551,7 +1599,7 @@ port_send_stream.zalloc = Z_NULL; port_send_stream.zfree = Z_NULL; port_send_stream.opaque = Z_NULL; - int ret = deflateInit(&port_send_stream, Z_DEFAULT_COMPRESSION); + int ret = zlib().deflateInit(&port_send_stream, Z_DEFAULT_COMPRESSION); if (ret != Z_OK) (Firebird::Arg::Gds(isc_random) << "compression stream init error").raise(); // add error code port_send_stream.next_out = NULL; @@ -1561,13 +1609,25 @@ port_recv_stream.opaque = Z_NULL; port_recv_stream.avail_in = 0; port_recv_stream.next_in = Z_NULL; - ret = inflateInit(&port_recv_stream); + ret = zlib().inflateInit(&port_recv_stream); if (ret != Z_OK) + { + zlib().deflateEnd(&port_send_stream); (Firebird::Arg::Gds(isc_random) << "decompression stream init error").raise(); // add error code + } - port_compressed.reset(FB_NEW(getPool()) UCHAR[port_buff_size * 2]); + try + { + port_compressed.reset(FB_NEW(getPool()) UCHAR[port_buff_size * 2]); + } + catch(const Firebird::Exception&) + { + zlib().deflateEnd(&port_send_stream); + zlib().inflateEnd(&port_recv_stream); + } memset(port_compressed, 0, port_buff_size * 2); port_recv_stream.next_in = &port_compressed[REM_RECV_OFFSET(port_buff_size)]; + #ifdef COMPRESS_DEBUG fprintf(stderr, "Completed init port %p\n", this); #endif Modified: firebird/trunk/src/remote/remote.h =================================================================== --- firebird/trunk/src/remote/remote.h 2014-11-26 10:20:45 UTC (rev 60296) +++ firebird/trunk/src/remote/remote.h 2014-11-26 17:43:45 UTC (rev 60297) @@ -55,7 +55,7 @@ #endif #endif // !WIN_NT -#if defined(HAVE_ZLIB_H) && defined(HAVE_LIBZ) +#if defined(HAVE_ZLIB_H) #define WIRE_COMPRESS_SUPPORT 1 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-27 06:51:35
|
Revision: 60298 http://sourceforge.net/p/firebird/code/60298 Author: firebirds Date: 2014-11-27 06:51:32 +0000 (Thu, 27 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-26 17:43:45 UTC (rev 60297) +++ firebird/trunk/ChangeLog 2014-11-27 06:51:32 UTC (rev 60298) @@ -1,3 +1,49 @@ + 2014-11-26 17:43 alexpeshkoff + M configure.ac + M src/common/os/posix/mod_loader.cpp + M src/jrd/flu.cpp + M src/remote/remote.cpp + M src/remote/remote.h +Load zlib dynamically to make it possible for the client to run without it +Added configure switch to turn off build with compression +Cleanup zlib streams to avoid memory leak +Use SHRLIB_EXT instead explicit "so" + + 2014-11-26 10:20 alexpeshkoff + M src/remote/client/interface.cpp + M src/remote/server/server.cpp +Remove unneeded any more assert, causing problems for a build w/o compression + + 2014-11-26 10:01 alexpeshkoff + M builds/posix/make.shared.variables +Fixed posix build + + 2014-11-26 09:45 hvlad + M builds/win32/msvc10/common.vcxproj + M builds/win32/msvc10/common.vcxproj.filters + M builds/win32/msvc10/yvalve.vcxproj + M builds/win32/msvc10/yvalve.vcxproj.filters + M builds/win32/msvc12/common.vcxproj + M builds/win32/msvc12/common.vcxproj.filters + M builds/win32/msvc12/yvalve.vcxproj + M builds/win32/msvc12/yvalve.vcxproj.filters + M src/common/config/config.cpp + D src/common/config/os + M src/include/firebird/FirebirdInterface.idl + M src/include/firebird/IdlFbInterfaces.h + M src/jrd/trace/TraceConfigStorage.cpp + M src/jrd/trace/TraceObjects.cpp + M src/yvalve/PluginManager.cpp + A src/yvalve/config + A src/yvalve/config/os (from /firebird/trunk/src/common/config/os:60291) + M src/yvalve/config/os/darwin/config_root.cpp + M src/yvalve/config/os/posix/config_root.cpp + M src/yvalve/config/os/win32/config_root.cpp +Move ConfigRoot from common to the yvalve. Add its methods to the public interface ConfigManager. +Now all plug-ins have the same root\install folders. +It should fix CORE-4581 and related issues. +MSVC10 and MSVC12 builds are updated, Posix and Darwin builds will follow. + 2014-11-25 15:02 asfernandes M src/dsql/ddl.cpp Fixed CORE-4623 - SP "Domain" and "Type Of" based variables referring BLOB with sub_type < 0 no longer work. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-26 17:43:45 UTC (rev 60297) +++ firebird/trunk/src/jrd/build_no.h 2014-11-27 06:51:32 UTC (rev 60298) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31447 + FORMAL BUILD NUMBER:31451 */ -#define PRODUCT_VER_STRING "3.0.0.31447" -#define FILE_VER_STRING "WI-T3.0.0.31447" -#define LICENSE_VER_STRING "WI-T3.0.0.31447" -#define FILE_VER_NUMBER 3, 0, 0, 31447 +#define PRODUCT_VER_STRING "3.0.0.31451" +#define FILE_VER_STRING "WI-T3.0.0.31451" +#define LICENSE_VER_STRING "WI-T3.0.0.31451" +#define FILE_VER_NUMBER 3, 0, 0, 31451 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31447" +#define FB_BUILD_NO "31451" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-26 17:43:45 UTC (rev 60297) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-27 06:51:32 UTC (rev 60298) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31447 +BuildNum=31451 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2014-11-27 13:52:01
|
Revision: 60300 http://sourceforge.net/p/firebird/code/60300 Author: alexpeshkoff Date: 2014-11-27 13:51:59 +0000 (Thu, 27 Nov 2014) Log Message: ----------- Make zlib allocate memory from our pool Add Z flag in protocol version for compressed connections Documentation Modified Paths: -------------- firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/remote/remote.cpp firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/server.cpp Added Paths: ----------- firebird/trunk/doc/README.wire.compression.html Added: firebird/trunk/doc/README.wire.compression.html =================================================================== --- firebird/trunk/doc/README.wire.compression.html (rev 0) +++ firebird/trunk/doc/README.wire.compression.html 2014-11-27 13:51:59 UTC (rev 60300) @@ -0,0 +1,46 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1"> + <TITLE></TITLE> + <META NAME="GENERATOR" CONTENT="OpenOffice 4.1.1 (Unix)"> + <META NAME="AUTHOR" CONTENT="alex "> + <META NAME="CREATED" CONTENT="20130531;10003100"> + <META NAME="CHANGEDBY" CONTENT="Alex Peshkoff"> + <META NAME="CHANGED" CONTENT="20141127;15401600"> + <STYLE TYPE="text/css"> + <!-- + @page { size: 8.5in 11in; margin: 0.79in } + P { margin-bottom: 0.08in } + --> + </STYLE> +</HEAD> +<BODY LANG="en-US" DIR="LTR"> +<P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid"> +<FONT FACE="Albany, sans-serif"><FONT SIZE=4>Compressing data passed +over the wire.</FONT></FONT></P> +<P STYLE="margin-bottom: 0in"><BR> +</P> +<P>In most of cases compressing data passed over the wire is useless +– one spends more time to compress a packet of data than to +pass it over the typical LAN. But for WAN access data compression may +be rather efficient way to enhance performance, specially when it can +provide instead package size decrees packages' number decrees – +that's the case for Firebird when it transfers a lot of data like big +result set. zlib library (<A HREF="http://www.zlib.net/">http://www.zlib.net/</A>) +is used by Firebird to compress data passed over the wire.</P> +<P>By default wire compression is off, to turn it on you should set +“WireCompression=true” in Firebird configuration on +client. Compression setting is done by client to let only some +clients that really need it use compression. Server gets compression +setting from client when connection is established. Certainly only +Firebird 3 (or higher) wire protocol supports compression. When +compression is turned on Z flag is shown in client/server version +info – for example: LI-T3.0.0.31451 Firebird 3.0 Beta 1/tcp +(fbs)/P13:Z.</P> +<P><BR><BR> +</P> +<P><BR><BR> +</P> +</BODY> +</HTML> \ No newline at end of file Property changes on: firebird/trunk/doc/README.wire.compression.html ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/html \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: firebird/trunk/src/remote/client/interface.cpp =================================================================== --- firebird/trunk/src/remote/client/interface.cpp 2014-11-27 08:15:16 UTC (rev 60299) +++ firebird/trunk/src/remote/client/interface.cpp 2014-11-27 13:51:59 UTC (rev 60300) @@ -1456,8 +1456,7 @@ item_length, items, 0, 0, buffer_length, temp_buffer); string version; - version.printf("%s/%s%s", FB_VERSION, port->port_version->str_data, - port->port_crypt_complete ? ":C" : ""); + port->versionInfo(version); MERGE_database_info(temp_buffer, buffer, buffer_length, DbImplementation::current.backwardCompatibleImplementation(), 3, 1, Modified: firebird/trunk/src/remote/remote.cpp =================================================================== --- firebird/trunk/src/remote/remote.cpp 2014-11-27 08:15:16 UTC (rev 60299) +++ firebird/trunk/src/remote/remote.cpp 2014-11-27 13:51:59 UTC (rev 60300) @@ -37,6 +37,7 @@ #include "../common/db_alias.h" #include "firebird/Interface.h" #include "../common/os/mod_loader.h" +#include "../jrd/license.h" #ifdef DEV_BUILD Firebird::AtomicCounter rem_port::portCounter; @@ -1360,6 +1361,23 @@ } } +void rem_port::versionInfo(Firebird::string& version) +{ + version.printf("%s/%s", FB_VERSION, port_version->str_data); +#ifndef WIRE_COMPRESS_SUPPORT + if (port_crypt_plugin) + version += ":C"; +#else + if (port_crypt_plugin || port_compressed) + version += ':'; + if (port_crypt_plugin) + version += 'C'; + if (port_compressed) + version += 'Z'; +#endif +} + + #ifdef WIRE_COMPRESS_SUPPORT namespace { class ZLib @@ -1402,6 +1420,16 @@ }; Firebird::InitInstance<ZLib> zlib; + + void* allocFunc(void*, uInt items, uInt size) + { + return MemoryPool::globalAlloc(items * size); + } + + void freeFunc(void*, void* address) + { + MemoryPool::globalFree(address); + } } #endif // WIRE_COMPRESS_SUPPORT @@ -1597,16 +1625,16 @@ #ifdef WIRE_COMPRESS_SUPPORT if (port_protocol >= PROTOCOL_VERSION13 && !port_compressed) { - port_send_stream.zalloc = Z_NULL; - port_send_stream.zfree = Z_NULL; + port_send_stream.zalloc = allocFunc; + port_send_stream.zfree = freeFunc; port_send_stream.opaque = Z_NULL; int ret = zlib().deflateInit(&port_send_stream, Z_DEFAULT_COMPRESSION); if (ret != Z_OK) (Firebird::Arg::Gds(isc_random) << "compression stream init error").raise(); // add error code port_send_stream.next_out = NULL; - port_recv_stream.zalloc = Z_NULL; - port_recv_stream.zfree = Z_NULL; + port_recv_stream.zalloc = allocFunc; + port_recv_stream.zfree = freeFunc; port_recv_stream.opaque = Z_NULL; port_recv_stream.avail_in = 0; port_recv_stream.next_in = Z_NULL; Modified: firebird/trunk/src/remote/remote.h =================================================================== --- firebird/trunk/src/remote/remote.h 2014-11-27 08:15:16 UTC (rev 60299) +++ firebird/trunk/src/remote/remote.h 2014-11-27 13:51:59 UTC (rev 60300) @@ -989,6 +989,7 @@ void linkParent(rem_port* const parent); void unlinkParent(); const Firebird::RefPtr<Config>& getPortConfig() const; + void versionInfo(Firebird::string& version); template <typename T> void getHandle(T*& blk, OBJCT id) Modified: firebird/trunk/src/remote/server/server.cpp =================================================================== --- firebird/trunk/src/remote/server/server.cpp 2014-11-27 08:15:16 UTC (rev 60299) +++ firebird/trunk/src/remote/server/server.cpp 2014-11-27 13:51:59 UTC (rev 60300) @@ -39,7 +39,6 @@ #include "../remote/remote.h" #include "../common/file_params.h" #include "../common/ThreadStart.h" -#include "../jrd/license.h" #include "../common/classes/timestamp.h" #include "../remote/merge_proto.h" #include "../remote/parse_proto.h" @@ -3746,8 +3745,7 @@ if (!(status_vector.getStatus() & Firebird::IStatus::FB_HAS_ERRORS)) { string version; - version.printf("%s/%s%s", FB_VERSION, this->port_version->str_data, - this->port_crypt_complete ? ":C" : ""); + versionInfo(version); info_db_len = MERGE_database_info(temp_buffer, //temp buffer, buffer_length, DbImplementation::current.backwardCompatibleImplementation(), 4, 1, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-28 06:28:09
|
Revision: 60301 http://sourceforge.net/p/firebird/code/60301 Author: firebirds Date: 2014-11-28 06:28:01 +0000 (Fri, 28 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-27 13:51:59 UTC (rev 60300) +++ firebird/trunk/ChangeLog 2014-11-28 06:28:01 UTC (rev 60301) @@ -1,3 +1,17 @@ + 2014-11-27 13:51 alexpeshkoff + A doc/README.wire.compression.html + M src/remote/client/interface.cpp + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp +Make zlib allocate memory from our pool +Add Z flag in protocol version for compressed connections +Documentation + + 2014-11-27 08:15 hvlad + M src/remote/remote.cpp +Fix build errors when WIRE_COMPRESS_SUPPORT not defined + 2014-11-26 17:43 alexpeshkoff M configure.ac M src/common/os/posix/mod_loader.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-27 13:51:59 UTC (rev 60300) +++ firebird/trunk/src/jrd/build_no.h 2014-11-28 06:28:01 UTC (rev 60301) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31451 + FORMAL BUILD NUMBER:31453 */ -#define PRODUCT_VER_STRING "3.0.0.31451" -#define FILE_VER_STRING "WI-T3.0.0.31451" -#define LICENSE_VER_STRING "WI-T3.0.0.31451" -#define FILE_VER_NUMBER 3, 0, 0, 31451 +#define PRODUCT_VER_STRING "3.0.0.31453" +#define FILE_VER_STRING "WI-T3.0.0.31453" +#define LICENSE_VER_STRING "WI-T3.0.0.31453" +#define FILE_VER_NUMBER 3, 0, 0, 31453 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31451" +#define FB_BUILD_NO "31453" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-27 13:51:59 UTC (rev 60300) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-28 06:28:01 UTC (rev 60301) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31451 +BuildNum=31453 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-29 06:00:29
|
Revision: 60304 http://sourceforge.net/p/firebird/code/60304 Author: firebirds Date: 2014-11-29 06:00:26 +0000 (Sat, 29 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-28 13:46:29 UTC (rev 60303) +++ firebird/trunk/ChangeLog 2014-11-29 06:00:26 UTC (rev 60304) @@ -1,3 +1,15 @@ + 2014-11-28 13:46 alexpeshkoff + M src/remote/inet.cpp + M src/remote/remote.cpp + M src/remote/remote.h +Establish uncompressed connection in case of missing zlib + + 2014-11-28 11:58 alexpeshkoff + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp +Misc encryption enhancements + 2014-11-27 13:51 alexpeshkoff A doc/README.wire.compression.html M src/remote/client/interface.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-28 13:46:29 UTC (rev 60303) +++ firebird/trunk/src/jrd/build_no.h 2014-11-29 06:00:26 UTC (rev 60304) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31453 + FORMAL BUILD NUMBER:31455 */ -#define PRODUCT_VER_STRING "3.0.0.31453" -#define FILE_VER_STRING "WI-T3.0.0.31453" -#define LICENSE_VER_STRING "WI-T3.0.0.31453" -#define FILE_VER_NUMBER 3, 0, 0, 31453 +#define PRODUCT_VER_STRING "3.0.0.31455" +#define FILE_VER_STRING "WI-T3.0.0.31455" +#define LICENSE_VER_STRING "WI-T3.0.0.31455" +#define FILE_VER_NUMBER 3, 0, 0, 31455 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31453" +#define FB_BUILD_NO "31455" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-28 13:46:29 UTC (rev 60303) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-29 06:00:26 UTC (rev 60304) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31453 +BuildNum=31455 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mro...@us...> - 2014-11-29 15:40:28
|
Revision: 60305 http://sourceforge.net/p/firebird/code/60305 Author: mrotteveel Date: 2014-11-29 15:39:59 +0000 (Sat, 29 Nov 2014) Log Message: ----------- CORE-4526 Support for SQL:2008 OFFSET and FETCH clauses Modified Paths: -------------- firebird/trunk/doc/sql.extensions/README.rows firebird/trunk/src/dsql/parse.y firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/yvalve/keywords.cpp Added Paths: ----------- firebird/trunk/doc/sql.extensions/README.offset_fetch.txt Added: firebird/trunk/doc/sql.extensions/README.offset_fetch.txt =================================================================== --- firebird/trunk/doc/sql.extensions/README.offset_fetch.txt (rev 0) +++ firebird/trunk/doc/sql.extensions/README.offset_fetch.txt 2014-11-29 15:39:59 UTC (rev 60305) @@ -0,0 +1,53 @@ +----------------------- +OFFSET and FETCH clause +----------------------- + + Function: + SQL:2008 compliant equivalent for FIRST/SKIP, and an alternative for ROWS. + The OFFSET clause specifies the number of rows to skip. The FETCH clause + specifies the number of rows to fetch. + + OFFSET and FETCH can be applied independently on top-level and nested query + expressions. + + Author: + Mark Rotteveel <mro...@us...> + + Syntax rules: + SELECT ... [ ORDER BY <expr_list> ] + [ OFFSET <simple_value_expr> { ROW | ROWS } ] + [ FETCH { FIRST | NEXT } [ <simple_value_expr> ] { ROW | ROWS } ONLY ] + + Where <simple_value_expr> is a (numeric) literal, a SQL parameter (?) or + PSQL named parameter (:namedparameter). + + Scope: + DSQL, PSQL + + Example(s): + 1. SELECT * FROM T1 + ORDER BY COL1 + OFFSET 10 ROWS + 2. SELECT * FROM T1 + ORDER BY COL1 + FETCH FIRST 10 ROWS ONLY + 3. SELECT * FROM ( + SELECT * FROM T1 + ORDER BY COL1 DESC + OFFSET 1 ROW + FETCH NEXT 10 ROWS ONLY + ) a + ORDER BY a.COL1 + FETCH FIRST ROW ONLY + + Note(s): + 1. Firebird doesn't support the percentage FETCH defined in the SQL + standard. + 2. Firebird doesn't support the FETCH ... WITH TIES defined in the SQL + standard. + 3. The FIRST/SKIP and ROWS clause are non-standard alternatives. + 4. The OFFSET and/or FETCH clauses cannot be combined with ROWS or + FIRST/SKIP on the same query expression. + 5. Expressions, column references, etc are not allowed within either clause. + 6. Contrary to the ROWS clause, OFFSET and FETCH are only available on + SELECT statements. \ No newline at end of file Property changes on: firebird/trunk/doc/sql.extensions/README.offset_fetch.txt ___________________________________________________________________ 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/doc/sql.extensions/README.rows =================================================================== --- firebird/trunk/doc/sql.extensions/README.rows 2014-11-29 06:00:26 UTC (rev 60304) +++ firebird/trunk/doc/sql.extensions/README.rows 2014-11-29 15:39:59 UTC (rev 60305) @@ -3,8 +3,9 @@ ----------- Function: - Allow to limit a number of rows retrieved from a select expression. For a highest level - select statement, it would mean a number of rows sent to the host program. + Limits the number of rows retrieved from a select expression. For the + top-level select statement, it would mean a number of rows sent to the host + program. Author: Dmitry Yemanov <ye...@ya...> @@ -28,10 +29,13 @@ ROWS 1 Note(s): - 1. ROWS is a more understandable alternative to the FIRST/SKIP clauses with some extra benefits. - It can be used in unions and all kind of subqueries. Also it's available in the UPDATE/DELETE - statements. - 2. When <expr2> is omitted, then ROWS <expr1> is a semantical equivalent for FIRST <expr1>. When - both <expr1> and <expr2> are used, then ROWS <expr1> TO <expr2> means: - FIRST (<expr2> - <expr1> + 1) SKIP (<expr1> - 1). Note that there's no semantical equivalent - for a SKIP clause used without a FIRST clause. + 1. ROWS is a more understandable alternative to the FIRST/SKIP clauses with + some extra benefits. It can be used in unions and all kind of subqueries. + It is also available in the UPDATE/DELETE statements. + 2. When <expr2> is omitted, then ROWS <expr1> is a semantical equivalent for + FIRST <expr1>. When both <expr1> and <expr2> are used, then ROWS <expr1> + TO <expr2> means: + FIRST (<expr2> - <expr1> + 1) SKIP (<expr1> - 1). Note that there's no + semantic equivalent for a SKIP clause used without a FIRST clause. + 3. The ROWS-clause is not defined in the SQL standard. For SELECT, consider + the alternative OFFSET and FETCH clauses defined in the SQL standard. Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2014-11-29 06:00:26 UTC (rev 60304) +++ firebird/trunk/src/dsql/parse.y 2014-11-29 15:39:59 UTC (rev 60305) @@ -570,6 +570,8 @@ %token <metaNamePtr> SERVERWIDE %token <metaNamePtr> INCREMENT %token <metaNamePtr> TRUSTED +%token <metaNamePtr> ROW +%token <metaNamePtr> OFFSET // precedence declarations for expression evaluation @@ -3809,9 +3811,11 @@ | KW_BOOLEAN // added in FB 3.0 | DETERMINISTIC | KW_FALSE + | OFFSET | OVER | RETURN | RDB_RECORD_VERSION + | ROW | SCROLL | SQLSTATE | KW_TRUE @@ -4898,6 +4902,21 @@ node->rowsClause = $4; node->withClause = $1; } + | with_clause select_expr_body order_clause result_offset_clause fetch_first_clause + { + SelectExprNode* node = $$ = newNode<SelectExprNode>(); + node->querySpec = $2; + node->orderClause = $3; + if ($4 || $5) { + RowsClause* rowsNode = newNode<RowsClause>(); + rowsNode->skip = $4; + rowsNode->length = $5; + node->rowsClause = rowsNode; + } else { + node->rowsClause = NULL; + } + node->withClause = $1; + } ; %type <withClause> with_clause @@ -5451,14 +5470,13 @@ | LAST { $$ = OrderNode::NULLS_LAST; } ; -// ROWS clause +// ROWS clause - ROWS clause is a non-standard alternative to OFFSET .. FETCH .. +// Non-optional - for use in select_expr (so it doesn't cause conflicts with OFFSET .. FETCH ..) %type <rowsClause> rows_clause rows_clause - : // nothing - { $$ = NULL; } // equivalent to FIRST value - | ROWS value + : ROWS value { $$ = newNode<RowsClause>(); $$->length = $2; @@ -5473,7 +5491,46 @@ } ; +// Optional - for use in delete_searched and update_searched +%type <rowsClause> rows_clause_optional +rows_clause_optional + : // nothing + { $$ = NULL; } + | rows_clause + ; +// OFFSET n {ROW | ROWS} + +row_noise + : ROW + | ROWS + ; + +%type <valueExprNode> result_offset_clause +result_offset_clause + : // nothing + { $$ = NULL; } + | OFFSET simple_value_spec row_noise + { $$ = $2; } + ; + +// FETCH {FIRST | NEXT} [ n ] {ROW | ROWS} ONLY + +first_next_noise + : FIRST + | NEXT + ; + +%type <valueExprNode> fetch_first_clause +fetch_first_clause + : // nothing + { $$ = NULL; } + | FETCH first_next_noise simple_value_spec row_noise ONLY + { $$ = $3; } + | FETCH first_next_noise row_noise ONLY + { $$ = MAKE_const_slong(1); } + ; + // INSERT statement // IBO hack: replace column_parens_opt by ins_column_parens_opt. %type <storeNode> insert @@ -5588,7 +5645,7 @@ %type <stmtNode> delete_searched delete_searched - : KW_DELETE FROM table_name where_clause plan_clause order_clause rows_clause returning_clause + : KW_DELETE FROM table_name where_clause plan_clause order_clause rows_clause_optional returning_clause { EraseNode* node = newNode<EraseNode>(); node->dsqlRelation = $3; @@ -5625,7 +5682,7 @@ %type <stmtNode> update_searched update_searched : UPDATE table_name SET assignments where_clause plan_clause - order_clause rows_clause returning_clause + order_clause rows_clause_optional returning_clause { ModifyNode* node = newNode<ModifyNode>(); node->dsqlRelation = $2; @@ -6344,6 +6401,14 @@ | '(' value_primary ')' { $$ = $2; } ; +// Matches definition of <simple value specification> in SQL standard +%type <valueExprNode> simple_value_spec +simple_value_spec + : constant + | variable + | parameter + ; + %type <valueExprNode> nonparenthesized_value nonparenthesized_value : column_name Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2014-11-29 06:00:26 UTC (rev 60304) +++ firebird/trunk/src/include/gen/msgs.h 2014-11-29 15:39:59 UTC (rev 60305) @@ -518,8 +518,8 @@ {335544814, "Services functionality will be supported in a later version of the product"}, /* service_not_supported */ {335544815, "GENERATOR @1"}, /* generator_name */ {335544816, "UDF @1"}, /* udf_name */ - {335544817, "Invalid parameter to FIRST. Only integers >= 0 are allowed."}, /* bad_limit_param */ - {335544818, "Invalid parameter to SKIP. Only integers >= 0 are allowed."}, /* bad_skip_param */ + {335544817, "Invalid parameter to FETCH or FIRST. Only integers >= 0 are allowed."}, /* bad_limit_param */ + {335544818, "Invalid parameter to OFFSET or SKIP. Only integers >= 0 are allowed."}, /* bad_skip_param */ {335544819, "File exceeded maximum size of 2GB. Add another database file or use a 64 bit I/O version of Firebird."}, /* io_32bit_exceeded_err */ {335544820, "Unable to find savepoint with name @1 in transaction context"}, /* invalid_savepoint */ {335544821, "Invalid column position used in the @1 clause"}, /* dsql_column_pos_err */ @@ -1158,7 +1158,7 @@ {336397324, "CREATE GENERATOR @1 failed"}, /* dsql_create_generator_failed */ {336397325, "SET GENERATOR @1 failed"}, /* dsql_set_generator_failed */ {336397326, "WITH LOCK can be used only with a single physical table"}, /* dsql_wlock_simple */ - {336397327, "FIRST/SKIP cannot be used with ROWS"}, /* dsql_firstskip_rows */ + {336397327, "FIRST/SKIP cannot be used with OFFSET/FETCH or ROWS"}, /* dsql_firstskip_rows */ {336397328, "WITH LOCK cannot be used with aggregates"}, /* dsql_wlock_aggregates */ {336397329, "WITH LOCK cannot be used with @1"}, /* dsql_wlock_conflict */ {336723983, "unable to open database"}, /* gsec_cant_open_db */ Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2014-11-29 06:00:26 UTC (rev 60304) +++ firebird/trunk/src/msgs/messages2.sql 2014-11-29 15:39:59 UTC (rev 60305) @@ -593,8 +593,8 @@ ('service_not_supported', 'SVC_attach', 'svc.c', NULL, 0, 494, NULL, 'Services functionality will be supported in a later version of the product', NULL, NULL); ('generator_name', 'check_dependencies', 'dfw.e', NULL, 0, 495, NULL, 'GENERATOR @1', NULL, NULL); ('udf_name', 'check_dependencies', 'dfw.e', NULL, 0, 496, NULL, 'UDF @1', NULL, NULL); -('bad_limit_param', 'RSE_open', 'rse.c', NULL, 0, 497, NULL, 'Invalid parameter to FIRST. Only integers >= 0 are allowed.', NULL, NULL); -('bad_skip_param', 'RSE_open', 'rse.c', NULL, 0, 498, NULL, 'Invalid parameter to SKIP. Only integers >= 0 are allowed.', NULL, NULL); +('bad_limit_param', 'RSE_open', 'rse.c', NULL, 0, 497, NULL, 'Invalid parameter to FETCH or FIRST. Only integers >= 0 are allowed.', NULL, NULL); +('bad_skip_param', 'RSE_open', 'rse.c', NULL, 0, 498, NULL, 'Invalid parameter to OFFSET or SKIP. Only integers >= 0 are allowed.', NULL, NULL); ('io_32bit_exceeded_err', 'seek_file', 'unix.c', NULL, 0, 499, NULL, 'File exceeded maximum size of 2GB. Add another database file or use a 64 bit I/O version of Firebird.', NULL, NULL); ('invalid_savepoint', 'looper', 'exe.cpp', NULL, 0, 500, NULL, 'Unable to find savepoint with name @1 in transaction context', NULL, NULL); ('dsql_column_pos_err', '(several)', 'pass1.cpp', NULL, 0, 501, NULL, 'Invalid column position used in the @1 clause', NULL, NULL); @@ -2607,7 +2607,7 @@ ('dsql_create_generator_failed', 'putErrorPrefix', 'DdlNodes.h', NULL, 13, 1036, NULL, 'CREATE GENERATOR @1 failed', NULL, NULL); ('dsql_set_generator_failed', 'putErrorPrefix', 'DdlNodes.h', NULL, 13, 1037, NULL, 'SET GENERATOR @1 failed', NULL, NULL); ('dsql_wlock_simple', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1038, NULL, 'WITH LOCK can be used only with a single physical table', NULL, NULL); -('dsql_firstskip_rows', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1039, NULL, 'FIRST/SKIP cannot be used with ROWS', NULL, NULL); +('dsql_firstskip_rows', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1039, NULL, 'FIRST/SKIP cannot be used with OFFSET/FETCH or ROWS', NULL, NULL); ('dsql_wlock_aggregates', 'pass1_rse_impl', 'pass1.cpp', NULL, 13, 1040, NULL, 'WITH LOCK cannot be used with aggregates', NULL, NULL); ('dsql_wlock_conflict', NULL, 'pass1.cpp', NULL, 13, 1041, NULL, 'WITH LOCK cannot be used with @1', NULL, NULL); -- SQLWARN Modified: firebird/trunk/src/yvalve/keywords.cpp =================================================================== --- firebird/trunk/src/yvalve/keywords.cpp 2014-11-29 06:00:26 UTC (rev 60304) +++ firebird/trunk/src/yvalve/keywords.cpp 2014-11-29 15:39:59 UTC (rev 60305) @@ -283,6 +283,7 @@ {KW_NUMERIC, "NUMERIC", 1, false}, {OCTET_LENGTH, "OCTET_LENGTH", 2, false}, {OF, "OF", 1, false}, + {OFFSET, "OFFSET", 2, false}, {ON, "ON", 1, false}, {ONLY, "ONLY", 1, false}, {OPEN, "OPEN", 2, false}, @@ -348,6 +349,7 @@ {ROLE, "ROLE", 1, true}, {ROLLBACK, "ROLLBACK", 1, false}, {ROUND, "ROUND", 2, false}, + {ROW, "ROW", 2, false}, {ROW_COUNT, "ROW_COUNT", 2, false}, {ROW_NUMBER, "ROW_NUMBER", 2, false}, {ROWS, "ROWS", 2, false}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-11-30 06:02:22
|
Revision: 60306 http://sourceforge.net/p/firebird/code/60306 Author: firebirds Date: 2014-11-30 06:02:18 +0000 (Sun, 30 Nov 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-29 15:39:59 UTC (rev 60305) +++ firebird/trunk/ChangeLog 2014-11-30 06:02:18 UTC (rev 60306) @@ -1,3 +1,12 @@ + 2014-11-29 15:39 mrotteveel + A doc/sql.extensions/README.offset_fetch.txt + M doc/sql.extensions/README.rows + M src/dsql/parse.y + M src/include/gen/msgs.h + M src/msgs/messages2.sql + M src/yvalve/keywords.cpp +CORE-4526 Support for SQL:2008 OFFSET and FETCH clauses + 2014-11-28 13:46 alexpeshkoff M src/remote/inet.cpp M src/remote/remote.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-29 15:39:59 UTC (rev 60305) +++ firebird/trunk/src/jrd/build_no.h 2014-11-30 06:02:18 UTC (rev 60306) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31455 + FORMAL BUILD NUMBER:31456 */ -#define PRODUCT_VER_STRING "3.0.0.31455" -#define FILE_VER_STRING "WI-T3.0.0.31455" -#define LICENSE_VER_STRING "WI-T3.0.0.31455" -#define FILE_VER_NUMBER 3, 0, 0, 31455 +#define PRODUCT_VER_STRING "3.0.0.31456" +#define FILE_VER_STRING "WI-T3.0.0.31456" +#define LICENSE_VER_STRING "WI-T3.0.0.31456" +#define FILE_VER_NUMBER 3, 0, 0, 31456 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31455" +#define FB_BUILD_NO "31456" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-29 15:39:59 UTC (rev 60305) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-11-30 06:02:18 UTC (rev 60306) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31455 +BuildNum=31456 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2014-12-01 05:55:18
|
Revision: 60315 http://sourceforge.net/p/firebird/code/60315 Author: firebirds Date: 2014-12-01 05:55:12 +0000 (Mon, 01 Dec 2014) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2014-11-30 21:09:39 UTC (rev 60314) +++ firebird/trunk/ChangeLog 2014-12-01 05:55:12 UTC (rev 60315) @@ -1,3 +1,16 @@ + 2014-11-30 21:09 asfernandes + M src/common/os/win32/os_utils.cpp + M src/dsql/parse.y + M src/jrd/dpm.epp + M src/jrd/flu.cpp + M src/remote/inet.cpp + M src/remote/remote.cpp +Misc. + + 2014-11-30 16:00 dimitr + M src/jrd/vio.cpp +Simplest possible fix for CORE-4618: Rollback doesn`t undo changes when MERGE statement updates the same target rows multiple times and PLAN MERGE is used. An alternative solution is being considered. + 2014-11-29 15:39 mrotteveel A doc/sql.extensions/README.offset_fetch.txt M doc/sql.extensions/README.rows Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2014-11-30 21:09:39 UTC (rev 60314) +++ firebird/trunk/src/jrd/build_no.h 2014-12-01 05:55:12 UTC (rev 60315) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:31456 + FORMAL BUILD NUMBER:31458 */ -#define PRODUCT_VER_STRING "3.0.0.31456" -#define FILE_VER_STRING "WI-T3.0.0.31456" -#define LICENSE_VER_STRING "WI-T3.0.0.31456" -#define FILE_VER_NUMBER 3, 0, 0, 31456 +#define PRODUCT_VER_STRING "3.0.0.31458" +#define FILE_VER_STRING "WI-T3.0.0.31458" +#define LICENSE_VER_STRING "WI-T3.0.0.31458" +#define FILE_VER_NUMBER 3, 0, 0, 31458 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "31456" +#define FB_BUILD_NO "31458" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Beta 1" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2014-11-30 21:09:39 UTC (rev 60314) +++ firebird/trunk/src/misc/writeBuildNum.sh 2014-12-01 05:55:12 UTC (rev 60315) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=31456 +BuildNum=31458 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |