From: <fir...@us...> - 2011-05-27 03:19:04
|
Revision: 53019 http://firebird.svn.sourceforge.net/firebird/?rev=53019&view=rev Author: firebirds Date: 2011-05-27 03:18:57 +0000 (Fri, 27 May 2011) 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 2011-05-27 02:05:27 UTC (rev 53018) +++ firebird/trunk/ChangeLog 2011-05-27 03:18:57 UTC (rev 53019) @@ -1,3 +1,12 @@ + 2011-05-27 02:05 asfernandes + M src/dsql/DdlNodes.epp + M src/dsql/DsqlCompilerScratch.cpp + M src/dsql/ddl.cpp + M src/dsql/dsql.h + M src/dsql/metd.epp + M src/dsql/parse.y +Frontported changes of CORE-3491. + 2011-05-25 12:59 alexpeshkoff M lang_helpers/gds_codes.ftn M lang_helpers/gds_codes.pas Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-05-27 02:05:27 UTC (rev 53018) +++ firebird/trunk/src/jrd/build_no.h 2011-05-27 03:18:57 UTC (rev 53019) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29393 + FORMAL BUILD NUMBER:29394 */ -#define PRODUCT_VER_STRING "3.0.0.29393" -#define FILE_VER_STRING "WI-T3.0.0.29393" -#define LICENSE_VER_STRING "WI-T3.0.0.29393" -#define FILE_VER_NUMBER 3, 0, 0, 29393 +#define PRODUCT_VER_STRING "3.0.0.29394" +#define FILE_VER_STRING "WI-T3.0.0.29394" +#define LICENSE_VER_STRING "WI-T3.0.0.29394" +#define FILE_VER_NUMBER 3, 0, 0, 29394 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29393" +#define FB_BUILD_NO "29394" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-05-27 02:05:27 UTC (rev 53018) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-05-27 03:18:57 UTC (rev 53019) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29393 +BuildNum=29394 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...> - 2011-05-27 07:57:25
|
Revision: 53021 http://firebird.svn.sourceforge.net/firebird/?rev=53021&view=rev Author: hvlad Date: 2011-05-27 07:57:16 +0000 (Fri, 27 May 2011) Log Message: ----------- Enabled background threads (garbage collector and cache writer). Introduced special kind of system attachments used in this threads and show its activity in monitoring. Modified Paths: -------------- firebird/trunk/builds/win32/msvc10/engine.vcxproj firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters firebird/trunk/builds/win32/msvc8/engine.vcproj firebird/trunk/builds/win32/msvc9/engine.vcproj firebird/trunk/src/common/common.h firebird/trunk/src/jrd/Attachment.h firebird/trunk/src/jrd/Database.h firebird/trunk/src/jrd/DatabaseSnapshot.cpp firebird/trunk/src/jrd/DatabaseSnapshot.h firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/Relation.cpp firebird/trunk/src/jrd/Relation.h firebird/trunk/src/jrd/cch.cpp firebird/trunk/src/jrd/cch.h firebird/trunk/src/jrd/cch_proto.h firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/dpm.epp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/req.h firebird/trunk/src/jrd/tra.cpp firebird/trunk/src/jrd/vio.cpp firebird/trunk/src/jrd/vio_proto.h Added Paths: ----------- firebird/trunk/src/jrd/GarbageCollector.cpp firebird/trunk/src/jrd/GarbageCollector.h Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj 2011-05-27 07:57:16 UTC (rev 53021) @@ -82,6 +82,7 @@ <ClCompile Include="..\..\..\src\jrd\ExtEngineManager.cpp" /> <ClCompile Include="..\..\..\src\jrd\filters.cpp" /> <ClCompile Include="..\..\..\src\jrd\flu.cpp" /> + <ClCompile Include="..\..\..\src\jrd\GarbageCollector.cpp" /> <ClCompile Include="..\..\..\src\jrd\GlobalRWLock.cpp" /> <ClCompile Include="..\..\..\src\jrd\idx.cpp" /> <ClCompile Include="..\..\..\src\jrd\inf.cpp" /> @@ -247,6 +248,7 @@ <ClInclude Include="..\..\..\src\jrd\flu_proto.h" /> <ClInclude Include="..\..\..\src\jrd\Function.h" /> <ClInclude Include="..\..\..\src\jrd\fun_proto.h" /> + <ClInclude Include="..\..\..\src\jrd\GarbageCollector.h" /> <ClInclude Include="..\..\..\src\jrd\GlobalRWLock.h" /> <ClInclude Include="..\..\..\src\jrd\grant_proto.h" /> <ClInclude Include="..\..\..\src\jrd\ibase.h" /> Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2011-05-27 07:57:16 UTC (rev 53021) @@ -465,6 +465,9 @@ <ClCompile Include="..\..\..\src\jrd\recsrc\ConditionalStream.cpp"> <Filter>JRD files\Data Access</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\jrd\GarbageCollector.cpp"> + <Filter>JRD files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\src\jrd\recsrc\RecordSource.h"> @@ -1010,6 +1013,9 @@ <ClInclude Include="..\..\..\src\jrd\vio_proto.h"> <Filter>Header files</Filter> </ClInclude> + <ClInclude Include="..\..\..\src\jrd\GarbageCollector.h"> + <Filter>Header files</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="..\..\..\src\dsql\DdlNodes.epp"> Modified: firebird/trunk/builds/win32/msvc8/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc8/engine.vcproj 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/builds/win32/msvc8/engine.vcproj 2011-05-27 07:57:16 UTC (rev 53021) @@ -420,6 +420,10 @@ > </File> <File + RelativePath="..\..\..\src\jrd\GarbageCollector.cpp" + > + </File> + <File RelativePath="..\..\..\src\jrd\GlobalRWLock.cpp" > </File> @@ -1168,6 +1172,10 @@ > </File> <File + RelativePath="..\..\..\src\jrd\GarbageCollector.h" + > + </File> + <File RelativePath="..\..\..\src\jrd\GlobalRWLock.h" > </File> Modified: firebird/trunk/builds/win32/msvc9/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc9/engine.vcproj 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/builds/win32/msvc9/engine.vcproj 2011-05-27 07:57:16 UTC (rev 53021) @@ -420,6 +420,10 @@ > </File> <File + RelativePath="..\..\..\src\jrd\GarbageCollector.cpp" + > + </File> + <File RelativePath="..\..\..\src\jrd\GlobalRWLock.cpp" > </File> @@ -1168,6 +1172,10 @@ > </File> <File + RelativePath="..\..\..\src\jrd\GarbageCollector.h" + > + </File> + <File RelativePath="..\..\..\src\jrd\GlobalRWLock.h" > </File> Modified: firebird/trunk/src/common/common.h =================================================================== --- firebird/trunk/src/common/common.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/common/common.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -78,11 +78,7 @@ do not use links in source code to maintain platform neutrality */ -#ifdef SUPERSERVER -#define GARBAGE_THREAD -#endif - /***************************************************** * Linux platforms *****************************************************/ Modified: firebird/trunk/src/jrd/Attachment.h =================================================================== --- firebird/trunk/src/jrd/Attachment.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/Attachment.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -351,33 +351,27 @@ // Attachment flags -const ULONG ATT_no_cleanup = 1; // Don't expunge, purge, or garbage collect -const ULONG ATT_shutdown = 2; // attachment has been shutdown -const ULONG ATT_purge_error = 4; // trouble happened in purge attachment, att_mutex remains locked -const ULONG ATT_shutdown_manager = 8; // attachment requesting shutdown -const ULONG ATT_lck_init_done = 16; // LCK_init() called for the attachment -const ULONG ATT_exclusive = 32; // attachment wants exclusive database access -const ULONG ATT_attach_pending = 64; // Indicate attachment is only pending -const ULONG ATT_exclusive_pending = 128; // Indicate exclusive attachment pending -const ULONG ATT_gbak_attachment = 256; // Indicate GBAK attachment +const ULONG ATT_no_cleanup = 0x0001L; // Don't expunge, purge, or garbage collect +const ULONG ATT_shutdown = 0x0002L; // attachment has been shutdown +const ULONG ATT_purge_error = 0x0004L; // trouble happened in purge attachment, att_mutex remains locked +const ULONG ATT_shutdown_manager = 0x0008L; // attachment requesting shutdown +const ULONG ATT_lck_init_done = 0x0010L; // LCK_init() called for the attachment +const ULONG ATT_exclusive = 0x0020L; // attachment wants exclusive database access +const ULONG ATT_attach_pending = 0x0040L; // Indicate attachment is only pending +const ULONG ATT_exclusive_pending = 0x0080L; // Indicate exclusive attachment pending +const ULONG ATT_gbak_attachment = 0x0100L; // Indicate GBAK attachment +const ULONG ATT_notify_gc = 0x0200L; // Notify garbage collector to expunge, purge .. +const ULONG ATT_disable_notify_gc = 0x0400L; // Temporarily perform own garbage collection +const ULONG ATT_garbage_collector = 0x0800L; // I'm a garbage collector +const ULONG ATT_cancel_raise = 0x1000L; // Cancel currently running operation +const ULONG ATT_cancel_disable = 0x2000L; // Disable cancel operations +const ULONG ATT_gfix_attachment = 0x4000L; // Indicate a GFIX attachment +const ULONG ATT_gstat_attachment = 0x8000L; // Indicate a GSTAT attachment +const ULONG ATT_no_db_triggers = 0x10000L; // Don't execute database triggers -#ifdef GARBAGE_THREAD -const ULONG ATT_notify_gc = 1024; // Notify garbage collector to expunge, purge .. -const ULONG ATT_disable_notify_gc = 2048; // Temporarily perform own garbage collection -const ULONG ATT_garbage_collector = 4096; // I'm a garbage collector - const ULONG ATT_NO_CLEANUP = (ATT_no_cleanup | ATT_notify_gc); -#else -const ULONG ATT_NO_CLEANUP = ATT_no_cleanup; -#endif -const ULONG ATT_cancel_raise = 8192; // Cancel currently running operation -const ULONG ATT_cancel_disable = 16384; // Disable cancel operations -const ULONG ATT_gfix_attachment = 32768; // Indicate a GFIX attachment -const ULONG ATT_gstat_attachment = 65536; // Indicate a GSTAT attachment -const ULONG ATT_no_db_triggers = 131072; // Don't execute database triggers - inline bool Attachment::locksmith() const { return att_user && att_user->locksmith(); Modified: firebird/trunk/src/jrd/Database.h =================================================================== --- firebird/trunk/src/jrd/Database.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/Database.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -75,6 +75,7 @@ class BackupManager; class ExternalFileDirectoryList; class MonitoringData; +class GarbageCollector; // general purpose vector @@ -196,11 +197,9 @@ const ULONG DBB_damaged = 0x1L; const ULONG DBB_exclusive = 0x2L; // Database is accessed in exclusive mode const ULONG DBB_bugcheck = 0x4L; // Bugcheck has occurred -#ifdef GARBAGE_THREAD const ULONG DBB_garbage_collector = 0x8L; // garbage collector thread exists const ULONG DBB_gc_active = 0x10L; // ... and is actively working. const ULONG DBB_gc_pending = 0x20L; // garbage collection requested -#endif const ULONG DBB_force_write = 0x40L; // Database is forced write const ULONG DBB_no_reserve = 0x80L; // No reserve space for versions const ULONG DBB_DB_SQL_dialect_3 = 0x100L; // database SQL dialect 3 @@ -314,6 +313,7 @@ Database* dbb_next; // Next database block in system Attachment* dbb_attachments; // Active attachments + Attachment* dbb_sys_attachments; // System attachments BufferControl* dbb_bcb; // Buffer control block int dbb_monitoring_id; // dbb monitoring identifier Lock* dbb_lock; // granddaddy lock @@ -370,12 +370,10 @@ SLONG dbb_attachment_id; // Next attachment id for ReadOnly DB's ULONG dbb_page_buffers; // Page buffers from header page - -#ifdef GARBAGE_THREAD + GarbageCollector* dbb_garbage_collector; // GarbageCollector class Firebird::Semaphore dbb_gc_sem; // Event to wake up garbage collector Firebird::Semaphore dbb_gc_init; // Event for initialization garbage collector Firebird::Semaphore dbb_gc_fini; // Event for finalization garbage collector -#endif Firebird::MemoryStats dbb_memory_stats; Modified: firebird/trunk/src/jrd/DatabaseSnapshot.cpp =================================================================== --- firebird/trunk/src/jrd/DatabaseSnapshot.cpp 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/DatabaseSnapshot.cpp 2011-05-27 07:57:16 UTC (rev 53021) @@ -784,59 +784,70 @@ { Attachment::SyncGuard attGuard(attachment); tdbb->setAttachment(attachment); + dumpAttachment(tdbb, attachment, writer); + } - if (!putAttachment(tdbb, attachment, writer, fb_utils::genUniqueId())) - continue; + for (Attachment* attachment = dbb->dbb_sys_attachments; attachment; attachment = attachment->att_next) + { + Attachment::SyncGuard attGuard(attachment); + tdbb->setAttachment(attachment); + dumpAttachment(tdbb, attachment, writer); + } - putContextVars(attachment->att_context_vars, writer, attachment->att_attachment_id, true); + tdbb->setAttachment(old_attachment); +} - jrd_tra* transaction = NULL; - jrd_req* request = NULL; +void DatabaseSnapshot::dumpAttachment(thread_db* tdbb, const Attachment* attachment, Writer& writer) +{ + if (!putAttachment(tdbb, attachment, writer, fb_utils::genUniqueId())) + return; - // Transaction information + putContextVars(attachment->att_context_vars, writer, attachment->att_attachment_id, true); - for (transaction = attachment->att_transactions; - transaction; transaction = transaction->tra_next) - { - putTransaction(transaction, writer, fb_utils::genUniqueId()); - putContextVars(transaction->tra_context_vars, writer, transaction->tra_number, false); - } + jrd_tra* transaction = NULL; + jrd_req* request = NULL; - // Call stack information + // Transaction information - for (transaction = attachment->att_transactions; - transaction; transaction = transaction->tra_next) - { - for (request = transaction->tra_requests; request; request = request->req_caller) - { - request->adjustCallerStats(); + for (transaction = attachment->att_transactions; + transaction; transaction = transaction->tra_next) + { + putTransaction(transaction, writer, fb_utils::genUniqueId()); + putContextVars(transaction->tra_context_vars, writer, transaction->tra_number, false); + } - if (!(request->getStatement()->flags & - (JrdStatement::FLAG_INTERNAL | JrdStatement::FLAG_SYS_TRIGGER)) && - request->req_caller) - { - putCall(request, writer, fb_utils::genUniqueId()); - } - } - } + // Call stack information - // Request information - - for (const jrd_req* const* i = attachment->att_requests.begin(); - i != attachment->att_requests.end(); - ++i) + for (transaction = attachment->att_transactions; + transaction; transaction = transaction->tra_next) + { + for (request = transaction->tra_requests; request; request = request->req_caller) { - const jrd_req* request = *i; + request->adjustCallerStats(); if (!(request->getStatement()->flags & - (JrdStatement::FLAG_INTERNAL | JrdStatement::FLAG_SYS_TRIGGER))) + (JrdStatement::FLAG_INTERNAL | JrdStatement::FLAG_SYS_TRIGGER)) && + request->req_caller) { - putRequest(request, writer, fb_utils::genUniqueId()); + putCall(request, writer, fb_utils::genUniqueId()); } } } - tdbb->setAttachment(old_attachment); + // Request information + + for (const jrd_req* const* i = attachment->att_requests.begin(); + i != attachment->att_requests.end(); + ++i) + { + const jrd_req* request = *i; + + if (!(request->getStatement()->flags & + (JrdStatement::FLAG_INTERNAL | JrdStatement::FLAG_SYS_TRIGGER))) + { + putRequest(request, writer, fb_utils::genUniqueId()); + } + } } Modified: firebird/trunk/src/jrd/DatabaseSnapshot.h =================================================================== --- firebird/trunk/src/jrd/DatabaseSnapshot.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/DatabaseSnapshot.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -360,6 +360,7 @@ RecordBuffer* allocBuffer(thread_db*, MemoryPool&, int); static void dumpData(thread_db*); + static void dumpAttachment(thread_db*, const Attachment*, Writer&); static SINT64 getGlobalId(int); Modified: firebird/trunk/src/jrd/EngineInterface.h =================================================================== --- firebird/trunk/src/jrd/EngineInterface.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/EngineInterface.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -334,6 +334,36 @@ void freeEngineData(Firebird::IStatus* status); }; +// internal class used in system background threads +class SysAttachment : public JAttachment +{ +public: + SysAttachment(Attachment* handle) : + JAttachment(handle) + { + } + + virtual int FB_CARG release() + { + if (--refCounter != 0) + return 1; + + Attachment* attachment = getHandle(); + if (attachment) + { + destroy(attachment); + } + if (!attachment) + { + delete this; + } + return 0; + } + +private: + void destroy(Attachment* attachment); +}; + class JService : public Firebird::RefCntIface<Firebird::IService, FB_SERVICE_VERSION> { public: Added: firebird/trunk/src/jrd/GarbageCollector.cpp =================================================================== --- firebird/trunk/src/jrd/GarbageCollector.cpp (rev 0) +++ firebird/trunk/src/jrd/GarbageCollector.cpp 2011-05-27 07:57:16 UTC (rev 53021) @@ -0,0 +1,275 @@ +/* + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Vlad Khorsun + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2011 Vlad Khorsun <hv...@us...> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#include "../common/classes/alloc.h" +#include "../jrd/GarbageCollector.h" +#include "../jrd/tra.h" + +using namespace Jrd; +using namespace Firebird; + + +namespace Jrd { + +void GarbageCollector::RelationData::clear() +{ + TranData::ConstAccessor accessor(&m_tranData); + if (accessor.getFirst()) + do + { + delete accessor.current()->second; + } while(accessor.getNext()); + + m_tranData.clear(); +} + + +void GarbageCollector::RelationData::addPage(const ULONG pageno, const SLONG tranid) +{ + // look if given page number is already set at given tx bitmap + PageBitmap** bmPtr = m_tranData.get(tranid); + PageBitmap* bm = bmPtr ? *bmPtr : NULL; + if (bm && bm->test(pageno)) + return; + + // search for given page at other transactions bitmaps + // if found at older tx - we are done, just return + // if found at yanger tx - clear it as page should be set at oldest tx (our) + TranData::ConstAccessor accessor(&m_tranData); + if (accessor.getFirst()) + do + { + const TranBitMap* item = accessor.current(); + if (item->first <= tranid) + { + if (item->second->test(pageno)) + return; + } + else + { + if (item->second->clear(pageno)) + break; + } + } while(accessor.getNext()); + + // add page to the our tx bitmap + if (bm) + { + PBM_SET(&m_pool, &bm, pageno); + } + else + { + PBM_SET(&m_pool, &bm, pageno); + m_tranData.put(tranid, bm); + } +} + + +void GarbageCollector::RelationData::getPageBitmap(const SLONG oldest_snapshot, PageBitmap **sbm) +{ + TranData::Accessor accessor(&m_tranData); + while (accessor.getFirst()) + { + TranBitMap* item = accessor.current(); + + if (item->first >= oldest_snapshot) + break; + + PageBitmap* bm_tran = item->second; + PageBitmap** bm_or = PageBitmap::bit_or(sbm, &bm_tran); + if (*bm_or == item->second) + { + bm_tran = *sbm; + *sbm = item->second; + item->second = bm_tran; + } + delete item->second; + + m_tranData.remove(item->first); + } +} + + +void GarbageCollector::RelationData::swept(const SLONG oldest_snapshot) +{ + TranData::Accessor accessor(&m_tranData); + while (accessor.getFirst()) + { + TranBitMap* item = accessor.current(); + + if (item->first >= oldest_snapshot) + break; + + delete item->second; + m_tranData.remove(item->first); + } +} + + +SLONG GarbageCollector::RelationData::minTranID() const +{ + TranData::ConstAccessor accessor(&m_tranData); + if (accessor.getFirst()) + return accessor.current()->first; + else + return MAX_TRA_NUMBER; +} + + +GarbageCollector::~GarbageCollector() +{ + SyncLockGuard exGuard(&m_sync, SYNC_EXCLUSIVE, "GarbageCollector::~GarbageCollector"); + for (size_t pos = 0; pos < m_relations.getCount(); pos++) + { + Sync sync(&m_relations[pos]->m_sync, "GarbageCollector::~GarbageCollector"); + sync.lock(SYNC_EXCLUSIVE); + sync.unlock(); + delete m_relations[pos]; + } + + m_relations.clear(); +} + + +void GarbageCollector::addPage(const USHORT relID, const ULONG pageno, const SLONG tranid) +{ + Sync syncGC(&m_sync, "GarbageCollector::addPage"); + RelationData* relData = getRelData(syncGC, relID, true); + + SyncLockGuard syncData(&relData->m_sync, SYNC_EXCLUSIVE, "GarbageCollector::addPage"); + syncGC.unlock(); + + relData->addPage(pageno, tranid); +} + + +bool GarbageCollector::getPageBitmap(const SLONG oldest_snapshot, USHORT &relID, PageBitmap **sbm) +{ + *sbm = NULL; + SyncLockGuard shGuard(&m_sync, SYNC_EXCLUSIVE, "GarbageCollector::getPageBitmap"); + + if (m_relations.isEmpty()) + { + m_nextRelID = 0; + return false; + } + + size_t pos; + if (!m_relations.find(m_nextRelID, pos) && (pos == m_relations.getCount()) ) + pos = 0; + + for (; pos < m_relations.getCount(); pos++) + { + RelationData* relData = m_relations[pos]; + SyncLockGuard syncData(&relData->m_sync, SYNC_EXCLUSIVE, "GarbageCollector::getPageBitmap"); + relData->getPageBitmap(oldest_snapshot, sbm); + if (*sbm) + { + relID = relData->getRelID(); + m_nextRelID = relID + 1; + return true; + } + } + + m_nextRelID = 0; + return false; +} + + +void GarbageCollector::removeRelation(const USHORT relID) +{ + Sync syncGC(&m_sync, "GarbageCollector::removeRelation"); + syncGC.lock(SYNC_EXCLUSIVE); + + size_t pos; + if (!m_relations.find(relID, pos)) + return; + + RelationData* relData = m_relations[pos]; + Sync syncData(&relData->m_sync, "GarbageCollector::removeRelation"); + syncData.lock(SYNC_EXCLUSIVE); + + m_relations.remove(pos); + syncGC.unlock(); + + syncData.unlock(); + delete relData; +} + + +void GarbageCollector::sweptRelation(const SLONG oldest_snapshot, const USHORT relID) +{ + Sync syncGC(&m_sync, "GarbageCollector::sweptRelation"); + + RelationData* relData = getRelData(syncGC, relID, false); + if (relData) + { + SyncLockGuard syncData(&relData->m_sync, SYNC_EXCLUSIVE, "GarbageCollector::sweptRelation"); + + syncGC.unlock(); + relData->swept(oldest_snapshot); + } + return; +} + + +SLONG GarbageCollector::minTranID(const USHORT relID) +{ + Sync syncGC(&m_sync, "GarbageCollector::minTranID"); + + RelationData* relData = getRelData(syncGC, relID, false); + if (relData) + { + SyncLockGuard syncData(&relData->m_sync, SYNC_SHARED, "GarbageCollector::minTranID"); + + syncGC.unlock(); + return relData->minTranID(); + } + + return MAX_TRA_NUMBER; +} + + +GarbageCollector::RelationData* GarbageCollector::getRelData(Sync &sync, const USHORT relID, bool allowCreate) +{ + size_t pos; + + sync.lock(SYNC_SHARED); + if (!m_relations.find(relID, pos)) + { + if (!allowCreate) + return NULL; + + sync.unlock(); + sync.lock(SYNC_EXCLUSIVE); + if (!m_relations.find(relID, pos)) + { + m_relations.insert(pos, FB_NEW(m_pool) RelationData(m_pool, relID)); + sync.downgrade(SYNC_SHARED); + } + } + + return m_relations[pos]; +} + + +} // namespace Jrd Property changes on: firebird/trunk/src/jrd/GarbageCollector.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: firebird/trunk/src/jrd/GarbageCollector.h =================================================================== --- firebird/trunk/src/jrd/GarbageCollector.h (rev 0) +++ firebird/trunk/src/jrd/GarbageCollector.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -0,0 +1,108 @@ +/* + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Vlad Khorsun + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2011 Vlad Khorsun <hv...@us...> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#ifndef JRD_GARBAGE_COLLECTOR_H +#define JRD_GARBAGE_COLLECTOR_H + +#include "firebird.h" +#include "../common/classes/array.h" +#include "../common/classes/GenericMap.h" +#include "../common/classes/SyncObject.h" +#include "../jrd/sbm.h" + + +namespace Jrd { + +class Database; +class Savepoint; + +class GarbageCollector +{ +public: + GarbageCollector(MemoryPool& p, Database* dbb) + : m_pool(p), m_database(dbb), m_relations(m_pool), m_nextRelID(0) + {} + + ~GarbageCollector(); + + void addPage(const USHORT relID, const ULONG pageno, const SLONG tranid); + bool getPageBitmap(const SLONG oldest_snapshot, USHORT &relID, PageBitmap **sbm); + void removeRelation(const USHORT relID); + void sweptRelation(const SLONG oldest_snapshot, const USHORT relID); + + SLONG minTranID(const USHORT relID); + +private: + typedef Firebird::Pair<Firebird::NonPooled<SLONG, PageBitmap*> > TranBitMap; + typedef Firebird::GenericMap<TranBitMap> TranData; + + + class RelationData + { + public: + explicit RelationData(MemoryPool& p, USHORT relID) + : m_pool(p), m_tranData(p), m_relID(relID) + {} + + ~RelationData() { clear(); } + + void addPage(const ULONG pageno, const SLONG tranid); + void getPageBitmap(const SLONG oldest_snapshot, PageBitmap **sbm); + void swept(const SLONG oldest_snapshot); + SLONG minTranID() const; + + USHORT getRelID() const + { + return m_relID; + } + + static inline const USHORT generate(void const*, const RelationData* Item) + { + return Item->m_relID; + } + + void clear(); + + Firebird::MemoryPool& m_pool; + Firebird::SyncObject m_sync; + TranData m_tranData; + USHORT m_relID; + }; + + typedef Firebird::SortedArray< + RelationData*, + Firebird::EmptyStorage<RelationData*>, + LONG, + RelationData> RelGarbageArray; + + RelationData* getRelData(Firebird::Sync &sync, const USHORT relID, bool allowCreate); + + Firebird::MemoryPool& m_pool; + Firebird::SyncObject m_sync; + Database* m_database; + RelGarbageArray m_relations; + USHORT m_nextRelID; +}; + +} // namespace Jrd + +#endif JRD_GARBAGE_COLLECTOR_H Property changes on: firebird/trunk/src/jrd/GarbageCollector.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: firebird/trunk/src/jrd/Relation.cpp =================================================================== --- firebird/trunk/src/jrd/Relation.cpp 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/Relation.cpp 2011-05-27 07:57:16 UTC (rev 53021) @@ -10,10 +10,10 @@ * See the License for the specific language governing rights * and limitations under the License. * - * The Original Code was created by Vlad Horsun + * The Original Code was created by Vlad Khorsun * for the Firebird Open Source RDBMS project. * - * Copyright (c) 2005 Vlad Horsun <hv...@us...> + * Copyright (c) 2005 Vlad Khorsun <hv...@us...> * and all contributors signed below. * * All Rights Reserved. @@ -32,88 +32,8 @@ using namespace Jrd; -#ifdef GARBAGE_THREAD +/// jrd_rel -void RelationGarbage::clear() -{ - TranGarbage *item = array.begin(), *const last = array.end(); - - for (; item < last; item++) - { - delete item->bm; - item->bm = NULL; - } - - array.clear(); -} - -void RelationGarbage::addPage(MemoryPool* pool, const SLONG pageno, const SLONG tranid) -{ - bool found = false; - TranGarbage const *item = array.begin(), *const last = array.end(); - - for (; item < last; item++) - { - if (item->tran <= tranid) - { - if (PageBitmap::test(item->bm, pageno)) - { - found = true; - break; - } - } - else - { - if (item->bm->clear(pageno)) - break; - } - } - - if (!found) - { - PageBitmap *bm = NULL; - size_t pos = 0; - - if (array.find(tranid, pos) ) - { - bm = array[pos].bm; - PBM_SET(pool, &bm, pageno); - } - else - { - bm = NULL; - PBM_SET(pool, &bm, pageno); - array.add(TranGarbage(bm, tranid)); - } - } -} - -void RelationGarbage::getGarbage(const SLONG oldest_snapshot, PageBitmap **sbm) -{ - while (array.getCount() > 0) - { - TranGarbage& garbage = array[0]; - - if (garbage.tran >= oldest_snapshot) - break; - - PageBitmap* bm_tran = garbage.bm; - PageBitmap** bm_or = PageBitmap::bit_or(sbm, &bm_tran); - if (*bm_or == garbage.bm) - { - bm_tran = *sbm; - *sbm = garbage.bm; - garbage.bm = bm_tran; - } - delete garbage.bm; - - // Need to cast zero to exact type because literal zero means null pointer - array.remove(static_cast<size_t>(0)); - } -} - -#endif //GARBAGE_THREAD - RelationPages* jrd_rel::getPagesInternal(thread_db* tdbb, SLONG tran, bool allocPages) { if (tdbb->tdbb_flags & TDBB_use_db_page_space) Modified: firebird/trunk/src/jrd/Relation.h =================================================================== --- firebird/trunk/src/jrd/Relation.h 2011-05-27 03:27:46 UTC (rev 53020) +++ firebird/trunk/src/jrd/Relation.h 2011-05-27 07:57:16 UTC (rev 53021) @@ -63,54 +63,7 @@ typedef Firebird::SortedArray<ViewContext*, Firebird::EmptyStorage<ViewContext*>, USHORT, ViewContext> ViewContexts; -#ifdef GARBAGE_THREAD -class RelationGarbage -{ -private: - class TranGarbage - { - public: - SLONG tran; - PageBitmap *bm; - - TranGarbage(PageBitmap* aBm, SLONG aTran) - : tran(aTran), bm(aBm) - {} - - static inline const SLONG generate(void const*, const TranGarbage& Item) - { - return Item.tran; - } - }; - - typedef Firebird::SortedArray< - TranGarbage, - Firebird::EmptyStorage<TranGarbage>, - SLONG, - TranGarbage> TranGarbageArray; - - TranGarbageArray array; - -public: - explicit RelationGarbage(MemoryPool& p) - : array(p) - {} - ~RelationGarbage() { clear(); } - - void addPage(MemoryPool* pool, const SLONG pageno, const SLONG tranid); - void clear(); - - void getGarbage(const SLONG oldest_snapshot, PageBitmap **sbm); - - SLONG minTranID() const - { - return (array.getCount() > 0) ? array[0].tran : MAX_SLONG; - } -}; - -#endif //GARBAGE_THREAD - class RelationPages { public: @@ -197,10 +150,6 @@ ExternalFile* rel_file; // external file name vec... [truncated message content] |
From: <fir...@us...> - 2011-05-28 03:16:29
|
Revision: 53030 http://firebird.svn.sourceforge.net/firebird/?rev=53030&view=rev Author: firebirds Date: 2011-05-28 03:16:22 +0000 (Sat, 28 May 2011) 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 2011-05-28 02:05:45 UTC (rev 53029) +++ firebird/trunk/ChangeLog 2011-05-28 03:16:22 UTC (rev 53030) @@ -1,3 +1,72 @@ + 2011-05-28 02:05 asfernandes + M src/common/classes/ImplementHelper.h + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/EngineInterface.h + M src/jrd/GarbageCollector.cpp + M src/jrd/GarbageCollector.h + M src/jrd/cch.cpp + M src/jrd/jrd.cpp + M src/jrd/req.h + M src/jrd/vio.cpp +Misc. + + 2011-05-27 16:18 asfernandes + M src/jrd/GarbageCollector.cpp + M src/jrd/GarbageCollector.h +Misc. + + 2011-05-27 16:04 asfernandes + M src/jrd/GarbageCollector.h +Correction. + + 2011-05-27 15:29 asfernandes + M src/dsql/ExprNodes.cpp + M src/dsql/metd.epp +Fixed CORE-3475 - Parameters inside the CAST function are described as not nullable. + + 2011-05-27 11:31 alexpeshkoff + M src/common/classes/ImplementHelper.h + M src/jrd/jrd.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/PluginManager.cpp +Avoid deadlocks in timers. Fixes use of timers to delay plugin modules unload. + + 2011-05-27 10:13 alexpeshkoff + M src/jrd/req.h +Make sure rpb is initialized + + 2011-05-27 09:48 alexpeshkoff + M src/jrd/GarbageCollector.h +Misc + + 2011-05-27 07:57 hvlad + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj + M src/common/common.h + M src/jrd/Attachment.h + M src/jrd/Database.h + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/DatabaseSnapshot.h + M src/jrd/EngineInterface.h + A src/jrd/GarbageCollector.cpp + A src/jrd/GarbageCollector.h + M src/jrd/Relation.cpp + M src/jrd/Relation.h + M src/jrd/cch.cpp + M src/jrd/cch.h + M src/jrd/cch_proto.h + M src/jrd/dfw.epp + M src/jrd/dpm.epp + M src/jrd/jrd.cpp + M src/jrd/req.h + M src/jrd/tra.cpp + M src/jrd/vio.cpp + M src/jrd/vio_proto.h +Enabled background threads (garbage collector and cache writer). +Introduced special kind of system attachments used in this threads and show its activity in monitoring. + 2011-05-27 02:05 asfernandes M src/dsql/DdlNodes.epp M src/dsql/DsqlCompilerScratch.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-05-28 02:05:45 UTC (rev 53029) +++ firebird/trunk/src/jrd/build_no.h 2011-05-28 03:16:22 UTC (rev 53030) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29394 + FORMAL BUILD NUMBER:29402 */ -#define PRODUCT_VER_STRING "3.0.0.29394" -#define FILE_VER_STRING "WI-T3.0.0.29394" -#define LICENSE_VER_STRING "WI-T3.0.0.29394" -#define FILE_VER_NUMBER 3, 0, 0, 29394 +#define PRODUCT_VER_STRING "3.0.0.29402" +#define FILE_VER_STRING "WI-T3.0.0.29402" +#define LICENSE_VER_STRING "WI-T3.0.0.29402" +#define FILE_VER_NUMBER 3, 0, 0, 29402 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29394" +#define FB_BUILD_NO "29402" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-05-28 02:05:45 UTC (rev 53029) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-05-28 03:16:22 UTC (rev 53030) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29394 +BuildNum=29402 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...> - 2011-05-31 03:17:49
|
Revision: 53044 http://firebird.svn.sourceforge.net/firebird/?rev=53044&view=rev Author: firebirds Date: 2011-05-31 03:17:42 +0000 (Tue, 31 May 2011) 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 2011-05-31 01:00:31 UTC (rev 53043) +++ firebird/trunk/ChangeLog 2011-05-31 03:17:42 UTC (rev 53044) @@ -1,3 +1,31 @@ + 2011-05-31 01:00 asfernandes + M src/jrd/RecordSourceNodes.cpp +Frontport fix for CORE-3489 - Blob transliteration may not happen inside the union. + + 2011-05-30 15:51 alexpeshkoff + M builds/install/arch-specific/linux/misc/tarMainInstall.sh.in + M builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in + M builds/install/misc/posixLibrary.sh.in +Frontported CORE-3467: provide a silent install switch + + 2011-05-30 14:26 hvlad + M src/jrd/Relation.h + M src/jrd/dfw.epp + M src/jrd/met.epp +Fixed related bugs +CORE-3502 : DROP VIEW ignores the existing non-column dependencies, and +CORE-3503 : ALTER VIEW crashes the server if the new version has an artificial (aggregate or union) stream at the position of a regular context in the older version. +// Name REL_view is already used in DSQL so i introduced ugly REL_jrd_view flag + + 2011-05-30 14:05 alexpeshkoff + M src/jrd/flu.cpp + M src/jrd/flu.h +Frontported CORE-3443: Races in UDF library lookup + + 2011-05-30 09:59 dimitr + M src/remote/inet.cpp +Fixed CORE-3387: Client library could hang infinitely waiting for a reply packet on a forcibly disconnected server socket. + 2011-05-28 02:05 asfernandes M src/common/classes/ImplementHelper.h M src/jrd/DatabaseSnapshot.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-05-31 01:00:31 UTC (rev 53043) +++ firebird/trunk/src/jrd/build_no.h 2011-05-31 03:17:42 UTC (rev 53044) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29402 + FORMAL BUILD NUMBER:29407 */ -#define PRODUCT_VER_STRING "3.0.0.29402" -#define FILE_VER_STRING "WI-T3.0.0.29402" -#define LICENSE_VER_STRING "WI-T3.0.0.29402" -#define FILE_VER_NUMBER 3, 0, 0, 29402 +#define PRODUCT_VER_STRING "3.0.0.29407" +#define FILE_VER_STRING "WI-T3.0.0.29407" +#define LICENSE_VER_STRING "WI-T3.0.0.29407" +#define FILE_VER_NUMBER 3, 0, 0, 29407 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29402" +#define FB_BUILD_NO "29407" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-05-31 01:00:31 UTC (rev 53043) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-05-31 03:17:42 UTC (rev 53044) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29402 +BuildNum=29407 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...> - 2011-06-01 01:45:03
|
Revision: 53068 http://firebird.svn.sourceforge.net/firebird/?rev=53068&view=rev Author: asfernandes Date: 2011-06-01 01:44:54 +0000 (Wed, 01 Jun 2011) Log Message: ----------- Work in progress on the external engines API changes. Modified Paths: -------------- firebird/trunk/builds/posix/Makefile.in.plugins_examples firebird/trunk/builds/win32/msvc10/engine.vcxproj firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters firebird/trunk/builds/win32/msvc8/engine.vcproj firebird/trunk/builds/win32/msvc9/engine.vcproj firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/common/dsc.cpp firebird/trunk/src/common/dsc.h firebird/trunk/src/dsql/dsql.cpp firebird/trunk/src/include/FirebirdApi.h firebird/trunk/src/include/FirebirdExternalApi.h firebird/trunk/src/include/FirebirdUdrCpp.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/Function.epp firebird/trunk/src/jrd/cmp.cpp firebird/trunk/src/jrd/exe.cpp firebird/trunk/src/jrd/req.h firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp firebird/trunk/src/yvalve/YObjects.h Removed Paths: ------------- firebird/trunk/src/jrd/ValueImpl.cpp firebird/trunk/src/jrd/ValueImpl.h firebird/trunk/src/jrd/ValuesImpl.cpp firebird/trunk/src/jrd/ValuesImpl.h Modified: firebird/trunk/builds/posix/Makefile.in.plugins_examples =================================================================== --- firebird/trunk/builds/posix/Makefile.in.plugins_examples 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/builds/posix/Makefile.in.plugins_examples 2011-06-01 01:44:54 UTC (rev 53068) @@ -59,10 +59,12 @@ $(PLUGINS)/udr/$(LIB_PREFIX)udrcpp_example.$(SHRLIB_EXT): $(UDR_Objects) ifeq ($(PLATFORM),DARWIN) - $(LIB_LINK) $(LIB_BUNDLE_OPTIONS) -o $@ $^ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ + $(LIB_LINK) $(LIB_BUNDLE_OPTIONS) -o $@ $^ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ \ + $(FIREBIRD_LIBRARY_LINK) else $(LIB_LINK) $(LIB_LINK_OPTIONS) $(LIB_LINK_SONAME)udrcpp_example.$(SHRLIB_EXT) \ -$(LIB_PATH_OPTS) -o $@ $^ $(THR_LIBS) $(PLUGINS)/$(LIB_PREFIX)udr_engine.$(SHRLIB_EXT) + $(LIB_PATH_OPTS) -o $@ $^ $(THR_LIBS) $(PLUGINS)/$(LIB_PREFIX)udr_engine.$(SHRLIB_EXT) \ + $(FIREBIRD_LIBRARY_LINK) endif include $(ROOT)/gen/make.shared.targets Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj 2011-06-01 01:44:54 UTC (rev 53068) @@ -153,8 +153,6 @@ <ClCompile Include="..\..\..\src\jrd\trace\TraceService.cpp" /> <ClCompile Include="..\..\..\src\jrd\UserManagement.cpp" /> <ClCompile Include="..\..\..\src\jrd\validation.cpp" /> - <ClCompile Include="..\..\..\src\jrd\ValueImpl.cpp" /> - <ClCompile Include="..\..\..\src\jrd\ValuesImpl.cpp" /> <ClCompile Include="..\..\..\src\jrd\vio.cpp" /> <ClCompile Include="..\..\..\src\jrd\VirtualTable.cpp" /> <ClCompile Include="..\..\..\src\lock\lock.cpp" /> @@ -339,8 +337,6 @@ <ClInclude Include="..\..\..\src\jrd\types.h" /> <ClInclude Include="..\..\..\src\jrd\UserManagement.h" /> <ClInclude Include="..\..\..\src\jrd\val.h" /> - <ClInclude Include="..\..\..\src\jrd\ValueImpl.h" /> - <ClInclude Include="..\..\..\src\jrd\ValuesImpl.h" /> <ClInclude Include="..\..\..\src\jrd\val_proto.h" /> <ClInclude Include="..\..\..\src\jrd\vio_debug.h" /> <ClInclude Include="..\..\..\src\jrd\vio_proto.h" /> @@ -562,4 +558,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> \ No newline at end of file +</Project> Modified: firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/builds/win32/msvc10/engine.vcxproj.filters 2011-06-01 01:44:54 UTC (rev 53068) @@ -384,12 +384,6 @@ <ClCompile Include="..\..\..\src\jrd\validation.cpp"> <Filter>JRD files</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\jrd\ValueImpl.cpp"> - <Filter>JRD files</Filter> - </ClCompile> - <ClCompile Include="..\..\..\src\jrd\ValuesImpl.cpp"> - <Filter>JRD files</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\jrd\vio.cpp"> <Filter>JRD files</Filter> </ClCompile> @@ -1001,12 +995,6 @@ <ClInclude Include="..\..\..\src\jrd\val_proto.h"> <Filter>Header files</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\jrd\ValueImpl.h"> - <Filter>Header files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\src\jrd\ValuesImpl.h"> - <Filter>Header files</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\jrd\vio_debug.h"> <Filter>Header files</Filter> </ClInclude> @@ -1082,4 +1070,4 @@ <Filter>Resource files</Filter> </ResourceCompile> </ItemGroup> -</Project> \ No newline at end of file +</Project> Modified: firebird/trunk/builds/win32/msvc8/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc8/engine.vcproj 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/builds/win32/msvc8/engine.vcproj 2011-06-01 01:44:54 UTC (rev 53068) @@ -588,14 +588,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\ValueImpl.cpp" - > - </File> - <File - RelativePath="..\..\..\src\jrd\ValuesImpl.cpp" - > - </File> - <File RelativePath="..\..\..\src\jrd\vio.cpp" > </File> @@ -1668,14 +1660,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\ValueImpl.h" - > - </File> - <File - RelativePath="..\..\..\src\jrd\ValuesImpl.h" - > - </File> - <File RelativePath="..\..\..\src\jrd\vio_debug.h" > </File> Modified: firebird/trunk/builds/win32/msvc9/engine.vcproj =================================================================== --- firebird/trunk/builds/win32/msvc9/engine.vcproj 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/builds/win32/msvc9/engine.vcproj 2011-06-01 01:44:54 UTC (rev 53068) @@ -588,14 +588,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\ValueImpl.cpp" - > - </File> - <File - RelativePath="..\..\..\src\jrd\ValuesImpl.cpp" - > - </File> - <File RelativePath="..\..\..\src\jrd\vio.cpp" > </File> @@ -1668,14 +1660,6 @@ > </File> <File - RelativePath="..\..\..\src\jrd\ValueImpl.h" - > - </File> - <File - RelativePath="..\..\..\src\jrd\ValuesImpl.h" - > - </File> - <File RelativePath="..\..\..\src\jrd\vio_debug.h" > </File> Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2011-05-31 16:19:47 UTC (rev 53067) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-01 01:44:54 UTC (rev 53068) @@ -30,28 +30,6 @@ using namespace Firebird::Udr; -typedef IMaster* (ISC_EXPORT *FuncGetMasterInterface)(); - -typedef ISC_LONG (ISC_EXPORT_VARARG *FuncEventBlock)(ISC_UCHAR**, ISC_UCHAR**, ISC_USHORT, ...); -typedef ISC_STATUS (ISC_EXPORT *FuncWaitForEvent)(ISC_STATUS*, isc_db_handle*, - short, const ISC_UCHAR*, ISC_UCHAR*); -typedef void (ISC_EXPORT *FuncEventCounts)(ISC_ULONG*, short, ISC_UCHAR*, const ISC_UCHAR*); - -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlAllocateStatement)(ISC_STATUS*, isc_db_handle*, - isc_stmt_handle*); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlDescribe)(ISC_STATUS*, isc_stmt_handle*, unsigned short, - XSQLDA*); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlDescribeBind)(ISC_STATUS*, isc_stmt_handle*, unsigned short, - XSQLDA*); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlExecute)(ISC_STATUS*, isc_tr_handle*, isc_stmt_handle*, - unsigned short, XSQLDA*); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlExecute2)(ISC_STATUS*, isc_tr_handle*, isc_stmt_handle*, - unsigned short, XSQLDA*, XSQLDA*); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlFreeStatement)(ISC_STATUS*, isc_stmt_handle*, unsigned short); -typedef ISC_STATUS (ISC_EXPORT *FuncDsqlPrepare)(ISC_STATUS*, isc_tr_handle*, isc_stmt_handle*, - unsigned short, const ISC_SCHAR*, unsigned short, XSQLDA*); - - namespace { template <typename T> @@ -133,10 +111,461 @@ } +static IMaster* master = fb_get_master_interface(); + + +//------------------------------------------------------------------------------ + + +class MessageImpl; + +class ParamDescBase +{ +public: + ParamDescBase() + : pos(0), + nullPos(0) + { + } + + unsigned pos; + unsigned nullPos; +}; + +template <class T> +class ParamDesc : public ParamDescBase +{ +}; + +template <> +class ParamDesc<void*> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message, const Firebird::IParametersMetadata* aParams); + + unsigned align(unsigned size, unsigned aIndex) + { + index = aIndex; + + AutoDispose<IStatus> status(master->getStatus()); + + switch ((type = params->getType(status, index))) + { + case SQL_SHORT: + size = FB_ALIGN(size, sizeof(ISC_SHORT)); + break; + + case SQL_LONG: + size = FB_ALIGN(size, sizeof(ISC_LONG)); + break; + + case SQL_INT64: + size = FB_ALIGN(size, sizeof(ISC_INT64)); + break; + + case SQL_FLOAT: + size = FB_ALIGN(size, sizeof(float)); + break; + + case SQL_DOUBLE: + size = FB_ALIGN(size, sizeof(double)); + break; + + case SQL_BLOB: + size = FB_ALIGN(size, sizeof(ISC_QUAD)); + break; + + case SQL_TEXT: + case SQL_VARYING: + size = FB_ALIGN(size, sizeof(ISC_USHORT)); + break; + + default: + assert(false); + break; + } + + return size; + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + AutoDispose<IStatus> status(master->getStatus()); + unsigned ret; + + switch (type) + { + case SQL_SHORT: + { + unsigned scale = params->getScale(status, index); + *blr++ = blr_short; + *blr++ = scale; + ret = sizeof(ISC_SHORT); + break; + } + + case SQL_LONG: + { + unsigned scale = params->getScale(status, index); + *blr++ = blr_long; + *blr++ = scale; + ret = sizeof(ISC_LONG); + break; + } + + case SQL_INT64: + { + unsigned scale = params->getScale(status, index); + *blr++ = blr_int64; + *blr++ = scale; + ret = sizeof(ISC_INT64); + break; + } + + case SQL_FLOAT: + *blr++ = blr_float; + ret = sizeof(float); + break; + + case SQL_DOUBLE: + *blr++ = blr_double; + ret = sizeof(double); + break; + + case SQL_BLOB: + *blr++ = blr_blob2; + *blr++ = 0; + *blr++ = 0; + *blr++ = 0; + *blr++ = 0; + ret = sizeof(ISC_QUAD); + break; + + case SQL_TEXT: + case SQL_VARYING: + { + unsigned length = params->getLength(status, index); + *blr++ = blr_varying; + *blr++ = length & 0xFF; + *blr++ = (length >> 8) & 0xFF; + ret = sizeof(ISC_USHORT) + length; + break; + } + + default: + assert(false); + ret = 0; + break; + } + + return ret; + } + + unsigned getType() const + { + return type; + } + +private: + const Firebird::IParametersMetadata* params; + unsigned type; + unsigned index; +}; + +class MessageImpl : public Firebird::FbMessage +{ +public: + MessageImpl(unsigned aItemCount, ISC_UCHAR* aBuffer = NULL) + : itemCount(aItemCount * 2), + freeBuffer(!aBuffer), + items(0) + { + static const ISC_UCHAR HEADER[] = { + blr_version5, + blr_begin, + blr_message, 0, 0, 0 + }; + + blrLength = 0; + blr = blrPos = new ISC_UCHAR[sizeof(HEADER) + 10 * itemCount + 2]; + bufferLength = 0; + buffer = aBuffer; + + memcpy(blrPos, HEADER, sizeof(HEADER)); + blrPos += sizeof(HEADER); + } + + ~MessageImpl() + { + if (freeBuffer && buffer) + delete [] buffer; + + if (blr) + delete [] blr; + } + + template <typename T> + void add(ParamDesc<T>& paramDesc) + { + if (items >= itemCount) + return; // return an error, this is already constructed message + + bufferLength = paramDesc.align(bufferLength, items / 2); + paramDesc.pos = bufferLength; + bufferLength += paramDesc.addBlr(blrPos); + + bufferLength = FB_ALIGN(bufferLength, sizeof(ISC_SHORT)); + paramDesc.nullPos = bufferLength; + bufferLength += sizeof(ISC_SHORT); + + *blrPos++ = blr_short; + *blrPos++ = 0; + + items += 2; + + if (items == itemCount) + { + *blrPos++ = blr_end; + *blrPos++ = blr_eoc; + + blrLength = blrPos - blr; + + ISC_UCHAR* blrStart = blrPos - blrLength; + blrStart[4] = items & 0xFF; + blrStart[5] = (items >> 8) & 0xFF; + + if (!buffer) + { + buffer = new ISC_UCHAR[bufferLength]; + memset(buffer, 0, bufferLength); + } + } + } + + bool isNull(const ParamDescBase& index) + { + return *(ISC_SHORT*) (buffer + index.nullPos); + } + + void setNull(const ParamDescBase& index, bool null) + { + *(ISC_SHORT*) (buffer + index.nullPos) = (ISC_SHORT) null; + } + + template <typename T> T& operator [](const ParamDesc<T>& index) + { + return *(T*) (buffer + index.pos); + } + + void* operator [](const ParamDesc<void*>& index) + { + return buffer + index.pos; + } + +public: + unsigned itemCount; + bool freeBuffer; + unsigned items; + ISC_UCHAR* blrPos; +}; + +template <> +class ParamDesc<ISC_SHORT> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message, ISC_UCHAR aScale = 0) + : scale(aScale) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(ISC_SHORT)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_short; + *blr++ = scale; + return sizeof(ISC_SHORT); + } + +private: + ISC_UCHAR scale; +}; + +template <> +class ParamDesc<ISC_LONG> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message, ISC_UCHAR aScale = 0) + : scale(aScale) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(ISC_LONG)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_long; + *blr++ = scale; + return sizeof(ISC_LONG); + } + +private: + ISC_UCHAR scale; +}; + +template <> +class ParamDesc<ISC_INT64> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message, ISC_UCHAR aScale = 0) + : scale(aScale) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(ISC_INT64)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_int64; + *blr++ = scale; + return sizeof(ISC_INT64); + } + +private: + ISC_UCHAR scale; +}; + +template <> +class ParamDesc<float> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(float)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_float; + return sizeof(float); + } +}; + +template <> +class ParamDesc<double> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(double)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_double; + return sizeof(double); + } +}; + +template <> +class ParamDesc<ISC_QUAD> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(ISC_QUAD)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_blob2; + *blr++ = 0; + *blr++ = 0; + *blr++ = 0; + *blr++ = 0; + return sizeof(ISC_QUAD); + } +}; + +struct FbString +{ + ISC_USHORT length; + char str[1]; +}; + +template <> +class ParamDesc<FbString> : public ParamDescBase +{ +public: + ParamDesc(MessageImpl& message, ISC_USHORT aLength) + : length(aLength) + { + message.add(*this); + } + + unsigned align(unsigned size, unsigned /*index*/) + { + return FB_ALIGN(size, sizeof(ISC_USHORT)); + } + + unsigned addBlr(ISC_UCHAR*& blr) + { + *blr++ = blr_varying; + *blr++ = length & 0xFF; + *blr++ = (length >> 8) & 0xFF; + return sizeof(ISC_USHORT) + length; + } + +private: + ISC_USHORT length; +}; + +//// TODO: boolean, date, time, timestamp + +//-------------------------------------- + +inline ParamDesc<void*>::ParamDesc(MessageImpl& message, const Firebird::IParametersMetadata* aParams) + : params(aParams), + type(0) +{ + message.add(*this); +} + + +//------------------------------------------------------------------------------ + + /*** create function wait_event ( - event_name varchar(31) character set ascii -) returns integer + event_name varchar(31) character set ascii not null +) returns integer not null external name 'udrcpp_example!wait_event' engine udr; ***/ @@ -211,91 +640,110 @@ ~FB_UDR_TRIGGER(replicate)(); private: - void initialize(ExternalContext* context, Values* values); + void initialize(ExternalContext* context); bool initialized; XSQLDA* inSqlDa; isc_stmt_handle stmtHandle; - - // ISC entry points - FuncGetMasterInterface funcGetMasterInterface; - FuncDsqlAllocateStatement funcDsqlAllocateStatement; - FuncDsqlDescribe funcDsqlDescribe; - FuncDsqlDescribeBind funcDsqlDescribeBind; - FuncDsqlExecute funcDsqlExecute; - FuncDsqlExecute2 funcDsqlExecute2; - FuncDsqlFreeStatement funcDsqlFreeStatement; - FuncDsqlPrepare funcDsqlPrepare; +#if 0 + IStatement* stmt; +#endif FB_UDR_END_DECLARE_TRIGGER(replicate) FB_UDR_BEGIN_FUNCTION(wait_event) { - // ISC entry points - FuncEventBlock funcEventBlock = (FuncEventBlock) getEntryPoint(context, "isc_event_block"); - FuncWaitForEvent funcWaitForEvent = (FuncWaitForEvent) getEntryPoint(context, "isc_wait_for_event"); - FuncEventCounts funcEventCounts = (FuncEventCounts) getEntryPoint(context, "isc_event_counts"); + MessageImpl inMessage(1, inMsg); + ParamDesc<FbString> nameDesc(inMessage, 31); - Value* val = params->getValue(ThrowError(), 1); + FbString& name = inMessage[nameDesc]; - const char* s = val->getString(ThrowError()); + char* s = new char[name.length + 1]; + memcpy(s, name.str, name.length); + s[name.length] = '\0'; unsigned char* eveBuffer; unsigned char* eveResult; - int eveLen = funcEventBlock(&eveBuffer, &eveResult, 1, s); + int eveLen = isc_event_block(&eveBuffer, &eveResult, 1, s); + delete [] s; + ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); ISC_ULONG counter = 0; - ThrowError::check(funcWaitForEvent(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); - funcEventCounts(&counter, eveLen, eveBuffer, eveResult); - ThrowError::check(funcWaitForEvent(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + isc_event_counts(&counter, eveLen, eveBuffer, eveResult); + ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), statusVector); - funcEventCounts(&counter, eveLen, eveBuffer, eveResult); + isc_event_counts(&counter, eveLen, eveBuffer, eveResult); isc_free((char*) eveBuffer); isc_free((char*) eveResult); - // returns the counter - result->setInt(ThrowError(), counter); + MessageImpl outMessage(1, outMsg); + ParamDesc<ISC_LONG> retDesc(outMessage); + + outMessage[retDesc] = counter; } FB_UDR_END_FUNCTION(wait_event) FB_UDR_BEGIN_FUNCTION(sum_args) { - unsigned count = params->getCount(); + AutoDispose<IStatus> status(master->getStatus()); + + const IParametersMetadata* params = metadata->getInputParameters(status); + ThrowError::check(status->get()); + + unsigned count = params->getCount(status); + ThrowError::check(status->get()); + + MessageImpl inMessage(count, inMsg); + + MessageImpl outMessage(1, outMsg); + ParamDesc<ISC_LONG> retDesc(outMessage); + int ret = 0; for (unsigned i = 0; i < count; ++i) { - Value* val = params->getValue(ThrowError(), i + 1); - ret += val->getInt(ThrowError()); + ParamDesc<ISC_LONG> numDesc(inMessage); + + if (inMessage.isNull(numDesc)) + { + outMessage.setNull(retDesc, true); + return; + } + else + ret += inMessage[numDesc]; } - result->setInt(ThrowError(), ret); + outMessage[retDesc] = ret; } FB_UDR_END_FUNCTION(sum_args) FB_UDR_BEGIN_PROCEDURE(gen_rows) { - Value* valStart = params->getValue(ThrowError(), 1); - Value* valEnd = params->getValue(ThrowError(), 2); + MessageImpl inMessage(2, inMsg); + ParamDesc<ISC_LONG> startDesc(inMessage); + ParamDesc<ISC_LONG> endDesc(inMessage); - counter = valStart->getInt(ThrowError()); - end = valEnd->getInt(ThrowError()); + counter = inMessage[startDesc]; + end = inMessage[endDesc]; } FB_UDR_FETCH_PROCEDURE(gen_rows) { if (counter > end) return false; - Value* ret = results->getValue(ThrowError(), 1); - ret->setInt(ThrowError(), counter++); + MessageImpl outMessage(1, outMsg); + ParamDesc<ISC_LONG> retDesc(outMessage); + outMessage[retDesc] = counter++; + return true; } FB_UDR_END_PROCEDURE(gen_rows) @@ -321,36 +769,24 @@ delete [] reinterpret_cast<char*>(inSqlDa); ISC_STATUS_ARRAY statusVector = {0}; - funcDsqlFreeStatement(statusVector, &stmtHandle, DSQL_drop); + isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); } -void FB_UDR_TRIGGER(replicate)::initialize(ExternalContext* context, Values* values) +void FB_UDR_TRIGGER(replicate)::initialize(ExternalContext* context) { if (initialized) return; - // ISC entry points - funcGetMasterInterface = (FuncGetMasterInterface) getEntryPoint(context, "fb_get_master_interface"); - funcDsqlAllocateStatement = (FuncDsqlAllocateStatement) - getEntryPoint(context, "isc_dsql_allocate_statement"); - funcDsqlDescribe = (FuncDsqlDescribe) getEntryPoint(context, "isc_dsql_describe"); - funcDsqlDescribeBind = (FuncDsqlDescribeBind) getEntryPoint(context, "isc_dsql_describe_bind"); - funcDsqlExecute = (FuncDsqlExecute) getEntryPoint(context, "isc_dsql_execute"); - funcDsqlExecute2 = (FuncDsqlExecute2) getEntryPoint(context, "isc_dsql_execute2"); - funcDsqlFreeStatement = (FuncDsqlFreeStatement) getEntryPoint(context, "isc_dsql_free_statement"); - funcDsqlPrepare = (FuncDsqlPrepare) getEntryPoint(context, "isc_dsql_prepare"); - ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); stmtHandle = 0; - ThrowError::check(funcDsqlAllocateStatement(statusVector, &dbHandle, &stmtHandle), statusVector); - ThrowError::check(funcDsqlPrepare(statusVector, &trHandle, &stmtHandle, 0, + ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, "select data_source from replicate_config where name = ?", SQL_DIALECT_CURRENT, NULL), statusVector); - IMaster* master(funcGetMasterInterface()); AutoDispose<IStatus> status(master->getStatus()); const char* table = metadata->getTriggerTable(status); @@ -372,7 +808,7 @@ inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - ThrowError::check(funcDsqlDescribeBind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); @@ -381,31 +817,35 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - ThrowError::check(funcDsqlDescribe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), + ThrowError::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), statusVector); outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; - ThrowError::check(funcDsqlExecute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); - ThrowError::check(funcDsqlFreeStatement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); inSqlDa = NULL; - int count = values->getCount(); + const IParametersMetadata* fields = metadata->getTriggerFields(status); + ThrowError::check(status->get()); + unsigned count = fields->getCount(status); + ThrowError::check(status->get()); + char buffer[65536]; strcpy(buffer, "execute block (\n"); - for (int i = 1; i <= count; ++i) + for (unsigned i = 0; i < count; ++i) { - if (i > 1) + if (i > 0) strcat(buffer, ",\n"); - Value* val = values->getValue(ThrowError(), i); - const char* name = val->getName(ThrowError()); + const char* name = fields->getField(status, i); + ThrowError::check(status->get()); strcat(buffer, " p"); sprintf(buffer + strlen(buffer), "%d type of column \"%s\".\"%s\" = ?", i, table, name); @@ -420,13 +860,13 @@ strcat(buffer, table); strcat(buffer, "\" ("); - for (int i = 1; i <= count; ++i) + for (unsigned i = 0; i < count; ++i) { - if (i > 1) + if (i > 0) strcat(buffer, ", "); - Value* val = values->getValue(ThrowError(), i); - const char* name = val->getName(ThrowError()); + const char* name = fields->getField(status, i); + ThrowError::check(status->get()); strcat(buffer, "\""); strcat(buffer, name); @@ -435,18 +875,18 @@ strcat(buffer, ") values ("); - for (int i = 1; i <= count; ++i) + for (unsigned i = 0; i < count; ++i) { - if (i > 1) + if (i > 0) strcat(buffer, ", "); strcat(buffer, "?"); } strcat(buffer, ")') ("); - for (int i = 1; i <= count; ++i) + for (unsigned i = 0; i < count; ++i) { - if (i > 1) + if (i > 0) strcat(buffer, ", "); strcat(buffer, ":p"); sprintf(buffer + strlen(buffer), "%d", i); @@ -456,27 +896,28 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - ThrowError::check(funcDsqlPrepare(statusVector, &trHandle, &stmtHandle, 0, buffer, + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, SQL_DIALECT_CURRENT, NULL), statusVector); inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = count; - ThrowError::check(funcDsqlDescribeBind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVector); - for (int i = 0; i < count; ++i) + for (unsigned i = 0; i < count; ++i) { XSQLVAR* var = &inSqlDa->sqlvar[i]; switch (var->sqltype & ~1) { case SQL_TEXT: - var->sqltype = SQL_VARYING | (var->sqltype & 1); - // fall into + var->sqldata = new char[var->sqllen]; + break; case SQL_VARYING: - var->sqldata = new char[sizeof(short) + var->sqllen]; + var->sqldata = new char[var->sqllen]; + var->sqllen += sizeof(short); break; case SQL_SHORT: @@ -493,6 +934,7 @@ case SQL_FLOAT: var->sqltype = SQL_DOUBLE | (var->sqltype & 1); + var->sqllen = sizeof(double); // fall into case SQL_DOUBLE: @@ -526,75 +968,38 @@ FB_UDR_BEGIN_TRIGGER(replicate) { - Values* values = newValues; + initialize(context); - initialize(context, values); + AutoDispose<IStatus> status(master->getStatus()); - int count = values->getCount(); + const IParametersMetadata* fields = metadata->getTriggerFields(status); + ThrowError::check(status->get()); + unsigned fieldsCount = fields->getCount(status); + ThrowError::check(status->get()); + + MessageImpl message(fieldsCount, newMsg); + ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); - for (int i = 1; i <= count; ++i) + for (unsigned i = 1; i <= fieldsCount; ++i) { + ParamDesc<void*> field(message, fields); + XSQLVAR* var = &inSqlDa->sqlvar[i - 1]; - Value* val = values->getValue(ThrowError(), i); - if (val->isNull()) - { + if (message.isNull(field)) *var->sqlind = -1; - continue; - } else + { *var->sqlind = 0; - - switch (var->sqltype & ~1) - { - case SQL_VARYING: - { - unsigned len; - const char* s = val->getString(ThrowError(), &len); - *reinterpret_cast<unsigned short*>(var->sqldata) = len; - memcpy(var->sqldata + sizeof(unsigned short), s, len); - break; - } - - case SQL_SHORT: - *reinterpret_cast<short*>(var->sqldata) = (short) val->getInt( - ThrowError(), var->sqlscale); - break; - - case SQL_LONG: - *reinterpret_cast<int32*>(var->sqldata) = val->getInt(ThrowError(), var->sqlscale); - break; - - case SQL_INT64: - *reinterpret_cast<int64*>(var->sqldata) = val->getBigInt(ThrowError(), var->sqlscale); - break; - - case SQL_DOUBLE: - *reinterpret_cast<double*>(var->sqldata) = val->getDouble(ThrowError()); - break; - - case SQL_BLOB: - { - int64 blobId = val->getBlobId(ThrowError()); - ISC_QUAD quad; - quad.gds_quad_low = ISC_ULONG(blobId); - quad.gds_quad_high = ISC_ULONG(blobId >> 32); - *reinterpret_cast<ISC_QUAD*>(var->sqldata) = quad; - break; - } - - //// TODO: SQL_TYPE_DATE, SQL_TIMESTAMP, SQL_TYPE_TIME - - default: - assert(false); + memcpy(var->sqldata, message[field], var->sqllen); } } - ThrowError::check(funcDsqlExecute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), statusVecto... [truncated message content] |
From: <fir...@us...> - 2011-06-01 03:18:15
|
Revision: 53069 http://firebird.svn.sourceforge.net/firebird/?rev=53069&view=rev Author: firebirds Date: 2011-06-01 03:18:08 +0000 (Wed, 01 Jun 2011) 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 2011-06-01 01:44:54 UTC (rev 53068) +++ firebird/trunk/ChangeLog 2011-06-01 03:18:08 UTC (rev 53069) @@ -1,3 +1,36 @@ + 2011-06-01 01:44 asfernandes + M builds/posix/Makefile.in.plugins_examples + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj + M examples/udr/UdrCppExample.cpp + M src/common/dsc.cpp + M src/common/dsc.h + M src/dsql/dsql.cpp + M src/include/FirebirdApi.h + M src/include/FirebirdExternalApi.h + M src/include/FirebirdUdrCpp.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/jrd/Function.epp + D src/jrd/ValueImpl.cpp + D src/jrd/ValueImpl.h + D src/jrd/ValuesImpl.cpp + D src/jrd/ValuesImpl.h + M src/jrd/cmp.cpp + M src/jrd/exe.cpp + M src/jrd/req.h + M src/plugins/udr_engine/UdrEngine.cpp + M src/yvalve/YObjects.h +Work in progress on the external engines API changes. + + 2011-05-31 14:18 hvlad + M src/jrd/ini.epp + M src/jrd/met.epp + M src/jrd/met_proto.h +Additional fix for CORE-3502 and CORE-3503 + 2011-05-31 01:00 asfernandes M src/jrd/RecordSourceNodes.cpp Frontport fix for CORE-3489 - Blob transliteration may not happen inside the union. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-01 01:44:54 UTC (rev 53068) +++ firebird/trunk/src/jrd/build_no.h 2011-06-01 03:18:08 UTC (rev 53069) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29407 + FORMAL BUILD NUMBER:29409 */ -#define PRODUCT_VER_STRING "3.0.0.29407" -#define FILE_VER_STRING "WI-T3.0.0.29407" -#define LICENSE_VER_STRING "WI-T3.0.0.29407" -#define FILE_VER_NUMBER 3, 0, 0, 29407 +#define PRODUCT_VER_STRING "3.0.0.29409" +#define FILE_VER_STRING "WI-T3.0.0.29409" +#define LICENSE_VER_STRING "WI-T3.0.0.29409" +#define FILE_VER_NUMBER 3, 0, 0, 29409 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29407" +#define FB_BUILD_NO "29409" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-01 01:44:54 UTC (rev 53068) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-01 03:18:08 UTC (rev 53069) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29407 +BuildNum=29409 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...> - 2011-06-02 03:17:29
|
Revision: 53086 http://firebird.svn.sourceforge.net/firebird/?rev=53086&view=rev Author: firebirds Date: 2011-06-02 03:17:22 +0000 (Thu, 02 Jun 2011) 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 2011-06-01 17:29:51 UTC (rev 53085) +++ firebird/trunk/ChangeLog 2011-06-02 03:17:22 UTC (rev 53086) @@ -1,3 +1,59 @@ + 2011-06-01 17:29 dimitr + M src/jrd/dfw.epp +Cleanup. + + 2011-06-01 17:03 dimitr + M src/jrd/dpm.epp +Misc. + + 2011-06-01 16:58 dimitr + M src/jrd/dfw.epp + M src/jrd/dpm.epp + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/vio.cpp +Better (I hope) solution for CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. It also resolves the [temporary] inability to restore generator values. + + 2011-06-01 16:44 dimitr + M src/dsql/DdlNodes.epp +Fixed the error handling broken after introducing system constraints. + + 2011-06-01 14:09 hvlad + M src/yvalve/why.cpp +Fixed AV when transaction start failed + + 2011-06-01 12:16 alexpeshkoff + M src/utilities/nbackup/nbackup.cpp +Fixed CORE-3199: nackup fails due to O_NOATIME flag in database open + + 2011-06-01 10:52 alexpeshkoff + M src/remote/server/os/posix/inet_server.cpp + M src/utilities/guard/guard.cpp +Fixed CORE-3250: Cannot start firebird server under any username other than "root", "firebird" , "interbas"or "interbase" + + 2011-06-01 10:38 alexpeshkoff + M src/include/consts_pub.h + M src/utilities/fbsvcmgr/fbsvcmgr.cpp +Fixed CORE-3462: Add metadata only restore to Services API + + 2011-06-01 09:36 alexpeshkoff + M src/burp/restore.epp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql +Add verbose message for CORE-3461 + + 2011-06-01 08:04 alexpeshkoff + M src/burp/restore.epp +Simplification - thanks to Vlad + + 2011-06-01 07:47 alexpeshkoff + M src/burp/restore.epp +Fixed CORE-3461: DDL operations fail after backup/restore + + 2011-06-01 06:57 alexpeshkoff + M src/jrd/met.epp +Misc + 2011-06-01 01:44 asfernandes M builds/posix/Makefile.in.plugins_examples M builds/win32/msvc10/engine.vcxproj Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-01 17:29:51 UTC (rev 53085) +++ firebird/trunk/src/jrd/build_no.h 2011-06-02 03:17:22 UTC (rev 53086) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29409 + FORMAL BUILD NUMBER:29421 */ -#define PRODUCT_VER_STRING "3.0.0.29409" -#define FILE_VER_STRING "WI-T3.0.0.29409" -#define LICENSE_VER_STRING "WI-T3.0.0.29409" -#define FILE_VER_NUMBER 3, 0, 0, 29409 +#define PRODUCT_VER_STRING "3.0.0.29421" +#define FILE_VER_STRING "WI-T3.0.0.29421" +#define LICENSE_VER_STRING "WI-T3.0.0.29421" +#define FILE_VER_NUMBER 3, 0, 0, 29421 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29409" +#define FB_BUILD_NO "29421" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-01 17:29:51 UTC (rev 53085) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-02 03:17:22 UTC (rev 53086) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29409 +BuildNum=29421 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...> - 2011-06-02 17:24:04
|
Revision: 53093 http://firebird.svn.sourceforge.net/firebird/?rev=53093&view=rev Author: asfernandes Date: 2011-06-02 15:57:08 +0000 (Thu, 02 Jun 2011) Log Message: ----------- Move v3 public include files to src/include/firebird. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/auth/AuthInterface.h firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp firebird/trunk/src/auth/trusted/AuthSspi.cpp firebird/trunk/src/common/StatementMetadata.h firebird/trunk/src/common/StatusHolder.h firebird/trunk/src/common/classes/ImplementHelper.h firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/fb_exception.cpp firebird/trunk/src/common/utils_proto.h firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/ErrorImpl.h firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/blb.h firebird/trunk/src/jrd/event.h firebird/trunk/src/jrd/jrd.h firebird/trunk/src/jrd/ntrace.h firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/remote/remote.cpp firebird/trunk/src/remote/server/os/posix/inet_server.cpp firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp firebird/trunk/src/yvalve/MasterImplementation.cpp firebird/trunk/src/yvalve/MasterImplementation.h firebird/trunk/src/yvalve/PluginManager.h firebird/trunk/src/yvalve/YObjects.h firebird/trunk/src/yvalve/gds.cpp firebird/trunk/src/yvalve/why.cpp Added Paths: ----------- firebird/trunk/src/include/firebird/ firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/Plugin.h firebird/trunk/src/include/firebird/Provider.h firebird/trunk/src/include/firebird/Timer.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h Removed Paths: ------------- firebird/trunk/src/include/FirebirdExternalApi.h firebird/trunk/src/include/FirebirdPluginApi.h firebird/trunk/src/include/FirebirdUdr.h firebird/trunk/src/include/FirebirdUdrCpp.h firebird/trunk/src/include/Interface.h firebird/trunk/src/include/ProviderInterface.h firebird/trunk/src/include/Timer.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -21,7 +21,7 @@ */ #include "ibase.h" -#include "FirebirdUdrCpp.h" +#include "firebird/UdrCppEngine.h" #include <assert.h> #include <stdio.h> Modified: firebird/trunk/src/auth/AuthInterface.h =================================================================== --- firebird/trunk/src/auth/AuthInterface.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/auth/AuthInterface.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -29,7 +29,7 @@ #ifndef FB_AUTH_INTERFACE #define FB_AUTH_INTERFACE -#include "FirebirdPluginApi.h" +#include "firebird/Plugin.h" namespace Firebird { class IStatus; Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2011-06-02 15:57:08 UTC (rev 53093) @@ -40,7 +40,7 @@ #include "../auth/SecurityDatabase/LegacyManagement.h" #include "../common/classes/ImplementHelper.h" #include "../common/classes/ClumpletWriter.h" -#include "FirebirdPluginApi.h" +#include "firebird/Plugin.h" // Here we use version-independent symbolic link (or copy) of actual database DATABASE database = STATIC FILENAME "security.fdb"; Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -43,7 +43,7 @@ #include "../common/classes/objects_array.h" #include "../common/classes/init.h" #include "../common/classes/ImplementHelper.h" -#include "Timer.h" +#include "firebird/Timer.h" using namespace Firebird; Modified: firebird/trunk/src/auth/trusted/AuthSspi.cpp =================================================================== --- firebird/trunk/src/auth/trusted/AuthSspi.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/auth/trusted/AuthSspi.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -30,7 +30,7 @@ #ifdef TRUSTED_AUTH #include "../common/classes/ClumpletReader.h" -#include "Interface.h" +#include "firebird/Interface.h" #include "../common/classes/ImplementHelper.h" using namespace Firebird; Modified: firebird/trunk/src/common/StatementMetadata.h =================================================================== --- firebird/trunk/src/common/StatementMetadata.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/StatementMetadata.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -24,7 +24,7 @@ #ifndef COMMON_STATEMENT_METADATA_H #define COMMON_STATEMENT_METADATA_H -#include "ProviderInterface.h" +#include "firebird/Provider.h" #include "iberror.h" #include "../common/classes/Nullable.h" #include "../common/classes/array.h" Modified: firebird/trunk/src/common/StatusHolder.h =================================================================== --- firebird/trunk/src/common/StatusHolder.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/StatusHolder.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -29,7 +29,7 @@ #ifndef FB_STATUS_HOLDER #define FB_STATUS_HOLDER -#include "ProviderInterface.h" +#include "firebird/Provider.h" #include "../common/utils_proto.h" #include "../common/classes/ImplementHelper.h" Modified: firebird/trunk/src/common/classes/ImplementHelper.h =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -29,9 +29,9 @@ #ifndef FB_COMMON_CLASSES_IMPLEMENT_HELPER #define FB_COMMON_CLASSES_IMPLEMENT_HELPER -#include "FirebirdPluginApi.h" -#include "Timer.h" -#include "ProviderInterface.h" +#include "firebird/Plugin.h" +#include "firebird/Timer.h" +#include "firebird/Provider.h" #include "../common/classes/alloc.h" #include "gen/iberror.h" #include "../yvalve/gds_proto.h" Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/config/config.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -28,7 +28,7 @@ #include "../common/classes/init.h" #include "../common/dllinst.h" #include "../common/os/fbsyslog.h" -#include "FirebirdPluginApi.h" +#include "firebird/Plugin.h" #ifdef HAVE_STDLIB_H #include <stdlib.h> Modified: firebird/trunk/src/common/fb_exception.cpp =================================================================== --- firebird/trunk/src/common/fb_exception.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/fb_exception.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -1,6 +1,6 @@ #include "firebird.h" -#include "ProviderInterface.h" +#include "firebird/Provider.h" #include <string.h> #include <errno.h> Modified: firebird/trunk/src/common/utils_proto.h =================================================================== --- firebird/trunk/src/common/utils_proto.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/common/utils_proto.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -33,7 +33,7 @@ #include "../common/classes/fb_string.h" #include "../common/classes/array.h" #include "gen/iberror.h" -#include "ProviderInterface.h" +#include "firebird/Provider.h" #ifdef SFIO #include <stdio.h> Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp =================================================================== --- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2011-06-02 15:57:08 UTC (rev 53093) @@ -670,7 +670,7 @@ return false; } -#include "Interface.h" +#include "firebird/Interface.h" using namespace Firebird; Deleted: firebird/trunk/src/include/FirebirdExternalApi.h =================================================================== --- firebird/trunk/src/include/FirebirdExternalApi.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/include/FirebirdExternalApi.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -1,205 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project, based on previous work done - * by Eugeney Putilin <evgeneyputilin at mail.ru>, - * Vlad Khorsun <hvlad at users.sourceforge.net> and - * Roman Rokytskyy <roman at rokytskyy.de>. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - * Eugeney Putilin <evgeneyputilin at mail.ru> - * Vlad Khorsun <hvlad at users.sourceforge.net> - * Roman Rokytskyy <roman at rokytskyy.de> - */ - -#ifndef FIREBIRD_EXTERNAL_API_H -#define FIREBIRD_EXTERNAL_API_H - -#include "FirebirdApi.h" -#include "FirebirdPluginApi.h" -#include "ProviderInterface.h" - - -namespace Firebird { - -class ExternalEngine; - - -const int EXTERNAL_VERSION_1 = 1; - - -// Connection to current database in external engine. -// Context passed to ExternalEngine has SYSDBA privileges. -// Context passed to ExternalFunction, ExternalProcedure and ExternalTrigger -// has user privileges. -// There is one ExternalContext per attachment. The privileges and character -// set properties are changed during the calls. -class ExternalContext -{ -public: - // Gets the ExternalEngine associated with this context. - virtual ExternalEngine* FB_CALL getEngine(Error* error) = 0; - - // Gets the Attachment associated with this context. - virtual IAttachment* FB_CALL getAttachment(Error* error) = 0; - - // Obtained transaction is valid only before control is returned to the engine - // or in ExternalResultSet::fetch calls of correspondent ExternalProcedure::open. - virtual ITransaction* FB_CALL getTransaction(Error* error) = 0; - - virtual const char* FB_CALL getUserName() = 0; - virtual const char* FB_CALL getDatabaseName() = 0; - - // Get user attachment character set. - virtual const Utf8* FB_CALL getClientCharSet() = 0; - - // Misc info associated with a context. The pointers are never accessed or freed by Firebird. - - // Obtains an unique (across all contexts) code to associate plugin and/or user information. - virtual int FB_CALL obtainInfoCode() = 0; - // Gets a value associated with this code or FB_NULL if no value was set. - virtual void* FB_CALL getInfo(int code) = 0; - // Sets a value associated with this code and returns the last value. - virtual void* FB_CALL setInfo(int code, void* value) = 0; -}; - - -// To return set of rows in selectable procedures. -class ExternalResultSet : public Disposable -{ -public: - virtual bool FB_CALL fetch(Error* error) = 0; -}; - - -class ExternalFunction : public Disposable -{ -public: - // This method is called just before execute and informs the engine our requested character - // set for data exchange inside that method. - // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, - Utf8* name, uint nameSize) = 0; - - virtual void FB_CALL execute(Error* error, ExternalContext* context, - UCHAR* inMsg, UCHAR* outMsg) = 0; -}; - - -class ExternalProcedure : public Disposable -{ -public: - // This method is called just before open and informs the engine our requested character - // set for data exchange inside that method and ExternalResultSet::fetch. - // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, - Utf8* name, uint nameSize) = 0; - - // Returns a ExternalResultSet for selectable procedures. - // Returning NULL results in a result set of one record. - // Procedures without output parameters should return NULL. - virtual ExternalResultSet* FB_CALL open(Error* error, ExternalContext* context, - UCHAR* inMsg, UCHAR* outMsg) = 0; -}; - - -class ExternalTrigger : public Disposable -{ -public: - enum Type - { - TYPE_BEFORE = 1, - TYPE_AFTER, - TYPE_DATABASE - }; - - enum Action - { - ACTION_INSERT = 1, - ACTION_UPDATE, - ACTION_DELETE, - ACTION_CONNECT, - ACTION_DISCONNECT, - ACTION_TRANS_START, - ACTION_TRANS_COMMIT, - ACTION_TRANS_ROLLBACK, - ACTION_DDL - }; - -public: - // This method is called just before execute and informs the engine our requested character - // set for data exchange inside that method. - // During this call, the context uses the character set obtained from ExternalEngine::getCharSet. - virtual void FB_CALL getCharSet(Error* error, ExternalContext* context, - Utf8* name, uint nameSize) = 0; - - virtual void FB_CALL execute(Error* error, ExternalContext* context, - Action action, UCHAR* oldMsg, UCHAR* newMsg) = 0; -}; - - -class IRoutineMetadata : public IVersioned -{ -public: - virtual const char* FB_CARG getPackage(IStatus* status) const = 0; - virtual const char* FB_CARG getName(IStatus* status) const = 0; - virtual const char* FB_CARG getEntryPoint(IStatus* status) const = 0; - virtual const char* FB_CARG getBody(IStatus* status) const = 0; - virtual const IParametersMetadata* FB_CARG getInputParameters(IStatus* status) const = 0; - virtual const IParametersMetadata* FB_CARG getOutputParameters(IStatus* status) const = 0; - virtual const IParametersMetadata* FB_CARG getTriggerFields(IStatus* status) const = 0; - virtual const char* FB_CARG getTriggerTable(IStatus* status) const = 0; - virtual ExternalTrigger::Type FB_CARG getTriggerType(IStatus* status) const = 0; -}; -#define FB_ROUTINE_METADATA_VERSION (FB_VERSIONED_VERSION + 9) - - -// In SuperServer, shared by all attachments to one database and disposed when last (non-external) -// user attachment to the database is closed. -class ExternalEngine : public IPluginBase -{ -public: - virtual int FB_CALL getVersion(Error* error) = 0; - - // This method is called once (per ExternalEngine instance) before any following methods. - // The requested character set for data exchange inside methods of this interface should - // be copied to charSet parameter. - // During this call, the context uses the UTF-8 character set. - virtual void FB_CALL open(Error* error, ExternalContext* context, - Utf8* charSet, uint charSetSize) = 0; - - // Attachment is being opened. - virtual void FB_CALL openAttachment(Error* error, ExternalContext* context) = 0; - - // Attachment is being closed. - virtual void FB_CALL closeAttachment(Error* error, ExternalContext* context) = 0; - - // Called when engine wants to load object in the cache. Objects are disposed when - // going out of the cache. - virtual ExternalFunction* FB_CALL makeFunction(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata) = 0; - virtual ExternalProcedure* FB_CALL makeProcedure(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata) = 0; - virtual ExternalTrigger* FB_CALL makeTrigger(Error* error, ExternalContext* context, - const IRoutineMetadata* metadata) = 0; -}; -#define FB_EXTERNAL_ENGINE_VERSION (FB_PLUGIN_VERSION + 7) - -} // namespace Firebird - - -#endif // FIREBIRD_EXTERNAL_API_H Deleted: firebird/trunk/src/include/FirebirdPluginApi.h =================================================================== --- firebird/trunk/src/include/FirebirdPluginApi.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/include/FirebirdPluginApi.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -1,220 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - */ - -/* - * Firebird plugins are accessed using methods of PluginLoader interface. - * For each plugin_module tag found, it constructs a Plugin object, reads the corresponding - * plugin_config tag and inserts all config information in the object. - * - * When requested, the engine gets the attribute value of plugin_module/filename, load it as a - * dynamic (shared) library and calls the exported function firebirdPlugin (FB_PLUGIN_ENTRY_POINT - * definition, PluginEntrypoint prototype) passing the Plugin object as parameter. - * - * The plugin library may save the plugin object and call they methods later. The object and all - * pointers returned by it are valid until the plugin is unloaded (done through OS unload of the - * dynamic library) when Firebird is shutting down. - * - * Inside the plugin entry point (firebirdPlugin), the plugin may register extra functionality that - * may be obtained by Firebird when required. Currently only External Engines may be registered - * through Plugin::setExternalEngineFactory. - * - * Example plugin configuration file: - * - * <external_engine UDR> - * plugin_module UDR_engine - * </external_engine> - * - * <plugin_module UDR_engine> - * filename $(this)/udr_engine - * plugin_config UDR_config - * </plugin_module> - * - * <plugin_config UDR_config> - * path $(this)/udr - * </plugin_config> - * - * Note that the external_engine tag is ignored at this stage. Only plugin_module and plugin_config - * are read. The dynamic library extension may be ommitted, and $(this) expands to the directory of - * the .conf file. - * - * Plugins may access Firebird API through the fbclient library. - */ - -#ifndef FIREBIRD_PLUGIN_API_H -#define FIREBIRD_PLUGIN_API_H - -#include "Interface.h" - -#define FB_PLUGIN_ENTRY_POINT firebird_plugin - - -namespace Firebird { - -// IPluginBase interface - base for master plugin interfaces (factories are registered for them) -class IPluginBase : public IRefCounted -{ -public: - // Additional (compared with Interface) functions getOwner() and setOwner() - // are needed to release() owner of the plugin. This is done in releasePlugin() - // function in IPluginManager. Such method is needed to make sure that owner is released - // after plugin itself, and therefore module is unloaded after release of last plugin from it. - // Releasing owner from release() of plugin will unload module and after returning control - // to missing code segfault is unavoidable. - virtual void FB_CARG setOwner(IRefCounted*) = 0; - virtual IRefCounted* FB_CARG getOwner() = 0; -}; -#define FB_PLUGIN_VERSION (FB_REFCOUNTED_VERSION + 2) - -// IPluginSet - low level tool to access plugins according to parameter from firebird.conf -class IPluginSet : public IRefCounted -{ -public: - virtual const char* FB_CARG getName() const = 0; - virtual const char* FB_CARG getModule() const = 0; - virtual IPluginBase* FB_CARG getPlugin() = 0; - virtual void FB_CARG next() = 0; - virtual void FB_CARG set(const char*) = 0; -}; -#define FB_PLUGIN_SET_VERSION (FB_REFCOUNTED_VERSION + 5) - -// Interfaces to work with configuration data -class IConfig; - -// Entry in configuration file -class IConfigEntry : public IRefCounted -{ -public: - virtual const char* FB_CARG getName() = 0; - virtual const char* FB_CARG getValue() = 0; - virtual IConfig* FB_CARG getSubConfig() = 0; -}; -#define FB_CONFIG_PARAMETER_VERSION (FB_REFCOUNTED_VERSION + 3) - -// Generic form of access to configuration file - find specific entry in it -class IConfig : public IRefCounted -{ -public: - virtual IConfigEntry* FB_CARG find(const char* name) = 0; - virtual IConfigEntry* FB_CARG findValue(const char* name, const char* value) = 0; - virtual IConfigEntry* FB_CARG findPos(const char* name, unsigned int pos) = 0; -}; -#define FB_CONFIG_VERSION (FB_REFCOUNTED_VERSION + 3) - -// Used to access config values from firebird.conf (may be DB specific) -class IFirebirdConf : public IRefCounted -{ -public: - // Get integer key by it's name - // Value ~0 means name is invalid - // Keys are stable: one can use once obtained key in other instances of this interface - virtual unsigned int FB_CARG getKey(const char* name) = 0; - // Use to access integer and boolean values - virtual int FB_CARG asInteger(unsigned int key) = 0; - // Use to access string values - virtual const char* FB_CARG asString(unsigned int key) = 0; -}; -#define FB_FIREBIRD_CONF_VERSION (FB_REFCOUNTED_VERSION + 3) - -// This interface is passed to plugin's factory as it's single parameter -// and contains methods to access specific plugin's configuration data -class IPluginConfig : public IRefCounted -{ -public: - virtual const char* FB_CARG getConfigFileName() = 0; - virtual IConfig* FB_CARG getDefaultConfig() = 0; - virtual IFirebirdConf* FB_CARG getFirebirdConf() = 0; -}; -#define FB_PLUGIN_CONFIG_VERSION (FB_REFCOUNTED_VERSION + 3) - -// Required to creat instances of given plugin -class IPluginFactory : public IVersioned -{ -public: - virtual IPluginBase* FB_CARG createPlugin(IPluginConfig* factoryParameter) = 0; -}; -#define FB_PLUGIN_FACTORY_VERSION (FB_VERSIONED_VERSION + 1) - -// Required to let plugins manager invoke module's cleanup routine before unloading it. -// For some OS/compiler this may be done in dtor of global variable in module itself. -// Others (Windows/VC) fail to create some very useful resources (threads) when module is unloading. -class IPluginModule : public IVersioned -{ -public: - virtual void FB_CARG doClean() = 0; -}; -#define FB_PLUGIN_MODULE_VERSION (FB_VERSIONED_VERSION + 1) - - -// Interface to deal with plugins here and there, returned by master interface -class IPluginManager : public IVersioned -{ -public: - // Main function called by plugin modules in firebird_plugin() - virtual void FB_CARG registerPluginFactory(unsigned int interfaceType, const char* defaultName, - IPluginFactory* factory) = 0; - // Sets cleanup for plugin module - // Pay attention - this should be called at plugin-regsiter time! - // Only at this moment manager knows, which module sets his cleanup - virtual void FB_CARG registerModule(IPluginModule* cleanup) = 0; - // Remove registered before cleanup routine. - // This method must be called by module which detects that it's unloaded, - // but not notified prior to it by PluginManager via IPluginModule. - virtual void FB_CARG unregisterModule(IPluginModule* cleanup) = 0; - // 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 - // missingFunctionClass is used to add functions "notImplemented" to the end of vtable - // 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 - virtual IPluginSet* FB_CARG getPlugins(unsigned int interfaceType, const char* namesList, - int desiredVersion, void* missingFunctionClass, - IFirebirdConf* firebirdConf) = 0; - // Get generic config interface for given file - virtual IConfig* FB_CARG getConfig(const char* filename) = 0; - // Plugins must be released using this function - use of plugin's release() - // will cause resources leak - virtual void FB_CARG releasePlugin(IPluginBase* plugin) = 0; -}; -#define FB_PLUGIN_MANAGER_VERSION (FB_VERSIONED_VERSION + 6) - - -typedef void PluginEntrypoint(IMaster* masterInterface); - -namespace PluginType { - static const unsigned int YValve = 1; - static const unsigned int Provider = 2; - // leave space for may be some more super-std plugins - static const unsigned int FirstNonLibPlugin = 11; - static const unsigned int AuthServer = 11; - static const unsigned int AuthClient = 12; - static const unsigned int AuthUserManagement = 13; - static const unsigned int ExternalEngine = 14; - static const unsigned int Trace = 15; - - static const unsigned int MaxType = 16; // keep in sync please -}; - -} // namespace Firebird - - -#endif // FIREBIRD_PLUGIN_API_H Deleted: firebird/trunk/src/include/FirebirdUdr.h =================================================================== --- firebird/trunk/src/include/FirebirdUdr.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/include/FirebirdUdr.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -1,73 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - */ - -#ifndef FIREBIRD_UDR_H -#define FIREBIRD_UDR_H - -#include "FirebirdApi.h" -#include "FirebirdExternalApi.h" - - -namespace Firebird -{ - namespace Udr - { -//------------------------------------------------------------------------------ - - -// Factory classes. They should be singletons instances created by user's modules and -// registered. When UDR engine is going to load a routine, it calls newItem. - -class FunctionFactory -{ -public: - virtual const char* FB_CALL getName() = 0; - virtual ExternalFunction* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; -}; - -class ProcedureFactory -{ -public: - virtual const char* FB_CALL getName() = 0; - virtual ExternalProcedure* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; -}; - -class TriggerFactory -{ -public: - virtual const char* FB_CALL getName() = 0; - virtual ExternalTrigger* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; -}; - - -// Routine registration functions. -extern "C" void fbUdrRegFunction(FunctionFactory* factory); -extern "C" void fbUdrRegProcedure(ProcedureFactory* factory); -extern "C" void fbUdrRegTrigger(TriggerFactory* factory); -extern "C" void* fbUdrGetFunction(const char* symbol); - - -//------------------------------------------------------------------------------ - } // namespace Udr -} // namespace Firebird - -#endif // FIREBIRD_UDR_H Deleted: firebird/trunk/src/include/FirebirdUdrCpp.h =================================================================== --- firebird/trunk/src/include/FirebirdUdrCpp.h 2011-06-02 14:19:31 UTC (rev 53092) +++ firebird/trunk/src/include/FirebirdUdrCpp.h 2011-06-02 15:57:08 UTC (rev 53093) @@ -1,641 +0,0 @@ -/* - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Adriano dos Santos Fernandes - * for the Firebird Open Source RDBMS project. - * - * Copyright (c) 2008 Adriano dos Santos Fernandes <adr...@uo...> - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - */ - -#ifndef FIREBIRD_PLUGIN_UDR_CPP -#define FIREBIRD_PLUGIN_UDR_CPP - -#include "FirebirdApi.h" -#include "FirebirdExternalApi.h" -#include "FirebirdUdr.h" -#ifndef JRD_IBASE_H -#include "ibase.h" -#include "iberror.h" -#endif -#include <string.h> - - -namespace Firebird -{ - namespace Udr - { -//------------------------------------------------------------------------------ - - -#define FB_UDR_FUNCTION(name) Func##name -#define FB_UDR_PROCEDURE(name) Proc##name -#define FB_UDR_TRIGGER(name) T... [truncated message content] |
From: <fir...@us...> - 2011-06-03 03:18:04
|
Revision: 53095 http://firebird.svn.sourceforge.net/firebird/?rev=53095&view=rev Author: firebirds Date: 2011-06-03 03:17:55 +0000 (Fri, 03 Jun 2011) 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 2011-06-02 15:57:42 UTC (rev 53094) +++ firebird/trunk/ChangeLog 2011-06-03 03:17:55 UTC (rev 53095) @@ -1,3 +1,60 @@ + 2011-06-02 15:57 asfernandes + M src/jrd/tra.h +Warning. + + 2011-06-02 15:57 asfernandes + M examples/udr/UdrCppExample.cpp + M src/auth/AuthInterface.h + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/auth/SecurityDatabase/LegacyServer.cpp + M src/auth/trusted/AuthSspi.cpp + M src/common/StatementMetadata.h + M src/common/StatusHolder.h + M src/common/classes/ImplementHelper.h + M src/common/config/config.cpp + M src/common/fb_exception.cpp + M src/common/utils_proto.h + M src/gpre/boot/gpre_meta_boot.cpp + D src/include/FirebirdExternalApi.h + D src/include/FirebirdPluginApi.h + D src/include/FirebirdUdr.h + D src/include/FirebirdUdrCpp.h + D src/include/Interface.h + D src/include/ProviderInterface.h + D src/include/Timer.h + A src/include/firebird + A src/include/firebird/ExternalEngine.h (from /firebird/trunk/src/include/FirebirdExternalApi.h:53092) + A src/include/firebird/Interface.h (from /firebird/trunk/src/include/Interface.h:53092) + A src/include/firebird/Plugin.h (from /firebird/trunk/src/include/FirebirdPluginApi.h:53092) + A src/include/firebird/Provider.h (from /firebird/trunk/src/include/ProviderInterface.h:53092) + A src/include/firebird/Timer.h (from /firebird/trunk/src/include/Timer.h:53092) + A src/include/firebird/UdrCppEngine.h (from /firebird/trunk/src/include/FirebirdUdrCpp.h:53092) + A src/include/firebird/UdrEngine.h (from /firebird/trunk/src/include/FirebirdUdr.h:53092) + M src/jrd/EngineInterface.h + M src/jrd/ErrorImpl.h + M src/jrd/ExtEngineManager.h + M src/jrd/blb.h + M src/jrd/event.h + M src/jrd/jrd.h + M src/jrd/ntrace.h + M src/plugins/udr_engine/UdrEngine.cpp + M src/remote/client/interface.cpp + M src/remote/remote.cpp + M src/remote/server/os/posix/inet_server.cpp + M src/remote/server/os/win32/srvr_w32.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/PluginManager.h + M src/yvalve/YObjects.h + M src/yvalve/gds.cpp + M src/yvalve/why.cpp +Move v3 public include files to src/include/firebird. + + 2011-06-02 14:19 dimitr + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/DatabaseSnapshot.h +Fixed CORE-3508: MON$DATABASE_NAME and MON$ATTACHMENT_NAME fields contain question marks instead of non-ASCII characters regardless of the connection charset. + 2011-06-01 17:29 dimitr M src/jrd/dfw.epp Cleanup. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-02 15:57:42 UTC (rev 53094) +++ firebird/trunk/src/jrd/build_no.h 2011-06-03 03:17:55 UTC (rev 53095) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29421 + FORMAL BUILD NUMBER:29424 */ -#define PRODUCT_VER_STRING "3.0.0.29421" -#define FILE_VER_STRING "WI-T3.0.0.29421" -#define LICENSE_VER_STRING "WI-T3.0.0.29421" -#define FILE_VER_NUMBER 3, 0, 0, 29421 +#define PRODUCT_VER_STRING "3.0.0.29424" +#define FILE_VER_STRING "WI-T3.0.0.29424" +#define LICENSE_VER_STRING "WI-T3.0.0.29424" +#define FILE_VER_NUMBER 3, 0, 0, 29424 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29421" +#define FB_BUILD_NO "29424" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-02 15:57:42 UTC (rev 53094) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-03 03:17:55 UTC (rev 53095) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29421 +BuildNum=29424 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...> - 2011-06-04 02:19:02
|
Revision: 53110 http://firebird.svn.sourceforge.net/firebird/?rev=53110&view=rev Author: asfernandes Date: 2011-06-04 02:18:55 +0000 (Sat, 04 Jun 2011) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/builds/install/misc/posixLibrary.sh.in firebird/trunk/src/burp/restore.epp firebird/trunk/src/common/fb_exception.cpp firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/dpm.epp firebird/trunk/src/jrd/extds/InternalDS.cpp firebird/trunk/src/jrd/flu.cpp firebird/trunk/src/jrd/flu.h firebird/trunk/src/jrd/met.epp Modified: firebird/trunk/builds/install/misc/posixLibrary.sh.in =================================================================== --- firebird/trunk/builds/install/misc/posixLibrary.sh.in 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/builds/install/misc/posixLibrary.sh.in 2011-06-04 02:18:55 UTC (rev 53110) @@ -858,4 +858,3 @@ export InteractiveInstall fi } - Modified: firebird/trunk/src/burp/restore.epp =================================================================== --- firebird/trunk/src/burp/restore.epp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/burp/restore.epp 2011-06-04 02:18:55 UTC (rev 53110) @@ -10339,15 +10339,15 @@ general_on_error(); } -const FixGenerator genToFix[] = +static const FixGenerator genToFix[] = { - { "RDB$CONSTRAINT_NAME", "RDB$RELATION_CONSTRAINTS", "RDB$CONSTRAINT_NAME", "INTEG_" }, - { "RDB$FIELD_NAME", "RDB$FIELDS", "RDB$FIELD_NAME", "RDB$" }, - { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$" }, - { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$PRIMARY" }, - { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$FOREIGN" }, - { "RDB$TRIGGER_NAME", "RDB$TRIGGERS", "RDB$TRIGGER_NAME", "CHECK_" }, -// "RDB$BACKUP_HISTORY" // unused ??? + { "RDB$CONSTRAINT_NAME", "RDB$RELATION_CONSTRAINTS", "RDB$CONSTRAINT_NAME", "INTEG_" }, + { "RDB$FIELD_NAME", "RDB$FIELDS", "RDB$FIELD_NAME", "RDB$" }, + { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$" }, + { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$PRIMARY" }, + { "RDB$INDEX_NAME", "RDB$INDICES", "RDB$INDEX_NAME", "RDB$FOREIGN" }, + { "RDB$TRIGGER_NAME", "RDB$TRIGGERS", "RDB$TRIGGER_NAME", "CHECK_" }, + ///"RDB$BACKUP_HISTORY" // unused ??? { "RDB$GENERATOR_NAME", "RDB$GENERATORS", "RDB$GENERATOR_NAME", "RDB$" }, { NULL, NULL, NULL, NULL } }; Modified: firebird/trunk/src/common/fb_exception.cpp =================================================================== --- firebird/trunk/src/common/fb_exception.cpp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/common/fb_exception.cpp 2011-06-04 02:18:55 UTC (rev 53110) @@ -1,7 +1,5 @@ #include "firebird.h" - #include "firebird/Provider.h" - #include <string.h> #include <errno.h> #include <stdarg.h> Modified: firebird/trunk/src/jrd/dfw.epp =================================================================== --- firebird/trunk/src/jrd/dfw.epp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/dfw.epp 2011-06-04 02:18:55 UTC (rev 53110) @@ -4038,12 +4038,11 @@ } relation = MET_lookup_relation_id(tdbb, work->dfw_id, false); - if (!relation) { + if (!relation) return false; - } - check_dependencies(tdbb, work->dfw_name.c_str(), NULL, NULL, - relation->isView() ? obj_view : obj_relation, transaction); + check_dependencies(tdbb, work->dfw_name.c_str(), NULL, NULL, + (relation->isView() ? obj_view : obj_relation), transaction); return true; case 2: @@ -4262,7 +4261,7 @@ if ( (relation = MET_lookup_relation_id(tdbb, work->dfw_id, false)) ) { check_dependencies(tdbb, relation->rel_name.c_str(), work->dfw_name.c_str(), NULL, - relation->isView() ? obj_view : obj_relation, + (relation->isView() ? obj_view : obj_relation), transaction); } Modified: firebird/trunk/src/jrd/dpm.epp =================================================================== --- firebird/trunk/src/jrd/dpm.epp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/dpm.epp 2011-06-04 02:18:55 UTC (rev 53110) @@ -1273,9 +1273,8 @@ *ptr += val; } - if (transaction) { + if (transaction) transaction->tra_flags |= TRA_write; - } } const SINT64 value = *ptr; Modified: firebird/trunk/src/jrd/extds/InternalDS.cpp =================================================================== --- firebird/trunk/src/jrd/extds/InternalDS.cpp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/extds/InternalDS.cpp 2011-06-04 02:18:55 UTC (rev 53110) @@ -264,9 +264,8 @@ { fb_assert(!m_transaction); - if (m_scope == traCommon && m_IntConnection.isCurrent()) { + if (m_scope == traCommon && m_IntConnection.isCurrent()) m_transaction = tdbb->getTransaction()->getInterface(); - } else { JAttachment* att = m_IntConnection.getJrdAtt(); Modified: firebird/trunk/src/jrd/flu.cpp =================================================================== --- firebird/trunk/src/jrd/flu.cpp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/flu.cpp 2011-06-04 02:18:55 UTC (rev 53110) @@ -241,7 +241,7 @@ // Search for module name in UdfAccess restricted // paths list PathUtils::splitLastComponent(path, relative, fixedModule); - if (path.length() == 0 && PathUtils::isRelative(fixedModule)) + if (path.isEmpty() && PathUtils::isRelative(fixedModule)) { path = fixedModule; if (! iUdfDirectoryList().expandFileName(fixedModule, path)) Modified: firebird/trunk/src/jrd/flu.h =================================================================== --- firebird/trunk/src/jrd/flu.h 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/flu.h 2011-06-04 02:18:55 UTC (rev 53110) @@ -48,7 +48,7 @@ ModuleLoader::Module* handle; Firebird::PathName originalName, loadName; - void *findSymbol(const Firebird::string& name) + void* findSymbol(const Firebird::string& name) { if (! handle) { @@ -62,7 +62,8 @@ const Firebird::PathName& on, const Firebird::PathName& ln) : handle(h), - originalName(p, on), loadName(p, ln) + originalName(p, on), + loadName(p, ln) { } ~InternalModule(); Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2011-06-04 02:18:06 UTC (rev 53109) +++ firebird/trunk/src/jrd/met.epp 2011-06-04 02:18:55 UTC (rev 53110) @@ -2487,7 +2487,7 @@ } relation->rel_flags |= get_rel_flags_from_FLAGS(X.RDB$FLAGS); - + if (!X.RDB$RELATION_TYPE.NULL) { relation->rel_flags |= MET_get_rel_flags_from_TYPE(X.RDB$RELATION_TYPE); @@ -2571,7 +2571,7 @@ } relation->rel_flags |= get_rel_flags_from_FLAGS(X.RDB$FLAGS); - + if (!X.RDB$RELATION_TYPE.NULL) { relation->rel_flags |= MET_get_rel_flags_from_TYPE(X.RDB$RELATION_TYPE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2011-06-04 03:17:41
|
Revision: 53111 http://firebird.svn.sourceforge.net/firebird/?rev=53111&view=rev Author: firebirds Date: 2011-06-04 03:17:34 +0000 (Sat, 04 Jun 2011) 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 2011-06-04 02:18:55 UTC (rev 53110) +++ firebird/trunk/ChangeLog 2011-06-04 03:17:34 UTC (rev 53111) @@ -1,3 +1,54 @@ + 2011-06-04 02:18 asfernandes + M builds/install/misc/posixLibrary.sh.in + M src/burp/restore.epp + M src/common/fb_exception.cpp + M src/jrd/dfw.epp + M src/jrd/dpm.epp + M src/jrd/extds/InternalDS.cpp + M src/jrd/flu.cpp + M src/jrd/flu.h + M src/jrd/met.epp +Misc. + + 2011-06-04 02:18 asfernandes + M src/jrd/ExtEngineManager.cpp +Fix for external database/DDL trigger. + + 2011-06-03 19:12 asfernandes + M src/common/IntlUtil.cpp + M src/common/IntlUtil.h +Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. + + 2011-06-03 17:39 asfernandes + M src/jrd/met.epp +Fix problem with database triggers. + + 2011-06-03 17:08 asfernandes + M src/jrd/SysFunction.cpp +Fixed CORE-3479 - ASCII_VAL raises error instead of return 0 for empty strings. + + 2011-06-03 15:29 alexpeshkoff + M src/jrd/ExtEngineManager.cpp + M src/jrd/extds/InternalDS.cpp + M src/jrd/jrd.cpp + M src/jrd/tra.cpp + M src/jrd/tra.h +Fixed segfault in execute statement, reported by Dmitry privately + + 2011-06-03 14:19 asfernandes + M src/common/IntlUtil.cpp + M src/common/IntlUtil.h + M src/jrd/jrd.cpp +Fixed CORE-3511 - Unquoted role names with non-ASCII characters passed in DPB are upper-cased wrongly. + + 2011-06-03 14:09 alexpeshkoff + M src/jrd/trace/TraceLog.cpp +Fixed CORE-3512: Server hangs when trace is running (big thanks to Vlad) + + 2011-06-03 08:25 hvlad + M src/jrd/cch.cpp +Fixed mistake noted by Claudio + 2011-06-02 15:57 asfernandes M src/jrd/tra.h Warning. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-04 02:18:55 UTC (rev 53110) +++ firebird/trunk/src/jrd/build_no.h 2011-06-04 03:17:34 UTC (rev 53111) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29424 + FORMAL BUILD NUMBER:29433 */ -#define PRODUCT_VER_STRING "3.0.0.29424" -#define FILE_VER_STRING "WI-T3.0.0.29424" -#define LICENSE_VER_STRING "WI-T3.0.0.29424" -#define FILE_VER_NUMBER 3, 0, 0, 29424 +#define PRODUCT_VER_STRING "3.0.0.29433" +#define FILE_VER_STRING "WI-T3.0.0.29433" +#define LICENSE_VER_STRING "WI-T3.0.0.29433" +#define FILE_VER_NUMBER 3, 0, 0, 29433 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29424" +#define FB_BUILD_NO "29433" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-04 02:18:55 UTC (rev 53110) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-04 03:17:34 UTC (rev 53111) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29424 +BuildNum=29433 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...> - 2011-06-06 03:15:27
|
Revision: 53122 http://firebird.svn.sourceforge.net/firebird/?rev=53122&view=rev Author: firebirds Date: 2011-06-06 03:15:20 +0000 (Mon, 06 Jun 2011) 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 2011-06-06 02:58:08 UTC (rev 53121) +++ firebird/trunk/ChangeLog 2011-06-06 03:15:20 UTC (rev 53122) @@ -1,3 +1,18 @@ + 2011-06-06 02:58 asfernandes + M src/jrd/cvt.cpp +Fixed CORE-3373 - It is possible to store string with lenght 31 chars into column varchar(25). + + 2011-06-05 22:50 hvlad + M src/remote/client/interface.cpp +Windows trusted auth didn't worked + + 2011-06-05 08:15 hvlad + M src/jrd/dpm.epp + M src/jrd/dpm_proto.h + M src/jrd/idx.cpp + M src/jrd/vio.cpp +Fixed bug CORE-3515 : Index corruption. Validation put "missing entries" message into firebird.log + 2011-06-04 02:18 asfernandes M builds/install/misc/posixLibrary.sh.in M src/burp/restore.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-06 02:58:08 UTC (rev 53121) +++ firebird/trunk/src/jrd/build_no.h 2011-06-06 03:15:20 UTC (rev 53122) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29433 + FORMAL BUILD NUMBER:29436 */ -#define PRODUCT_VER_STRING "3.0.0.29433" -#define FILE_VER_STRING "WI-T3.0.0.29433" -#define LICENSE_VER_STRING "WI-T3.0.0.29433" -#define FILE_VER_NUMBER 3, 0, 0, 29433 +#define PRODUCT_VER_STRING "3.0.0.29436" +#define FILE_VER_STRING "WI-T3.0.0.29436" +#define LICENSE_VER_STRING "WI-T3.0.0.29436" +#define FILE_VER_NUMBER 3, 0, 0, 29436 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29433" +#define FB_BUILD_NO "29436" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-06 02:58:08 UTC (rev 53121) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-06 03:15:20 UTC (rev 53122) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29433 +BuildNum=29436 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...> - 2011-06-08 03:16:58
|
Revision: 53132 http://firebird.svn.sourceforge.net/firebird/?rev=53132&view=rev Author: firebirds Date: 2011-06-08 03:16:51 +0000 (Wed, 08 Jun 2011) 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 2011-06-08 01:55:13 UTC (rev 53131) +++ firebird/trunk/ChangeLog 2011-06-08 03:16:51 UTC (rev 53132) @@ -1,3 +1,14 @@ + 2011-06-08 01:55 asfernandes + M src/jrd/dpm.epp + M src/jrd/vio.cpp + M src/remote/client/interface.cpp +Misc. + + 2011-06-07 12:59 hvlad + M src/common/Auth.cpp + M src/remote/server/server.cpp +Make TA work with 2.1 clients and not crash. Thanks to Alex. + 2011-06-06 02:58 asfernandes M src/jrd/cvt.cpp Fixed CORE-3373 - It is possible to store string with lenght 31 chars into column varchar(25). Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-08 01:55:13 UTC (rev 53131) +++ firebird/trunk/src/jrd/build_no.h 2011-06-08 03:16:51 UTC (rev 53132) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29436 + FORMAL BUILD NUMBER:29438 */ -#define PRODUCT_VER_STRING "3.0.0.29436" -#define FILE_VER_STRING "WI-T3.0.0.29436" -#define LICENSE_VER_STRING "WI-T3.0.0.29436" -#define FILE_VER_NUMBER 3, 0, 0, 29436 +#define PRODUCT_VER_STRING "3.0.0.29438" +#define FILE_VER_STRING "WI-T3.0.0.29438" +#define LICENSE_VER_STRING "WI-T3.0.0.29438" +#define FILE_VER_NUMBER 3, 0, 0, 29438 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29436" +#define FB_BUILD_NO "29438" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-08 01:55:13 UTC (rev 53131) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-08 03:16:51 UTC (rev 53132) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29436 +BuildNum=29438 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...> - 2011-06-10 12:54:00
|
Revision: 53147 http://firebird.svn.sourceforge.net/firebird/?rev=53147&view=rev Author: alexpeshkoff Date: 2011-06-10 12:53:51 +0000 (Fri, 10 Jun 2011) Log Message: ----------- Used upgradeInterface() in a number of places. Fixed memory leak when unloading module, related with upgraded interfaces. Fixed timer on posix to be high resolution. Better diagnostic in services. Modified Paths: -------------- firebird/trunk/builds/posix/make.defaults firebird/trunk/configure.in firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/auth/AuthDbg.cpp firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp firebird/trunk/src/auth/trusted/AuthSspi.cpp firebird/trunk/src/common/classes/GetPlugins.h firebird/trunk/src/common/classes/ImplementHelper.h firebird/trunk/src/common/security.cpp firebird/trunk/src/common/utils.cpp firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/Plugin.h firebird/trunk/src/include/firebird/Provider.h firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/UserManagement.cpp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/svc.cpp firebird/trunk/src/jrd/trace/TraceManager.cpp 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/remote/client/interface.cpp firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/utilities/ntrace/TracePluginImpl.cpp firebird/trunk/src/utilities/ntrace/traceplugin.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 firebird/trunk/src/yvalve/YObjects.h firebird/trunk/src/yvalve/why.cpp Added Paths: ----------- firebird/trunk/src/common/classes/ImplementHelper.cpp Modified: firebird/trunk/builds/posix/make.defaults =================================================================== --- firebird/trunk/builds/posix/make.defaults 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/builds/posix/make.defaults 2011-06-10 12:53:51 UTC (rev 53147) @@ -292,7 +292,7 @@ # Per-library link rules LINK_UDF = $(LIB_LINK) $(LIB_LINK_OPTIONS) $(call LIB_LINK_SONAME,$(1).$(SHRLIB_EXT)) $(UNDEF_FLAGS)\ - $(call LIB_LINK_RPATH,lib) -lm + $(call LIB_LINK_RPATH,lib) $(SO_LINK_LIBS) LINK_UDF_LIBS = $(THR_LIBS) -L$(LIB) -lib_util LINK_IB_UTIL = $(LIB_LINK) $(LINK_IBUTIL_SYMBOLS) $(LIB_LINK_OPTIONS) $(UNDEF_FLAGS)\ Modified: firebird/trunk/configure.in =================================================================== --- firebird/trunk/configure.in 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/configure.in 2011-06-10 12:53:51 UTC (rev 53147) @@ -793,6 +793,8 @@ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <atomic_ops.h>]], [[AO_T x; AO_compare_and_swap_full(&x, 0, 0); return 0;]])], AC_DEFINE(HAVE_AO_COMPARE_AND_SWAP_FULL, 1, [Define this if AO_compare_and_swap_full() is defined in atomic_ops.h])) +AC_SEARCH_LIBS(clock_gettime, rt) +AC_CHECK_FUNCS(clock_gettime) dnl Checks for pthread functions AC_CHECK_FUNCS(pthread_mutexattr_setprotocol) Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2011-06-10 12:53:51 UTC (rev 53147) @@ -1460,6 +1460,8 @@ PARAMETER (GDS__invalid_boolean_usage = 335545023) INTEGER*4 GDS__sysf_argscant_both_be_zero PARAMETER (GDS__sysf_argscant_both_be_zero = 335545024) + INTEGER*4 GDS__spb_no_id + PARAMETER (GDS__spb_no_id = 335545025) 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 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/lang_helpers/gds_codes.pas 2011-06-10 12:53:51 UTC (rev 53147) @@ -737,6 +737,7 @@ gds_cannot_copy_stmt = 335545022; gds_invalid_boolean_usage = 335545023; gds_sysf_argscant_both_be_zero = 335545024; + gds_spb_no_id = 335545025; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/auth/AuthDbg.cpp =================================================================== --- firebird/trunk/src/auth/AuthDbg.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/auth/AuthDbg.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -33,6 +33,8 @@ //#define AUTH_VERBOSE +static Firebird::MakeUpgradeInfo<> upInfo; + // register plugin static Firebird::SimpleFactory<Auth::DebugClient> clientFactory; static Firebird::SimpleFactory<Auth::DebugServer> serverFactory; @@ -60,6 +62,7 @@ { try { + Firebird::MasterInterfacePtr()->upgradeInterface(writerInterface, FB_AUTH_WRITER_VERSION, upInfo); str.erase(); Firebird::ClumpletReader rdr(isService ? Firebird::ClumpletReader::spbList : @@ -88,6 +91,7 @@ #ifdef AUTH_VERBOSE fprintf(stderr, "DebugServerInstance::contAuthentication: %.*s\n", size, data); #endif + Firebird::MasterInterfacePtr()->upgradeInterface(writerInterface, FB_AUTH_WRITER_VERSION, upInfo); writerInterface->add(Firebird::string((const char*) data, size).c_str(), "DEBUG", ""); return AUTH_SUCCESS; } @@ -126,6 +130,7 @@ { try { + Firebird::MasterInterfacePtr()->upgradeInterface(dpb, FB_AUTH_DPB_READER_VERSION, upInfo); str = "HAND"; if (dpb) { Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp 2011-06-10 12:53:51 UTC (rev 53147) @@ -42,6 +42,8 @@ #include "../common/classes/ClumpletWriter.h" #include "firebird/Plugin.h" +static Firebird::MakeUpgradeInfo<> upInfo; + // Here we use version-independent symbolic link (or copy) of actual database DATABASE database = STATIC FILENAME "security.fdb"; @@ -124,6 +126,8 @@ { try { + Firebird::MasterInterfacePtr()->upgradeInterface(logonInfo, FB_AUTH_LOGON_INFO_VERSION, upInfo); + st->init(); if (secDbKey == INIT_KEY) @@ -310,6 +314,8 @@ try { + Firebird::MasterInterfacePtr()->upgradeInterface(user, FB_AUTH_USER_VERSION, upInfo); + ISC_STATUS_ARRAY isc_status; fb_utils::init_status(isc_status); st->init(); @@ -668,12 +674,11 @@ // register plugin static Firebird::SimpleFactory<Auth::SecurityDatabaseManagement> factory; -static Firebird::UnloadDetector unloadDetector; extern "C" void FB_PLUGIN_ENTRY_POINT(Firebird::IMaster* master) { Firebird::PluginManagerInterfacePtr pi(master); pi->registerPluginFactory(Firebird::PluginType::AuthUserManagement, "Legacy_Auth", &factory); - pi->registerModule(&unloadDetector); + pi->registerModule(&Firebird::myModule); } Modified: firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp =================================================================== --- firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/auth/SecurityDatabase/LegacyServer.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -49,6 +49,8 @@ namespace { +MakeUpgradeInfo<> upInfo; + // BLR to search database for user name record const UCHAR PWD_REQUEST[] = @@ -367,6 +369,7 @@ } } + MasterInterfacePtr()->upgradeInterface(authBlock, FB_AUTH_WRITER_VERSION, upInfo); authBlock->add(login.c_str(), "SecDB", secureDbName); return AUTH_SUCCESS; } @@ -517,7 +520,7 @@ ClumpletReader rdr(isService ? ClumpletReader::spbList : ClumpletReader::dpbList, dpb, dpbSize); Result rc = instance->verify(writerInterface, rdr); - Firebird::TimerInterfacePtr()->start(instance, 10 * 1000 * 1000); + TimerInterfacePtr()->start(instance, 10 * 1000 * 1000); return rc; } catch (const Firebird::Exception& ex) Modified: firebird/trunk/src/auth/trusted/AuthSspi.cpp =================================================================== --- firebird/trunk/src/auth/trusted/AuthSspi.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/auth/trusted/AuthSspi.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -69,6 +69,8 @@ *data = name; *dataSize = strlen(name); } + + MakeUpgradeInfo<> upInfo; } namespace Auth { @@ -380,6 +382,7 @@ bool wheel = false; string login; sspi.getLogin(login, wheel); + MasterInterfacePtr()->upgradeInterface(writerInterface, FB_AUTH_WRITER_VERSION, upInfo); writerInterface->add(login.c_str(), "WIN_SSPI", ""); if (wheel) { @@ -417,6 +420,8 @@ if (dpb) { + MasterInterfacePtr()->upgradeInterface(dpb, FB_AUTH_DPB_READER_VERSION, upInfo); + UCHAR tag = isService ? isc_spb_trusted_role : isc_dpb_trusted_role; while (dpb->find(tag)) { Modified: firebird/trunk/src/common/classes/GetPlugins.h =================================================================== --- firebird/trunk/src/common/classes/GetPlugins.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/common/classes/GetPlugins.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -34,36 +34,27 @@ namespace Firebird { -// Default replacement for missing virtual functions -class DefaultMissingEntrypoint -{ -public: - virtual void FB_CARG noEntrypoint() - { - Arg::Gds(isc_wish_list).raise(); - } -}; - // Template to help with loop in the set of plugins -template <typename P, typename M = DefaultMissingEntrypoint> +template <typename P> class GetPlugins { public: - GetPlugins(unsigned int interfaceType, unsigned int desiredVersion, const char* namesList = NULL) - : masterInterface(), pluginInterface(masterInterface), missing(), + GetPlugins(unsigned int interfaceType, unsigned int desiredVersion, + UpgradeInfo* ui, const char* namesList = NULL) + : masterInterface(), pluginInterface(masterInterface), pluginSet(pluginInterface->getPlugins(interfaceType, namesList ? namesList : Config::getPlugins(interfaceType), - desiredVersion, &missing, NULL)), + desiredVersion, ui, NULL)), currentPlugin(NULL) { pluginSet->release(); getPlugin(); } - GetPlugins(unsigned int interfaceType, unsigned int desiredVersion, + GetPlugins(unsigned int interfaceType, unsigned int desiredVersion, UpgradeInfo* ui, Config* knownConfig, const char* namesList = NULL) - : masterInterface(), pluginInterface(masterInterface), missing(), + : masterInterface(), pluginInterface(masterInterface), pluginSet(pluginInterface->getPlugins(interfaceType, namesList ? namesList : Config::getPlugins(interfaceType), - desiredVersion, &missing, new FirebirdConf(knownConfig))), + desiredVersion, ui, new FirebirdConf(knownConfig))), currentPlugin(NULL) { pluginSet->release(); @@ -124,7 +115,6 @@ private: MasterInterfacePtr masterInterface; PluginManagerInterfacePtr pluginInterface; - M missing; RefPtr<IPluginSet> pluginSet; P* currentPlugin; Added: firebird/trunk/src/common/classes/ImplementHelper.cpp =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.cpp (rev 0) +++ firebird/trunk/src/common/classes/ImplementHelper.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -0,0 +1,34 @@ +/* + * PROGRAM: Firebird interface. + * MODULE: ImplementHelper.cpp + * DESCRIPTION: Tools to help create interfaces. + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alex Peshkov + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2010 Alex Peshkov <peshkoff at mail.ru> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + * + * + */ + +#include "../common/classes/ImplementHelper.h" + +namespace Firebird +{ + UnloadDetector myModule; +} Property changes on: firebird/trunk/src/common/classes/ImplementHelper.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: firebird/trunk/src/common/classes/ImplementHelper.h =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -71,6 +71,8 @@ return V; } + IPluginModule* getModule(); + private: VersionedIface(const VersionedIface&); VersionedIface& operator=(const VersionedIface&); @@ -249,7 +251,10 @@ if (flagOsUnload) { PluginManagerInterfacePtr pi; - pi->unregisterModule(this); + if (pi) + { + pi->unregisterModule(this); + } doClean(); } @@ -282,8 +287,46 @@ }; typedef GlobalPtr<UnloadDetectorHelper, InstanceControl::PRIORITY_DETECT_UNLOAD> UnloadDetector; +extern UnloadDetector myModule; +template <class C, int V> IPluginModule* VersionedIface<C, V>::getModule() +{ + return &myModule; +} + +// Default replacement for missing virtual functions +class DefaultMissingEntrypoint +{ +public: + virtual void FB_CARG noEntrypoint() + { + Arg::Gds(isc_wish_list).raise(); + } +}; + +// Helps to create update information +template <typename M = DefaultMissingEntrypoint> +class MakeUpgradeInfo +{ +public: + MakeUpgradeInfo() + { + ui.missingFunctionClass = &missing; + ui.clientModule = &myModule; + } + + operator UpgradeInfo*() + { + return &ui; + } + +private: + M missing; + struct UpgradeInfo ui; +}; + + class InternalMessageBuffer : public FbMessage { public: Modified: firebird/trunk/src/common/security.cpp =================================================================== --- firebird/trunk/src/common/security.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/common/security.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -36,12 +36,14 @@ (Arg::Gds(isc_random) << "Missing user management plugin").raise(); } +MakeUpgradeInfo<> ui; + } // anonymous namespace namespace Auth { Get::Get(Config* firebirdConf) - : GetPlugins<Auth::IManagement>(PluginType::AuthUserManagement, FB_AUTH_MANAGE_VERSION, firebirdConf) + : GetPlugins<Auth::IManagement>(PluginType::AuthUserManagement, FB_AUTH_MANAGE_VERSION, ui, firebirdConf) { if (!hasData()) { Modified: firebird/trunk/src/common/utils.cpp =================================================================== --- firebird/trunk/src/common/utils.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/common/utils.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -807,7 +807,7 @@ return counter.QuadPart; #elif defined(HAVE_CLOCK_GETTIME) - // Use high-resultion clock + // Use high-resolution clock struct timespec tp; if (clock_gettime(CLOCK_REALTIME, &tp) != 0) return 0; Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp =================================================================== --- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -683,6 +683,11 @@ return FB_MASTER_VERSION; } + virtual IPluginModule* FB_CARG getModule() + { + return NULL; + } + virtual IStatus* FB_CARG getStatus() { fb_assert(false); @@ -697,12 +702,12 @@ virtual IPluginManager* FB_CARG getPluginManager() { - fb_assert(false); + //fb_assert(false); return NULL; } virtual int FB_CARG upgradeInterface(IVersioned* /*toUpgrade*/, int /*desiredVersion*/, - void* /*missingFunctionClass*/) + struct UpgradeInfo* /*upInfo*/) { fb_assert(false); return 0; Modified: firebird/trunk/src/include/firebird/ExternalEngine.h =================================================================== --- firebird/trunk/src/include/firebird/ExternalEngine.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/firebird/ExternalEngine.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -33,6 +33,7 @@ #include "./Plugin.h" #include "./Provider.h" +#include "firebird.h" //// FIXME: namespace Firebird { Modified: firebird/trunk/src/include/firebird/Interface.h =================================================================== --- firebird/trunk/src/include/firebird/Interface.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/firebird/Interface.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -39,14 +39,18 @@ namespace Firebird { +// Forward declaration - used to identify client and provider of upgraded interface +class IPluginModule; + // Versioned interface - base for all FB interfaces class IVersioned { public: virtual int FB_CARG getVersion() = 0; + virtual IPluginModule* getModule() = 0; }; // If this is changed, types of all interfaces must be changed -#define FB_VERSIONED_VERSION 1 +#define FB_VERSIONED_VERSION 2 // Reference counted interface - base for refCounted FB interfaces class IRefCounted : public IVersioned @@ -89,6 +93,12 @@ class ITransaction; class IDtc; +struct UpgradeInfo +{ + void* missingFunctionClass; + IPluginModule* clientModule; +}; + // Master interface is used to access almost all other interfaces. class IMaster : public IVersioned { @@ -96,7 +106,8 @@ virtual IStatus* FB_CARG getStatus() = 0; virtual IProvider* FB_CARG getDispatcher() = 0; virtual IPluginManager* FB_CARG getPluginManager() = 0; - virtual int FB_CARG upgradeInterface(IVersioned* toUpgrade, int desiredVersion, void* missingFunctionClass) = 0; + virtual int FB_CARG upgradeInterface(IVersioned* toUpgrade, int desiredVersion, + struct UpgradeInfo* upgradeInfo) = 0; virtual const char* FB_CARG circularAlloc(const char* s, size_t len, intptr_t thr) = 0; virtual ITimerControl* FB_CARG getTimerControl() = 0; virtual IDtc* FB_CARG getDtc() = 0; Modified: firebird/trunk/src/include/firebird/Plugin.h =================================================================== --- firebird/trunk/src/include/firebird/Plugin.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/firebird/Plugin.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -187,7 +187,7 @@ // 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 virtual IPluginSet* FB_CARG getPlugins(unsigned int interfaceType, const char* namesList, - int desiredVersion, void* missingFunctionClass, + int desiredVersion, UpgradeInfo* ui, IFirebirdConf* firebirdConf) = 0; // Get generic config interface for given file virtual IConfig* FB_CARG getConfig(const char* filename) = 0; Modified: firebird/trunk/src/include/firebird/Provider.h =================================================================== --- firebird/trunk/src/include/firebird/Provider.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/firebird/Provider.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -29,7 +29,6 @@ #ifndef FB_PROVIDER_INTERFACE #define FB_PROVIDER_INTERFACE -#include "firebird.h" //// FIXME: #include "./Plugin.h" namespace Firebird { Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/gen/codetext.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -726,6 +726,7 @@ {"cannot_copy_stmt", 335545022}, {"invalid_boolean_usage", 335545023}, {"sysf_argscant_both_be_zero", 335545024}, + {"spb_no_id", 335545025}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/gen/iberror.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -760,6 +760,7 @@ const ISC_STATUS isc_cannot_copy_stmt = 335545022L; const ISC_STATUS isc_invalid_boolean_usage = 335545023L; const ISC_STATUS isc_sysf_argscant_both_be_zero = 335545024L; +const ISC_STATUS isc_spb_no_id = 335545025L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1179,7 +1180,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1123; +const ISC_STATUS isc_err_max = 1124; #else /* c definitions */ @@ -1909,6 +1910,7 @@ #define isc_cannot_copy_stmt 335545022L #define isc_invalid_boolean_usage 335545023L #define isc_sysf_argscant_both_be_zero 335545024L +#define isc_spb_no_id 335545025L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2328,7 +2330,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1123 +#define isc_err_max 1124 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/gen/msgs.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -729,6 +729,7 @@ {335545022, "Cannot copy statement @1"}, /* cannot_copy_stmt */ {335545023, "Invalid usage of boolean expression"}, /* invalid_boolean_usage */ {335545024, "Arguments for @1 cannot both be zero"}, /* sysf_argscant_both_be_zero */ + {335545025, "missing service ID in spb"}, /* spb_no_id */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/gen/sql_code.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -725,6 +725,7 @@ {335545022, -104}, /* 702 cannot_copy_stmt */ {335545023, -104}, /* 703 invalid_boolean_usage */ {335545024, -833}, /* 704 sysf_argscant_both_be_zero */ + {335545025, -901}, /* 705 spb_no_id */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/include/gen/sql_state.h 2011-06-10 12:53:51 UTC (rev 53147) @@ -725,6 +725,7 @@ {335545022, "XX000"}, // 702 cannot_copy_stmt {335545023, "22000"}, // 703 invalid_boolean_usage {335545024, "42000"}, // 704 sysf_argscant_both_be_zero + {335545025, "HY000"}, // 705 spb_no_id {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -58,6 +58,7 @@ namespace Jrd { +MakeUpgradeInfo<> upInfo; template <typename T> class ExtEngineManager::ContextManager { @@ -826,7 +827,7 @@ if (!engines.get(name, engine)) { GetPlugins<ExternalEngine> engineControl(PluginType::ExternalEngine, - FB_EXTERNAL_ENGINE_VERSION, name.c_str()); + FB_EXTERNAL_ENGINE_VERSION, upInfo, name.c_str()); if (engineControl.hasData()) { Modified: firebird/trunk/src/jrd/UserManagement.cpp =================================================================== --- firebird/trunk/src/jrd/UserManagement.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/jrd/UserManagement.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -36,6 +36,7 @@ using namespace Jrd; using namespace Firebird; +static MakeUpgradeInfo<> upInfo; const Format* UsersTableScan::getFormat(thread_db* tdbb, jrd_rel* relation) const { @@ -212,6 +213,7 @@ void UserManagement::Display::list(Auth::IUser* u) { + MasterInterfacePtr()->upgradeInterface(u, FB_AUTH_USER_VERSION, upInfo); userManagement->list(u); } Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/jrd/jrd.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -296,8 +296,6 @@ } -static UnloadDetector unloadDetector; - static void shutdownBeforeUnload() { LocalStatus status; @@ -310,7 +308,7 @@ // IPluginFactory implementation IPluginBase* FB_CARG createPlugin(IPluginConfig* factoryParameter) { - if (unloadDetector->unloadStarted()) + if (myModule->unloadStarted()) { return NULL; } @@ -325,9 +323,9 @@ void registerEngine(IPluginManager* iPlugin) { - unloadDetector->setCleanup(shutdownBeforeUnload); + myModule->setCleanup(shutdownBeforeUnload); iPlugin->registerPluginFactory(PluginType::Provider, "Engine12", &engineFactory); - iPlugin->registerModule(&unloadDetector); + iPlugin->registerModule(&myModule); } } // namespace Jrd Modified: firebird/trunk/src/jrd/svc.cpp =================================================================== --- firebird/trunk/src/jrd/svc.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/jrd/svc.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -1890,6 +1890,10 @@ ClumpletReader spb(ClumpletReader::SpbStart, spb_data, spb_length); // The name of the service is the first element of the buffer + if (spb.isEof()) + { + status_exception::raise(Arg::Gds(isc_service_att_err) << Arg::Gds(isc_spb_no_id)); + } const UCHAR svc_id = spb.getClumpTag(); const serv_entry* serv; for (serv = services; serv->serv_action; serv++) Modified: firebird/trunk/src/jrd/trace/TraceManager.cpp =================================================================== --- firebird/trunk/src/jrd/trace/TraceManager.cpp 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/jrd/trace/TraceManager.cpp 2011-06-10 12:53:51 UTC (rev 53147) @@ -64,6 +64,9 @@ return 1; } }; + + MakeUpgradeInfo<IgnoreMissing> upgradePlugin; + MakeUpgradeInfo<> upgradeFactory; } namespace Jrd { @@ -156,7 +159,7 @@ init_factories = true; factories = FB_NEW(*getDefaultMemoryPool()) TraceManager::Factories(*getDefaultMemoryPool()); - for (GetPlugins<TraceFactory, IgnoreMissing> traceItr(PluginType::Trace, FB_TRACE_PLUGIN_VERSION); + for (GetPlugins<TraceFactory> traceItr(PluginType::Trace, FB_TRACE_FACTORY_VERSION, upgradeFactory); traceItr.hasData(); traceItr.next()) { FactoryInfo info; @@ -259,6 +262,8 @@ } } + MasterInterfacePtr master; + for (FactoryInfo* info = factories->begin(); info != factories->end(); ++info) { TraceInitInfoImpl attachInfo(session, attachment, filename); @@ -267,6 +272,8 @@ if (plugin) { + master->upgradeInterface(plugin, FB_TRACE_PLUGIN_VERSION, upgradePlugin); + plugin->addRef(); SessionInfo sesInfo; sesInfo.plugin = plugin; Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2011-06-10 12:35:46 UTC (rev 53146) +++ firebird/trunk/src/msgs/facilities2.sql 2011-06-10 12:53:51 UTC (rev 53147) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2011-02-02 12:45:00', 'JRD', 0, 705) +('2011-06-10 16:23:31', 'JRD', 0, 706) ('2010-03-15 06:59:09', 'QLI', 1, 531) -- --('2008-11-28 20:27:04', 'GDEF', 2, 346) Modified: firebird/trunk/src/msgs/messages2.sql ============================================================... [truncated message content] |
From: <fir...@us...> - 2011-06-21 10:09:41
|
Revision: 53198 http://firebird.svn.sourceforge.net/firebird/?rev=53198&view=rev Author: firebirds Date: 2011-06-21 10:09:32 +0000 (Tue, 21 Jun 2011) 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 2011-06-21 09:06:43 UTC (rev 53197) +++ firebird/trunk/ChangeLog 2011-06-21 10:09:32 UTC (rev 53198) @@ -1,3 +1,157 @@ + 2011-06-17 12:39 asfernandes + M src/dsql/DdlNodes.epp +Complement fix for CORE-3140 - Preserve comments for parameters after altering procedures. + + 2011-06-17 01:06 asfernandes + M src/jrd/tra.cpp + M src/jrd/tra.h +Misc. + + 2011-06-16 08:58 hvlad + M src/jrd/tra.cpp + M src/jrd/tra.h +Fixed bug CORE-3525 : Autonomous transactions should not inherit run-time flags of "parent" transaction + + 2011-06-15 15:55 asfernandes + M src/jrd/SimilarToMatcher.h +Fixed CORE-3523 - SIMILAR TO: False matches on descending ranges. + + 2011-06-15 12:44 hvlad + M src/jrd/cch.cpp + M src/jrd/tra.cpp + M src/jrd/tra_proto.h +Try to correctly handle IO errors in cache and avoid some internal deadlocks. + + 2011-06-15 11:59 hvlad + M src/jrd/cch.cpp +Additional fix for correct Nbackup state lock accounting. See also CORE-3465 + + 2011-06-15 11:43 hvlad + M src/jrd/cch.cpp + M src/jrd/nbak.cpp + M src/jrd/nbak.h +Fixed bug CORE-3521 : Delta file contents is not flushed to disk + + 2011-06-15 08:35 paulbeach + M builds/posix/prefix.darwin_i386 +Fix typo + + 2011-06-15 00:47 asfernandes + M src/common/classes/GetPlugins.h + M src/common/classes/alloc.cpp + M src/utilities/ntrace/traceplugin.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/PluginManager.cpp +Misc. + + 2011-06-14 11:34 alexpeshkoff + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/common/classes/ImplementHelper.h + M src/jrd/jrd.cpp + M src/plugins/udr_engine/UdrEngine.cpp + M src/utilities/ntrace/traceplugin.cpp +Fixed UnloadDetector in a case when it gets linked in non-plugin module + + 2011-06-13 19:02 hvlad + M src/jrd/DatabaseSnapshot.cpp +try\catch to always restore original attachment in tdbb. Noted by Claudio. + + 2011-06-13 11:09 hvlad + M src/jrd/EngineInterface.h + M src/jrd/cch.cpp + M src/jrd/jrd.cpp + M src/jrd/vio.cpp +Fixed leak of SysAttachment instance. Noted by Claudio. + + 2011-06-13 11:08 hvlad + M src/common/classes/ImplementHelper.h + M src/include/firebird/Interface.h +Missed FB_CARG + + 2011-06-13 10:40 hvlad + M builds/win32/msvc10/common.vcxproj + M builds/win32/msvc10/common.vcxproj.filters + M builds/win32/msvc8/common.vcproj + M builds/win32/msvc9/common.vcproj +Update Windows build + + 2011-06-11 18:44 asfernandes + M doc/README.intl +Misc. + + 2011-06-11 06:12 robocop + M src/include/firebird/Plugin.h +Misc. + + 2011-06-11 06:09 robocop + M src/common/classes/alloc.cpp +Misc. + + 2011-06-11 06:08 robocop + M builds/win32/msvc8/common.vcproj +Misc. + + 2011-06-10 12:53 alexpeshkoff + M builds/posix/make.defaults + M configure.in + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/auth/AuthDbg.cpp + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/auth/SecurityDatabase/LegacyServer.cpp + M src/auth/trusted/AuthSspi.cpp + M src/common/classes/GetPlugins.h + A src/common/classes/ImplementHelper.cpp + M src/common/classes/ImplementHelper.h + M src/common/security.cpp + M src/common/utils.cpp + M src/gpre/boot/gpre_meta_boot.cpp + M src/include/firebird/ExternalEngine.h + M src/include/firebird/Interface.h + M src/include/firebird/Plugin.h + M src/include/firebird/Provider.h + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/UserManagement.cpp + M src/jrd/jrd.cpp + M src/jrd/svc.cpp + M src/jrd/trace/TraceManager.cpp + 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/remote/client/interface.cpp + M src/remote/server/server.cpp + M src/utilities/ntrace/TracePluginImpl.cpp + M src/utilities/ntrace/traceplugin.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/PluginManager.cpp + M src/yvalve/PluginManager.h + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Used upgradeInterface() in a number of places. +Fixed memory leak when unloading module, related with upgraded interfaces. +Fixed timer on posix to be high resolution. +Better diagnostic in services. + + 2011-06-10 12:35 alexpeshkoff + M extern/editline/config.h.in + M extern/editline/configure +regenerated with fresh autotools + + 2011-06-08 09:27 alexpeshkoff + M src/common/classes/ClumpletReader.cpp +Fixed segfault in DEV_BUILD + + 2011-06-08 06:38 alexpeshkoff + M src/common/Auth.cpp +Fixed posix build + 2011-06-08 01:55 asfernandes M src/jrd/dpm.epp M src/jrd/vio.cpp @@ -43,7 +197,7 @@ 2011-06-03 19:12 asfernandes M src/common/IntlUtil.cpp M src/common/IntlUtil.h -Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. +Fixed CORE-3416 - Inserting Käse into a CHARACTER SET ASCII column succeeds. 2011-06-03 17:39 asfernandes M src/jrd/met.epp @@ -33095,7 +33249,7 @@ 2008-11-29 18:47 asfernandes M src/jrd/DataTypeUtil.cpp M src/jrd/DataTypeUtil.h -Fixed CORE-2019 ?\195?\162?\226?\130?\172?\226?\128?\156 UTF-8 conversion error (string truncation). +Fixed CORE-2019 – UTF-8 conversion error (string truncation). 2008-11-28 18:49 alexpeshkoff M src/common/classes/SafeArg.cpp @@ -35447,7 +35601,7 @@ 2008-07-16 14:16 asfernandes M src/jrd/idx.cpp -Fixed CORE-1989 - UTF8 UNICODE_CI collate can?\194?\180t be used in foreing key constraint +Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint 2008-07-16 13:55 asfernandes M src/jrd/Optimizer.cpp @@ -36455,7 +36609,7 @@ 2008-06-14 02:17 asfernandes M doc/sql.extensions/README.similar_to.txt M src/jrd/SimilarToMatcher.h -1) Fixed CORE-1935 ?\195?\162?\226?\130?\172?\226?\128?\156 SIMILAR TO character classes are incorrectly recognized. +1) Fixed CORE-1935 – SIMILAR TO character classes are incorrectly recognized. 2) Improve the documentation after some questions from Claudio. 2008-06-13 14:01 dimitr @@ -48723,7 +48877,7 @@ 2007-05-09 15:23 asfernandes M doc/sql.extensions/README.list -Updated LIST documentation - thanks to Maycon Ferra?\195?\167a +Updated LIST documentation - thanks to Maycon Ferraça 2007-05-09 02:03 asfernandes M src/burp/burp.cpp @@ -50674,7 +50828,7 @@ 2007-03-22 13:07 asfernandes M doc/sql.extensions/README.context_variables2 -Document the new context variable - thanks to Maicon Ferra?\195?\167a +Document the new context variable - thanks to Maicon Ferraça 2007-03-22 12:53 dimitr M src/dsql/pass1.cpp @@ -52351,7 +52505,7 @@ 2006-12-14 10:30 asfernandes M doc/sql.extensions/README.returning -Correction - thanks to Maycon Ferra?\195?\167a +Correction - thanks to Maycon Ferraça 2006-12-14 09:14 dimitr A doc/README.monitoring_tables @@ -53795,7 +53949,7 @@ 2006-10-10 03:53 asfernandes M src/jrd/jrd.cpp -Fix problem reported by Carsten Sch?\195?\164fer in fbdevel of incorrect server start when using connection pooling +Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:39 asfernandes M src/jrd/os/posix/isc_ipc.cpp @@ -54144,7 +54298,7 @@ 2006-09-13 12:59 asfernandes M src/dsql/pass1.cpp -Fix the problem with CAST and parameters reported by Maycon Ferra?\195?\167a in fb-devel +Fix the problem with CAST and parameters reported by Maycon Ferraça in fb-devel 2006-09-12 16:31 asfernandes M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-21 09:06:43 UTC (rev 53197) +++ firebird/trunk/src/jrd/build_no.h 2011-06-21 10:09:32 UTC (rev 53198) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29438 + FORMAL BUILD NUMBER:29460 */ -#define PRODUCT_VER_STRING "3.0.0.29438" -#define FILE_VER_STRING "WI-T3.0.0.29438" -#define LICENSE_VER_STRING "WI-T3.0.0.29438" -#define FILE_VER_NUMBER 3, 0, 0, 29438 +#define PRODUCT_VER_STRING "3.0.0.29460" +#define FILE_VER_STRING "WI-T3.0.0.29460" +#define LICENSE_VER_STRING "WI-T3.0.0.29460" +#define FILE_VER_NUMBER 3, 0, 0, 29460 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29438" +#define FB_BUILD_NO "29460" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-21 09:06:43 UTC (rev 53197) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-21 10:09:32 UTC (rev 53198) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29438 +BuildNum=29460 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...> - 2011-06-22 03:18:32
|
Revision: 53201 http://firebird.svn.sourceforge.net/firebird/?rev=53201&view=rev Author: firebirds Date: 2011-06-22 03:18:25 +0000 (Wed, 22 Jun 2011) 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 2011-06-22 00:30:30 UTC (rev 53200) +++ firebird/trunk/ChangeLog 2011-06-22 03:18:25 UTC (rev 53201) @@ -1,3 +1,7 @@ + 2011-06-22 00:30 asfernandes + M src/dsql/DdlNodes.epp +Misc. + 2011-06-17 12:39 asfernandes M src/dsql/DdlNodes.epp Complement fix for CORE-3140 - Preserve comments for parameters after altering procedures. @@ -197,7 +201,7 @@ 2011-06-03 19:12 asfernandes M src/common/IntlUtil.cpp M src/common/IntlUtil.h -Fixed CORE-3416 - Inserting Käse into a CHARACTER SET ASCII column succeeds. +Fixed CORE-3416 - Inserting K?\195?\164se into a CHARACTER SET ASCII column succeeds. 2011-06-03 17:39 asfernandes M src/jrd/met.epp @@ -33249,7 +33253,7 @@ 2008-11-29 18:47 asfernandes M src/jrd/DataTypeUtil.cpp M src/jrd/DataTypeUtil.h -Fixed CORE-2019 – UTF-8 conversion error (string truncation). +Fixed CORE-2019 ?\195?\162?\226?\130?\172?\226?\128?\156 UTF-8 conversion error (string truncation). 2008-11-28 18:49 alexpeshkoff M src/common/classes/SafeArg.cpp @@ -35601,7 +35605,7 @@ 2008-07-16 14:16 asfernandes M src/jrd/idx.cpp -Fixed CORE-1989 - UTF8 UNICODE_CI collate can´t be used in foreing key constraint +Fixed CORE-1989 - UTF8 UNICODE_CI collate can?\194?\180t be used in foreing key constraint 2008-07-16 13:55 asfernandes M src/jrd/Optimizer.cpp @@ -36609,7 +36613,7 @@ 2008-06-14 02:17 asfernandes M doc/sql.extensions/README.similar_to.txt M src/jrd/SimilarToMatcher.h -1) Fixed CORE-1935 – SIMILAR TO character classes are incorrectly recognized. +1) Fixed CORE-1935 ?\195?\162?\226?\130?\172?\226?\128?\156 SIMILAR TO character classes are incorrectly recognized. 2) Improve the documentation after some questions from Claudio. 2008-06-13 14:01 dimitr @@ -48877,7 +48881,7 @@ 2007-05-09 15:23 asfernandes M doc/sql.extensions/README.list -Updated LIST documentation - thanks to Maycon Ferraça +Updated LIST documentation - thanks to Maycon Ferra?\195?\167a 2007-05-09 02:03 asfernandes M src/burp/burp.cpp @@ -50828,7 +50832,7 @@ 2007-03-22 13:07 asfernandes M doc/sql.extensions/README.context_variables2 -Document the new context variable - thanks to Maicon Ferraça +Document the new context variable - thanks to Maicon Ferra?\195?\167a 2007-03-22 12:53 dimitr M src/dsql/pass1.cpp @@ -52505,7 +52509,7 @@ 2006-12-14 10:30 asfernandes M doc/sql.extensions/README.returning -Correction - thanks to Maycon Ferraça +Correction - thanks to Maycon Ferra?\195?\167a 2006-12-14 09:14 dimitr A doc/README.monitoring_tables @@ -53949,7 +53953,7 @@ 2006-10-10 03:53 asfernandes M src/jrd/jrd.cpp -Fix problem reported by Carsten Schäfer in fbdevel of incorrect server start when using connection pooling +Fix problem reported by Carsten Sch?\195?\164fer in fbdevel of incorrect server start when using connection pooling 2006-10-10 03:39 asfernandes M src/jrd/os/posix/isc_ipc.cpp @@ -54298,7 +54302,7 @@ 2006-09-13 12:59 asfernandes M src/dsql/pass1.cpp -Fix the problem with CAST and parameters reported by Maycon Ferraça in fb-devel +Fix the problem with CAST and parameters reported by Maycon Ferra?\195?\167a in fb-devel 2006-09-12 16:31 asfernandes M src/jrd/opt.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-22 00:30:30 UTC (rev 53200) +++ firebird/trunk/src/jrd/build_no.h 2011-06-22 03:18:25 UTC (rev 53201) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29460 + FORMAL BUILD NUMBER:29461 */ -#define PRODUCT_VER_STRING "3.0.0.29460" -#define FILE_VER_STRING "WI-T3.0.0.29460" -#define LICENSE_VER_STRING "WI-T3.0.0.29460" -#define FILE_VER_NUMBER 3, 0, 0, 29460 +#define PRODUCT_VER_STRING "3.0.0.29461" +#define FILE_VER_STRING "WI-T3.0.0.29461" +#define LICENSE_VER_STRING "WI-T3.0.0.29461" +#define FILE_VER_NUMBER 3, 0, 0, 29461 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29460" +#define FB_BUILD_NO "29461" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-22 00:30:30 UTC (rev 53200) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-22 03:18:25 UTC (rev 53201) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29460 +BuildNum=29461 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-06-24 06:34:23
|
Revision: 53218 http://firebird.svn.sourceforge.net/firebird/?rev=53218&view=rev Author: robocop Date: 2011-06-24 06:34:16 +0000 (Fri, 24 Jun 2011) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/common/IntlUtil.h firebird/trunk/src/common/classes/ImplementHelper.h firebird/trunk/src/common/classes/SyncObject.cpp firebird/trunk/src/common/classes/SyncObject.h firebird/trunk/src/common/classes/Synchronize.cpp firebird/trunk/src/common/classes/Synchronize.h firebird/trunk/src/jrd/Attachment.h firebird/trunk/src/jrd/DatabaseSnapshot.cpp firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/GarbageCollector.cpp firebird/trunk/src/jrd/cch.cpp firebird/trunk/src/jrd/cch.h firebird/trunk/src/jrd/flu.h firebird/trunk/src/jrd/intl.cpp firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/lck.cpp firebird/trunk/src/jrd/tpc.cpp firebird/trunk/src/jrd/tpc_proto.h firebird/trunk/src/jrd/vio.cpp firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/yvalve/DistributedTransaction.cpp firebird/trunk/src/yvalve/PluginManager.cpp firebird/trunk/src/yvalve/YObjects.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -716,8 +716,8 @@ outMessage.setNull(retDesc, true); return; } - else - ret += inMessage[numDesc]; + + ret += inMessage[numDesc]; } outMessage[retDesc] = ret; Modified: firebird/trunk/src/common/IntlUtil.h =================================================================== --- firebird/trunk/src/common/IntlUtil.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/IntlUtil.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -105,7 +105,7 @@ class Utf8CharSet { public: - Utf8CharSet(MemoryPool& pool); + explicit Utf8CharSet(MemoryPool& pool); public: charset obj; Modified: firebird/trunk/src/common/classes/ImplementHelper.h =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/classes/ImplementHelper.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -171,7 +171,7 @@ class AccessAutoInterface { public: - AccessAutoInterface(C* aPtr) + explicit AccessAutoInterface(C* aPtr) : ptr(aPtr) { } @@ -206,7 +206,7 @@ PluginManagerInterfacePtr() : AccessAutoInterface<IPluginManager>(MasterInterfacePtr()->getPluginManager()) { } - PluginManagerInterfacePtr(IMaster* master) + explicit PluginManagerInterfacePtr(IMaster* master) : AccessAutoInterface<IPluginManager>(master->getPluginManager()) { } }; Modified: firebird/trunk/src/common/classes/SyncObject.cpp =================================================================== --- firebird/trunk/src/common/classes/SyncObject.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/classes/SyncObject.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -153,7 +153,6 @@ } } - return false; } else { @@ -180,8 +179,9 @@ } } - return false; } + + return false; } void SyncObject::unlock(Sync* sync, SyncType type) @@ -366,7 +366,7 @@ } } -void SyncObject::validate(SyncType lockType) +void SyncObject::validate(SyncType lockType) const { switch (lockType) { Modified: firebird/trunk/src/common/classes/SyncObject.h =================================================================== --- firebird/trunk/src/common/classes/SyncObject.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/classes/SyncObject.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -99,7 +99,7 @@ void wait(SyncType type, ThreadSync* thread, Sync* sync); ThreadSync* grantThread(ThreadSync* thread); void grantLocks(); - void validate(SyncType lockType); + void validate(SyncType lockType) const; AtomicCounter lockState; AtomicCounter waiters; @@ -207,7 +207,7 @@ class SyncUnlockGuard { public: - SyncUnlockGuard(Sync& aSync) : + explicit SyncUnlockGuard(Sync& aSync) : sync(aSync) { oldState = sync.getState(); Modified: firebird/trunk/src/common/classes/Synchronize.cpp =================================================================== --- firebird/trunk/src/common/classes/Synchronize.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/classes/Synchronize.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -239,7 +239,7 @@ } -const char* ThreadSync::getWhere() +const char* ThreadSync::getWhere() const { if (lockPending && lockPending->where) return lockPending->where; Modified: firebird/trunk/src/common/classes/Synchronize.h =================================================================== --- firebird/trunk/src/common/classes/Synchronize.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/common/classes/Synchronize.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -76,14 +76,14 @@ friend class SyncObject; public: - ThreadSync(const char* desc); + explicit ThreadSync(const char* desc); virtual ~ThreadSync(); static ThreadSync* findThread(); static ThreadSync* getThread(const char* desc); static FB_THREAD_ID getCurrentThreadId(); - const char* getWhere(); + const char* getWhere() const; static void validateLocks(); Modified: firebird/trunk/src/jrd/Attachment.h =================================================================== --- firebird/trunk/src/jrd/Attachment.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/Attachment.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -132,7 +132,7 @@ class SyncGuard { public: - SyncGuard(Attachment* att, bool optional = false) + explicit SyncGuard(Attachment* att, bool optional = false) : m_mutex(NULL) { if (att && att->att_interface) @@ -161,7 +161,7 @@ class Checkout { public: - Checkout(Attachment* att, bool optional = false) + explicit Checkout(Attachment* att, bool optional = false) : m_mutex(NULL) { if (att && att->att_interface) Modified: firebird/trunk/src/jrd/DatabaseSnapshot.cpp =================================================================== --- firebird/trunk/src/jrd/DatabaseSnapshot.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/DatabaseSnapshot.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -773,7 +773,7 @@ // Attachment information - Attachment* old_attachment = tdbb->getAttachment(); + Attachment* const old_attachment = tdbb->getAttachment(); try { Attachment::Checkout attCout(old_attachment, true); Modified: firebird/trunk/src/jrd/EngineInterface.h =================================================================== --- firebird/trunk/src/jrd/EngineInterface.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/EngineInterface.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -299,7 +299,7 @@ virtual void FB_CARG drop(Firebird::IStatus* status); public: - JAttachment(Attachment* handle); + explicit JAttachment(Attachment* handle); Attachment* getHandle() { @@ -338,7 +338,7 @@ class SysAttachment : public JAttachment { public: - SysAttachment(Attachment* handle) + explicit SysAttachment(Attachment* handle) : JAttachment(handle) { } @@ -376,7 +376,7 @@ unsigned int spbLength, const unsigned char* spb); public: - JService(Service* handle); + explicit JService(Service* handle); private: Service* svc; Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -466,7 +466,7 @@ if (align) pos = FB_ALIGN(pos, align); - unsigned dataPos = pos; + const unsigned dataPos = pos; pos += desc.dsc_length; align = type_alignments[dtype_short]; @@ -506,7 +506,8 @@ dsc desc; EVL_field(rpb->rpb_relation, record, i, &desc); - + // CVC: I'm not sure why it's not important to check EVL_field's result. + unsigned align = type_alignments[desc.dsc_dtype]; if (align) msgBuffer.resize(FB_ALIGN(msgBuffer.getCount(), align)); Modified: firebird/trunk/src/jrd/ExtEngineManager.h =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/ExtEngineManager.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -64,7 +64,7 @@ public Firebird::PermanentStorage { public: - RoutineMetadata(MemoryPool& pool) + explicit RoutineMetadata(MemoryPool& pool) : PermanentStorage(pool), package(pool), name(pool), Modified: firebird/trunk/src/jrd/GarbageCollector.cpp =================================================================== --- firebird/trunk/src/jrd/GarbageCollector.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/GarbageCollector.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -55,7 +55,7 @@ // search for given page at other transactions bitmaps // if found at older tx - we are done, just return - // if found at yanger tx - clear it as page should be set at oldest tx (our) + // if found at younger tx - clear it as page should be set at oldest tx (our) TranData::ConstAccessor accessor(&m_tranData); if (accessor.getFirst()) { @@ -75,16 +75,10 @@ } while(accessor.getNext()); } - // add page to the our tx bitmap - if (bm) - { - PBM_SET(&m_pool, &bm, pageno); - } - else - { - PBM_SET(&m_pool, &bm, pageno); + // add page to our tx bitmap + PBM_SET(&m_pool, &bm, pageno); + if (!bm) m_tranData.put(tranid, bm); - } } @@ -136,8 +130,8 @@ TranData::ConstAccessor accessor(&m_tranData); if (accessor.getFirst()) return accessor.current()->first; - else - return MAX_TRA_NUMBER; + + return MAX_TRA_NUMBER; } Modified: firebird/trunk/src/jrd/cch.cpp =================================================================== --- firebird/trunk/src/jrd/cch.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/cch.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -984,7 +984,7 @@ SET_TDBB(tdbb); Database* dbb = tdbb->getDatabase(); BufferControl* bcb = dbb->dbb_bcb; - if (!dbb->dbb_bcb) + if (!bcb) return; bool flush_error = false; @@ -3572,7 +3572,7 @@ const bcb_repeat* const old_end = bcb->bcb_rpt + bcb->bcb_count; bcb_repeat* new_rpt = FB_NEW(*bcb->bcb_bufferpool) bcb_repeat[number]; - bcb_repeat* old_rpt = bcb->bcb_rpt; + bcb_repeat* const old_rpt = bcb->bcb_rpt; bcb->bcb_rpt = new_rpt; bcb->bcb_count = number; @@ -3913,12 +3913,14 @@ if (oldest->bdb_use_count || !oldest->addRefConditional(tdbb, SYNC_EXCLUSIVE)) continue; - if ((oldest->bdb_flags & BDB_free_pending) || !writeable(dbb, oldest)) { + if ((oldest->bdb_flags & BDB_free_pending) || !writeable(dbb, oldest)) + { oldest->release(tdbb); continue; } - if (oldest->bdb_flags & BDB_lru_chained) { + if (oldest->bdb_flags & BDB_lru_chained) + { oldest->release(tdbb); continue; } @@ -5051,7 +5053,7 @@ if (!isTempPage && (backup_state == nbak_state_stalled || - (backup_state == nbak_state_merge && bdb->bdb_difference_page))) + (backup_state == nbak_state_merge && bdb->bdb_difference_page))) { const bool res = dbb->dbb_backup_manager->writeDifference(status, Modified: firebird/trunk/src/jrd/cch.h =================================================================== --- firebird/trunk/src/jrd/cch.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/cch.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -177,7 +177,7 @@ class BufferDesc : public pool_alloc<type_bdb> { public: - BufferDesc(BufferControl* bcb) + explicit BufferDesc(BufferControl* bcb) : bdb_bcb(bcb), bdb_page(0, 0), bdb_pending_page(0, 0) Modified: firebird/trunk/src/jrd/flu.h =================================================================== --- firebird/trunk/src/jrd/flu.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/flu.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -77,7 +77,7 @@ Firebird::RefPtr<InternalModule> interMod; - Module(InternalModule* h) + explicit Module(InternalModule* h) : interMod(h) { } Modified: firebird/trunk/src/jrd/intl.cpp =================================================================== --- firebird/trunk/src/jrd/intl.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/intl.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -349,7 +349,7 @@ } Jrd::Attachment* att = tdbb->getAttachment(); - Jrd::Attachment::CheckoutLockGuard guard(att, createCollationMtx); // are we need it ? + Jrd::Attachment::CheckoutLockGuard guard(att, createCollationMtx); // do we need it ? Collation* to_delete = NULL; Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/jrd.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -471,7 +471,7 @@ class DatabaseContextHolder : public Jrd::ContextPoolHolder { public: - DatabaseContextHolder(thread_db* tdbb) + explicit DatabaseContextHolder(thread_db* tdbb) : Jrd::ContextPoolHolder(tdbb, tdbb->getDatabase()->dbb_permanent), savedTdbb(tdbb) { @@ -7281,6 +7281,9 @@ try { + if (tpb_length > 0 && tpb == NULL) + status_exception::raise(Arg::Gds(isc_bad_tpb_form)); + jrd_tra* transaction = TRA_start(tdbb, tpb_length, tpb); transaction->tra_sibling = NULL; Modified: firebird/trunk/src/jrd/lck.cpp =================================================================== --- firebird/trunk/src/jrd/lck.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/lck.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -108,8 +108,8 @@ { if (tdbb->getDatabase()->dbb_config->getSharedCache()) return (LOCK_OWNER_T) getpid() << 32 | tdbb->getAttachment()->att_lock_owner_id; - else - return (LOCK_OWNER_T) getpid() << 32 | tdbb->getDatabase()->dbb_lock_owner_id; + + return (LOCK_OWNER_T) getpid() << 32 | tdbb->getDatabase()->dbb_lock_owner_id; } inline SLONG* LCK_OWNER_HANDLE_DBB(thread_db* tdbb) @@ -121,8 +121,8 @@ { if (tdbb->getDatabase()->dbb_config->getSharedCache()) return &tdbb->getAttachment()->att_lock_owner_handle; - else - return &tdbb->getDatabase()->dbb_lock_owner_handle; + + return &tdbb->getDatabase()->dbb_lock_owner_handle; } Modified: firebird/trunk/src/jrd/tpc.cpp =================================================================== --- firebird/trunk/src/jrd/tpc.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/tpc.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -406,7 +406,7 @@ #endif // hvlad: No need to cache TIP pages below hdr_oldest just refreshed from - // header page. Moreover out tip cache can now contain an gap between last + // header page. Moreover out tip cache can now contain a gap between the last // cached tip page and new pages if our process was idle for long time oldest = MAX(oldest, hdr_oldest); Modified: firebird/trunk/src/jrd/tpc_proto.h =================================================================== --- firebird/trunk/src/jrd/tpc_proto.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/tpc_proto.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -39,7 +39,7 @@ class TipCache { public: - TipCache(Database* dbb); + explicit TipCache(Database* dbb); ~TipCache(); int cacheState(thread_db*, SLONG number); Modified: firebird/trunk/src/jrd/vio.cpp =================================================================== --- firebird/trunk/src/jrd/vio.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/jrd/vio.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -4273,7 +4273,8 @@ for (attachment = dbb->dbb_attachments; attachment; attachment = attachment->att_next) { - if (attachment->att_flags & ATT_notify_gc) { + if (attachment->att_flags & ATT_notify_gc) + { attachment->att_flags &= ~ATT_notify_gc; attachment->att_flags |= ATT_disable_notify_gc; } @@ -4290,7 +4291,8 @@ for (attachment = dbb->dbb_attachments; attachment; attachment = attachment->att_next) { - if (attachment->att_flags & ATT_disable_notify_gc) { + if (attachment->att_flags & ATT_disable_notify_gc) + { attachment->att_flags &= ~ATT_disable_notify_gc; attachment->att_flags |= ATT_notify_gc; } Modified: firebird/trunk/src/remote/client/interface.cpp =================================================================== --- firebird/trunk/src/remote/client/interface.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/remote/client/interface.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -147,7 +147,7 @@ virtual int FB_CARG seek(IStatus* status, int mode, int offset); // returns position public: - Blob(Rbl* handle) + explicit Blob(Rbl* handle) : blob(handle) { } Modified: firebird/trunk/src/yvalve/DistributedTransaction.cpp =================================================================== --- firebird/trunk/src/yvalve/DistributedTransaction.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/yvalve/DistributedTransaction.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -83,7 +83,7 @@ RWLock rwLock; bool limbo; - DTransaction(const SubArray& aSub) + explicit DTransaction(const SubArray& aSub) : sub(getPool()), limbo(false) { sub.assign(aSub); Modified: firebird/trunk/src/yvalve/PluginManager.cpp =================================================================== --- firebird/trunk/src/yvalve/PluginManager.cpp 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/yvalve/PluginManager.cpp 2011-06-24 06:34:16 UTC (rev 53218) @@ -320,7 +320,7 @@ #endif // This is called only by unregister module // when current module is forced to go away by OS. - // Do not unload it ourself in this case. + // Do not unload it ourselves in this case. addRef(); } else if (next) @@ -900,7 +900,7 @@ // Module cleanup should be unregistered only if it's unloaded // and only if it's unloaded not by PluginManager, but by OS. // That means that task is closing unexpectedly - sooner of all - // exit() is called by client of embedded server. Shutdown ourself. + // exit() is called by client of embedded server. Shutdown ourselves. fb_shutdown(5000, fb_shutrsn_exit_called); } Modified: firebird/trunk/src/yvalve/YObjects.h =================================================================== --- firebird/trunk/src/yvalve/YObjects.h 2011-06-23 14:54:42 UTC (rev 53217) +++ firebird/trunk/src/yvalve/YObjects.h 2011-06-24 06:34:16 UTC (rev 53218) @@ -117,7 +117,7 @@ class YHelper : public Firebird::StdPlugin<Intf, Vers>, public YObject { public: - YHelper(Intf* aNext); + explicit YHelper(Intf* aNext); int FB_CARG release() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2011-06-25 03:17:30
|
Revision: 53233 http://firebird.svn.sourceforge.net/firebird/?rev=53233&view=rev Author: firebirds Date: 2011-06-25 03:17:23 +0000 (Sat, 25 Jun 2011) 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 2011-06-24 13:14:27 UTC (rev 53232) +++ firebird/trunk/ChangeLog 2011-06-25 03:17:23 UTC (rev 53233) @@ -1,3 +1,68 @@ + 2011-06-24 12:54 hvlad + M src/jrd/tra.cpp + M src/jrd/vio.cpp + M src/jrd/vio_proto.h +Improvement CORE-3537 : There is no need to undo changes made in GTT created with ON COMMIT DELETE ROWS option when transaction is rolled back. + + 2011-06-24 12:49 hvlad + M src/jrd/Attachment.h + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/vio.cpp +Improvement CORE-3536 : Garbage collection in GTT is unnecessary delayed by active transactions in another attachments + + 2011-06-24 12:03 hvlad + M src/jrd/vio.cpp +Delete deferred work when savepoint is cleaned up after failure even if no records was modified. Else DFW task will be repeated at commit making system tables logically inconsistent. + + 2011-06-24 08:44 hvlad + M src/jrd/cch.cpp +Missed lock + + 2011-06-24 08:39 hvlad + M src/jrd/nbak.cpp + M src/jrd/nbak.h +Fixed bug CORE-3535 : Write target of dirty page could be undefined if error happens when nbackup state is changed. +Also prevent overwriting of first page of allocation table by data page contents. + + 2011-06-24 07:55 hvlad + M src/jrd/nbak.h +Additional patch for CORE-3521. +When CCH_flush() is called after last disconnect there is no attachment. + + 2011-06-24 06:35 robocop + M src/jrd/blb.cpp +Misc. + + 2011-06-24 06:34 robocop + M examples/udr/UdrCppExample.cpp + M src/common/IntlUtil.h + M src/common/classes/ImplementHelper.h + M src/common/classes/SyncObject.cpp + M src/common/classes/SyncObject.h + M src/common/classes/Synchronize.cpp + M src/common/classes/Synchronize.h + M src/jrd/Attachment.h + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/EngineInterface.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/jrd/GarbageCollector.cpp + M src/jrd/cch.cpp + M src/jrd/cch.h + M src/jrd/flu.h + M src/jrd/intl.cpp + M src/jrd/jrd.cpp + M src/jrd/lck.cpp + M src/jrd/tpc.cpp + M src/jrd/tpc_proto.h + M src/jrd/vio.cpp + M src/remote/client/interface.cpp + M src/yvalve/DistributedTransaction.cpp + M src/yvalve/PluginManager.cpp + M src/yvalve/YObjects.h +Misc. + 2011-06-22 00:30 asfernandes M src/dsql/DdlNodes.epp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-24 13:14:27 UTC (rev 53232) +++ firebird/trunk/src/jrd/build_no.h 2011-06-25 03:17:23 UTC (rev 53233) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29461 + FORMAL BUILD NUMBER:29469 */ -#define PRODUCT_VER_STRING "3.0.0.29461" -#define FILE_VER_STRING "WI-T3.0.0.29461" -#define LICENSE_VER_STRING "WI-T3.0.0.29461" -#define FILE_VER_NUMBER 3, 0, 0, 29461 +#define PRODUCT_VER_STRING "3.0.0.29469" +#define FILE_VER_STRING "WI-T3.0.0.29469" +#define LICENSE_VER_STRING "WI-T3.0.0.29469" +#define FILE_VER_NUMBER 3, 0, 0, 29469 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29461" +#define FB_BUILD_NO "29469" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-24 13:14:27 UTC (rev 53232) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-25 03:17:23 UTC (rev 53233) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29461 +BuildNum=29469 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...> - 2011-06-26 03:17:09
|
Revision: 53238 http://firebird.svn.sourceforge.net/firebird/?rev=53238&view=rev Author: firebirds Date: 2011-06-26 03:17:03 +0000 (Sun, 26 Jun 2011) 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 2011-06-25 18:13:25 UTC (rev 53237) +++ firebird/trunk/ChangeLog 2011-06-26 03:17:03 UTC (rev 53238) @@ -1,3 +1,12 @@ + 2011-06-25 18:13 asfernandes + M src/dsql/parse.y +Warning. + + 2011-06-25 03:40 robocop + M src/jrd/tra.cpp + M src/jrd/vio.cpp +Misc. + 2011-06-24 12:54 hvlad M src/jrd/tra.cpp M src/jrd/vio.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-25 18:13:25 UTC (rev 53237) +++ firebird/trunk/src/jrd/build_no.h 2011-06-26 03:17:03 UTC (rev 53238) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29469 + FORMAL BUILD NUMBER:29471 */ -#define PRODUCT_VER_STRING "3.0.0.29469" -#define FILE_VER_STRING "WI-T3.0.0.29469" -#define LICENSE_VER_STRING "WI-T3.0.0.29469" -#define FILE_VER_NUMBER 3, 0, 0, 29469 +#define PRODUCT_VER_STRING "3.0.0.29471" +#define FILE_VER_STRING "WI-T3.0.0.29471" +#define LICENSE_VER_STRING "WI-T3.0.0.29471" +#define FILE_VER_NUMBER 3, 0, 0, 29471 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29469" +#define FB_BUILD_NO "29471" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-25 18:13:25 UTC (rev 53237) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-26 03:17:03 UTC (rev 53238) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29469 +BuildNum=29471 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...> - 2011-06-26 15:58:02
|
Revision: 53242 http://firebird.svn.sourceforge.net/firebird/?rev=53242&view=rev Author: asfernandes Date: 2011-06-26 15:57:55 +0000 (Sun, 26 Jun 2011) Log Message: ----------- Work in progress on message-based external functions and procedures. Modified Paths: -------------- firebird/trunk/builds/win32/msvc9/Firebird3_Examples.sln firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/misc/copy-boost.sh Added Paths: ----------- firebird/trunk/src/include/firebird/Message.h firebird/trunk/src/include/ibase.h Modified: firebird/trunk/builds/win32/msvc9/Firebird3_Examples.sln =================================================================== --- firebird/trunk/builds/win32/msvc9/Firebird3_Examples.sln 2011-06-26 15:56:56 UTC (rev 53241) +++ firebird/trunk/builds/win32/msvc9/Firebird3_Examples.sln 2011-06-26 15:57:55 UTC (rev 53242) @@ -13,12 +13,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udrcpp_example", "udrcpp_example.vcproj", "{FF0FD8DF-1E5C-486E-B395-A620376A4633}" ProjectSection(ProjectDependencies) = postProject {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B} = {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B} + {4FE03933-98CD-4879-A135-FD9430087A6B} = {4FE03933-98CD-4879-A135-FD9430087A6B} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udr_engine", "udr_engine.vcproj", "{20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}" ProjectSection(ProjectDependencies) = postProject + {4FE03933-98CD-4879-A135-FD9430087A6B} = {4FE03933-98CD-4879-A135-FD9430087A6B} {15605F44-BFFD-444F-AD4C-55DC9D704465} = {15605F44-BFFD-444F-AD4C-55DC9D704465} - {4FE03933-98CD-4879-A135-FD9430087A6B} = {4FE03933-98CD-4879-A135-FD9430087A6B} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common.vcproj", "{15605F44-BFFD-444F-AD4C-55DC9D704465}" @@ -52,25 +53,33 @@ {9546EF04-1326-464B-A6ED-395C60DD63CC}.Debug|x64.ActiveCfg = Debug|x64 {9546EF04-1326-464B-A6ED-395C60DD63CC}.Debug|x64.Build.0 = Debug|x64 {9546EF04-1326-464B-A6ED-395C60DD63CC}.Release|Win32.ActiveCfg = Release|Win32 + {9546EF04-1326-464B-A6ED-395C60DD63CC}.Release|Win32.Build.0 = Release|Win32 {9546EF04-1326-464B-A6ED-395C60DD63CC}.Release|x64.ActiveCfg = Release|x64 + {9546EF04-1326-464B-A6ED-395C60DD63CC}.Release|x64.Build.0 = Release|x64 {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Debug|Win32.ActiveCfg = Debug|Win32 {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Debug|Win32.Build.0 = Debug|Win32 - {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Debug|x64.ActiveCfg = Debug|Win32 + {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Debug|x64.ActiveCfg = Debug|x64 + {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Debug|x64.Build.0 = Debug|x64 {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Release|Win32.ActiveCfg = Release|Win32 {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Release|Win32.Build.0 = Release|Win32 - {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Release|x64.ActiveCfg = Release|Win32 + {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Release|x64.ActiveCfg = Release|x64 + {FF0FD8DF-1E5C-486E-B395-A620376A4633}.Release|x64.Build.0 = Release|x64 {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Debug|Win32.ActiveCfg = Debug|Win32 {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Debug|Win32.Build.0 = Debug|Win32 - {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Debug|x64.ActiveCfg = Debug|Win32 + {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Debug|x64.ActiveCfg = Debug|x64 + {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Debug|x64.Build.0 = Debug|x64 {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Release|Win32.ActiveCfg = Release|Win32 {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Release|Win32.Build.0 = Release|Win32 - {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Release|x64.ActiveCfg = Release|Win32 + {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Release|x64.ActiveCfg = Release|x64 + {20DEBF08-EF0A-4C94-ADEB-FE9BBA14588B}.Release|x64.Build.0 = Release|x64 {15605F44-BFFD-444F-AD4C-55DC9D704465}.Debug|Win32.ActiveCfg = Debug|Win32 {15605F44-BFFD-444F-AD4C-55DC9D704465}.Debug|Win32.Build.0 = Debug|Win32 - {15605F44-BFFD-444F-AD4C-55DC9D704465}.Debug|x64.ActiveCfg = Debug|Win32 + {15605F44-BFFD-444F-AD4C-55DC9D704465}.Debug|x64.ActiveCfg = Debug|x64 + {15605F44-BFFD-444F-AD4C-55DC9D704465}.Debug|x64.Build.0 = Debug|x64 {15605F44-BFFD-444F-AD4C-55DC9D704465}.Release|Win32.ActiveCfg = Release|Win32 {15605F44-BFFD-444F-AD4C-55DC9D704465}.Release|Win32.Build.0 = Release|Win32 - {15605F44-BFFD-444F-AD4C-55DC9D704465}.Release|x64.ActiveCfg = Release|Win32 + {15605F44-BFFD-444F-AD4C-55DC9D704465}.Release|x64.ActiveCfg = Release|x64 + {15605F44-BFFD-444F-AD4C-55DC9D704465}.Release|x64.Build.0 = Release|x64 {4FE03933-98CD-4879-A135-FD9430087A6B}.Debug|Win32.ActiveCfg = Debug|Win32 {4FE03933-98CD-4879-A135-FD9430087A6B}.Debug|Win32.Build.0 = Debug|Win32 {4FE03933-98CD-4879-A135-FD9430087A6B}.Debug|x64.ActiveCfg = Debug|x64 Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-26 15:56:56 UTC (rev 53241) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2011-06-26 15:57:55 UTC (rev 53242) @@ -275,7 +275,7 @@ class MessageImpl : public Firebird::FbMessage { public: - MessageImpl(unsigned aItemCount, ISC_UCHAR* aBuffer = NULL) + MessageImpl(unsigned aItemCount, void* aBuffer = NULL) : itemCount(aItemCount * 2), freeBuffer(!aBuffer), items(0) @@ -289,7 +289,7 @@ blrLength = 0; blr = blrPos = new ISC_UCHAR[sizeof(HEADER) + 10 * itemCount + 2]; bufferLength = 0; - buffer = aBuffer; + buffer = (ISC_UCHAR*) aBuffer; memcpy(blrPos, HEADER, sizeof(HEADER)); blrPos += sizeof(HEADER); @@ -564,14 +564,46 @@ /*** create function wait_event ( - event_name varchar(31) character set ascii not null + event_name varchar(31) character set utf8 not null ) returns integer not null external name 'udrcpp_example!wait_event' engine udr; ***/ -FB_UDR_DECLARE_FUNCTION(wait_event) +FB_UDR_BEGIN_FUNCTION(wait_event) + FB_UDR_EXECUTE_MESSAGE_FUNCTION( + (FB_VARCHAR(31 * 4), name) + , + (FB_INTEGER, result)) + { + char* s = new char[in->name.length + 1]; + memcpy(s, in->name.str, in->name.length); + s[in->name.length] = '\0'; + unsigned char* eveBuffer; + unsigned char* eveResult; + int eveLen = isc_event_block(&eveBuffer, &eveResult, 1, s); + delete [] s; + + ISC_STATUS_ARRAY statusVector = {0}; + isc_db_handle dbHandle = getIscDbHandle(context); + ISC_ULONG counter = 0; + + ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + statusVector); + isc_event_counts(&counter, eveLen, eveBuffer, eveResult); + ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), + statusVector); + isc_event_counts(&counter, eveLen, eveBuffer, eveResult); + + isc_free((char*) eveBuffer); + isc_free((char*) eveResult); + + out->result = counter; + } +FB_UDR_END_FUNCTION + + /*** create function sum_args ( n1 integer, @@ -581,9 +613,42 @@ external name 'udrcpp_example!sum_args' engine udr; ***/ -FB_UDR_DECLARE_FUNCTION(sum_args) +FB_UDR_BEGIN_FUNCTION(sum_args) + FB_UDR_EXECUTE_DYNAMIC_FUNCTION + { + AutoDispose<IStatus> status(master->getStatus()); + const IParametersMetadata* params = metadata->getInputParameters(status); + ThrowError::check(status->get()); + unsigned count = params->getCount(status); + ThrowError::check(status->get()); + + MessageImpl inMessage(count, in); + + MessageImpl outMessage(1, out); + ParamDesc<ISC_LONG> retDesc(outMessage); + + int ret = 0; + + for (unsigned i = 0; i < count; ++i) + { + ParamDesc<ISC_LONG> numDesc(inMessage); + + if (inMessage.isNull(numDesc)) + { + outMessage.setNull(retDesc, true); + return; + } + else + ret += inMessage[numDesc]; + } + + outMessage[retDesc] = ret; + } +FB_UDR_END_FUNCTION + + /*** create procedure gen_rows ( start_n integer not null, @@ -594,14 +659,143 @@ external name 'udrcpp_example!gen_rows' engine udr; ***/ -FB_UDR_DECLARE_PROCEDURE(gen_rows) -FB_UDR_BEGIN_DECLARE_FETCH_PROCEDURE(gen_rows) - int counter; - int end; -FB_UDR_END_DECLARE_FETCH_PROCEDURE(gen_rows) +FB_UDR_BEGIN_PROCEDURE(gen_rows) + FB_UDR_EXECUTE_DYNAMIC_PROCEDURE + { + MessageImpl inMessage(2, inMsg); + ParamDesc<ISC_LONG> startDesc(inMessage); + ParamDesc<ISC_LONG> endDesc(inMessage); + counter = inMessage[startDesc]; + end = inMessage[endDesc]; + } + FB_UDR_FETCH_PROCEDURE + { + if (counter > end) + return false; + + MessageImpl outMessage(1, out); + ParamDesc<ISC_LONG> retDesc(outMessage); + + outMessage[retDesc] = counter++; + + return true; + } + + ISC_LONG counter; + ISC_LONG end; +FB_UDR_END_PROCEDURE + + /*** +create procedure gen_rows2 ( + start_n integer not null, + end_n integer not null +) returns ( + n integer not null +) + external name 'udrcpp_example!gen_rows2' + engine udr; +***/ +FB_UDR_BEGIN_PROCEDURE(gen_rows2) + FB_UDR_EXECUTE_MESSAGE_PROCEDURE( + (FB_INTEGER, start) + (FB_INTEGER, end) + , + (FB_INTEGER, result)) + { + out->result = in->start - 1; + } + + FB_UDR_FETCH_PROCEDURE + { + return out->result++ < in->end; + } +FB_UDR_END_PROCEDURE + + +/*** +create procedure inc ( + count_n integer not null +) returns ( + n0 integer not null, + n1 integer not null, + n2 integer not null, + n3 integer not null, + n4 integer not null +) + external name 'udrcpp_example!inc' + engine udr; +***/ +// This is a sample procedure demonstrating how the scopes of variables works. +// n1 and n2 are on the Procedure scope, i.e., they're shared for each execution of the same cached +// metadata object. +// n3 and n4 are on the ResultSet scope, i.e., each procedure execution have they own instances. +FB_UDR_BEGIN_PROCEDURE(inc) + ISC_LONG n1; + + // This is how a procedure (class) initializer is written. + // ResultSet variables are not accessible here. + // If there is nothing to initialize, it can be completelly suppressed. + FB_UDR_PROCEDURE(inc)() + : n1(0), + n2(0) + { + } + + ISC_LONG n2; + + // FB_UDR_EXECUTE_MESSAGE_PROCEDURE or FB_UDR_EXECUTE_DYNAMIC_PROCEDURE starts the ResultSet scope. + FB_UDR_EXECUTE_MESSAGE_PROCEDURE( + (FB_INTEGER, count) + , + (FB_INTEGER, n0) + (FB_INTEGER, n1) + (FB_INTEGER, n2) + (FB_INTEGER, n3) + (FB_INTEGER, n4)) + // This is the ResultSet (class) initializer. If there is nothing to initialize, the comma + // should be suppressed. + , + n3(procedure->n1), // n3 will start with the next value for n1 of the last execution + n4(0) + { + out->n0 = 0; + + // In the execute method, the procedure scope must be accessed using the 'procedure' pointer. + procedure->n1 = 0; + + // We don't touch n2 here, so it incremented counter will be kept after each execution. + + // The ResultSet scope must be accessed directly, i.e., they're member variables of the + // 'this' pointer. + ++n4; + } + + ISC_LONG n3; + + // FB_UDR_FETCH must be always after FB_UDR_EXECUTE_MESSAGE_PROCEDURE or + // FB_UDR_EXECUTE_DYNAMIC_PROCEDURE. + FB_UDR_FETCH_PROCEDURE + { + if (out->n0++ <= in->count) + { + out->n1 = ++procedure->n1; + out->n2 = ++procedure->n2; + out->n3 = ++n3; + out->n4 = ++n4; + return true; + } + + return false; + } + + ISC_LONG n4; +FB_UDR_END_PROCEDURE + + +/*** Sample usage: create database 'c:\temp\slave.fdb'; @@ -645,110 +839,9 @@ bool initialized; XSQLDA* inSqlDa; isc_stmt_handle stmtHandle; -#if 0 - IStatement* stmt; -#endif FB_UDR_END_DECLARE_TRIGGER(replicate) -FB_UDR_BEGIN_FUNCTION(wait_event) -{ - MessageImpl inMessage(1, inMsg); - ParamDesc<FbString> nameDesc(inMessage, 31); - - FbString& name = inMessage[nameDesc]; - - char* s = new char[name.length + 1]; - memcpy(s, name.str, name.length); - s[name.length] = '\0'; - - unsigned char* eveBuffer; - unsigned char* eveResult; - int eveLen = isc_event_block(&eveBuffer, &eveResult, 1, s); - - delete [] s; - - ISC_STATUS_ARRAY statusVector = {0}; - isc_db_handle dbHandle = getIscDbHandle(context); - ISC_ULONG counter = 0; - - ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), - statusVector); - isc_event_counts(&counter, eveLen, eveBuffer, eveResult); - ThrowError::check(isc_wait_for_event(statusVector, &dbHandle, eveLen, eveBuffer, eveResult), - statusVector); - isc_event_counts(&counter, eveLen, eveBuffer, eveResult); - - isc_free((char*) eveBuffer); - isc_free((char*) eveResult); - - MessageImpl outMessage(1, outMsg); - ParamDesc<ISC_LONG> retDesc(outMessage); - - outMessage[retDesc] = counter; -} -FB_UDR_END_FUNCTION(wait_event) - - -FB_UDR_BEGIN_FUNCTION(sum_args) -{ - AutoDispose<IStatus> status(master->getStatus()); - - const IParametersMetadata* params = metadata->getInputParameters(status); - ThrowError::check(status->get()); - - unsigned count = params->getCount(status); - ThrowError::check(status->get()); - - MessageImpl inMessage(count, inMsg); - - MessageImpl outMessage(1, outMsg); - ParamDesc<ISC_LONG> retDesc(outMessage); - - int ret = 0; - - for (unsigned i = 0; i < count; ++i) - { - ParamDesc<ISC_LONG> numDesc(inMessage); - - if (inMessage.isNull(numDesc)) - { - outMessage.setNull(retDesc, true); - return; - } - - ret += inMessage[numDesc]; - } - - outMessage[retDesc] = ret; -} -FB_UDR_END_FUNCTION(sum_args) - - -FB_UDR_BEGIN_PROCEDURE(gen_rows) -{ - MessageImpl inMessage(2, inMsg); - ParamDesc<ISC_LONG> startDesc(inMessage); - ParamDesc<ISC_LONG> endDesc(inMessage); - - counter = inMessage[startDesc]; - end = inMessage[endDesc]; -} -FB_UDR_FETCH_PROCEDURE(gen_rows) -{ - if (counter > end) - return false; - - MessageImpl outMessage(1, outMsg); - ParamDesc<ISC_LONG> retDesc(outMessage); - - outMessage[retDesc] = counter++; - - return true; -} -FB_UDR_END_PROCEDURE(gen_rows) - - FB_UDR_TRIGGER(replicate)::FB_UDR_TRIGGER(replicate)() : initialized(false) { Added: firebird/trunk/src/include/firebird/Message.h =================================================================== --- firebird/trunk/src/include/firebird/Message.h (rev 0) +++ firebird/trunk/src/include/firebird/Message.h 2011-06-26 15:57:55 UTC (rev 53242) @@ -0,0 +1,112 @@ +/* + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Adriano dos Santos Fernandes + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2011 Adriano dos Santos Fernandes <adr...@uo...> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#ifndef FIREBIRD_MESSAGE_H +#define FIREBIRD_MESSAGE_H + +#include "ibase.h" +#include "firebird/impl/boost/preprocessor/seq/for_each_i.hpp" + +#define FB_MESSAGE(name, fields) \ + FB_MESSAGE_I(name, FB_BOOST_PP_CAT(FB_MESSAGE_X fields, 0)) + +#define FB_MESSAGE_X(x, y) ((x, y)) FB_MESSAGE_Y +#define FB_MESSAGE_Y(x, y) ((x, y)) FB_MESSAGE_X +#define FB_MESSAGE_X0 +#define FB_MESSAGE_Y0 + +#define FB_MESSAGE_I(name, fields) \ + struct name \ + { \ + /* TODO: use it */ \ + static const unsigned char* BLR() \ + { \ + static const unsigned char blr[] = { \ + blr_version5, \ + blr_begin, \ + blr_message, 0, \ + (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) & 0xFF, \ + (2 * (FB_BOOST_PP_SEQ_SIZE(fields))) >> 8, \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_BLR, _, fields) \ + blr_end, \ + blr_eoc \ + }; \ + return blr; \ + } \ + \ + static unsigned SIZE() \ + { \ + return (unsigned)(size_t) (&((name*) 0)->FB_BOOST_PP_CAT( \ + FB_BOOST_PP_TUPLE_ELEM(2, 1, \ + FB_BOOST_PP_SEQ_ELEM(FB_BOOST_PP_DEC(FB_BOOST_PP_SEQ_SIZE(fields)), fields)), \ + Null) - 0) + sizeof(ISC_SHORT); \ + } \ + \ + FB_BOOST_PP_SEQ_FOR_EACH_I(FB_MESSAGE_FIELD, _, fields) \ + }; + +#define FB_MESSAGE_FIELD(r, _, i, xy) \ + FB_BOOST_PP_CAT(FB_TYPE_, FB_BOOST_PP_TUPLE_ELEM(2, 0, xy)) FB_BOOST_PP_TUPLE_ELEM(2, 1, xy); \ + ISC_SHORT FB_BOOST_PP_CAT(FB_BOOST_PP_TUPLE_ELEM(2, 1, xy), Null); + +#define FB_MESSAGE_BLR(r, _, i, xy) \ + FB_BOOST_PP_CAT(FB_BLR_, FB_BOOST_PP_TUPLE_ELEM(2, 0, xy)), \ + FB_BLR_FB_SMALLINT, + +//// TODO: more types +#define FB_BLR_FB_SCALED_SMALLINT(scale) blr_short, (scale) +#define FB_BLR_FB_SCALED_INTEGER(scale) blr_long, (scale) +#define FB_BLR_FB_SCALED_BIGINT(scale) blr_int64, (scale) +#define FB_BLR_FB_SMALLINT FB_BLR_FB_SCALED_SMALLINT(0) +#define FB_BLR_FB_INTEGER FB_BLR_FB_SCALED_INTEGER(0) +#define FB_BLR_FB_BIGINT FB_BLR_FB_SCALED_BIGINT(0) +#define FB_BLR_FB_VARCHAR(len) blr_varying, (len) & 0xFF, (len) >> 8 + +#define FB_TYPE_FB_SCALED_SMALLINT(x) ISC_SHORT +#define FB_TYPE_FB_SCALED_INTEGER(x) ISC_LONG +#define FB_TYPE_FB_SCALED_BIGINT(x) ISC_INT64 +#define FB_TYPE_FB_SMALLINT ISC_SHORT +#define FB_TYPE_FB_INTEGER ISC_LONG +#define FB_TYPE_FB_BIGINT ISC_INT64 +#define FB_TYPE_FB_VARCHAR(len) FbVarChar<(len)> + + +namespace Firebird { + + +template <unsigned N> +struct FbVarChar +{ + ISC_USHORT length; + char str[N]; + + void set(const char* s) + { + length = strlen(s); + memcpy(str, s, length); + } +}; + + +} // namespace Firebird + +#endif // FIREBIRD_MESSAGE_H Property changes on: firebird/trunk/src/include/firebird/Message.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2011-06-26 15:56:56 UTC (rev 53241) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2011-06-26 15:57:55 UTC (rev 53242) @@ -20,11 +20,12 @@ * Contributor(s): ______________________________________. */ -#ifndef FIREBIRD_PLUGIN_UDR_CPP -#define FIREBIRD_PLUGIN_UDR_CPP +#ifndef FIREBIRD_UDR_CPP_ENGINE +#define FIREBIRD_UDR_CPP_ENGINE #include "./ExternalEngine.h" #include "./UdrEngine.h" +#include "./Message.h" #ifndef JRD_IBASE_H #include "ibase.h" #include "iberror.h" @@ -44,29 +45,41 @@ #define FB_UDR_TRIGGER(name) Trig##name -#define FB_UDR_BEGIN_DECLARE_FUNCTION(name) \ - class FB_UDR_FUNCTION(name) : public ::Firebird::Udr::Function \ +#define FB_UDR_BEGIN_FUNCTION(name) \ + class FB_UDR_FUNCTION(name); \ + \ + ::Firebird::Udr::FunctionFactoryImpl<FB_UDR_FUNCTION(name)> FuncFactory##name(#name); \ + \ + class FB_UDR_FUNCTION(name) : public ::Firebird::Udr::Function<FB_UDR_FUNCTION(name)> \ { \ - public: \ - virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - UCHAR* inMsg, UCHAR* outMsg); \ - private: + public: -#define FB_UDR_END_DECLARE_FUNCTION(name) \ +#define FB_UDR_END_FUNCTION \ }; -#define FB_UDR_DECLARE_FUNCTION(name) \ - FB_UDR_BEGIN_DECLARE_FUNCTION(name) \ - FB_UDR_END_DECLARE_FUNCTION(name) +#define FB_UDR_EXECUTE_DYNAMIC_FUNCTION \ + typedef void* InMessage; \ + typedef void* OutMessage; \ + \ + FB_UDR_EXECUTE__FUNCTION -#define FB_UDR_BEGIN_FUNCTION(name) \ - void FB_CALL FB_UDR_FUNCTION(name)::execute(::Firebird::Error* error, \ - ::Firebird::ExternalContext* context, UCHAR* inMsg, UCHAR* outMsg) \ +#define FB_UDR_EXECUTE_MESSAGE_FUNCTION(inputs, output) \ + FB_MESSAGE(InMessage, \ + inputs \ + ) \ + FB_MESSAGE(OutMessage, \ + output \ + ) \ + \ + FB_UDR_EXECUTE__FUNCTION + +#define FB_UDR_EXECUTE__FUNCTION \ + virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + UCHAR* inMsg, UCHAR* outMsg) \ { \ try \ - { - -#define FB_UDR_END_FUNCTION(name) \ + { \ + execute(error, context, (InMessage*) inMsg, (OutMessage*) outMsg); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -81,61 +94,48 @@ strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ } \ } \ - ::Firebird::Udr::FunctionFactoryImpl<FB_UDR_FUNCTION(name)> FuncFactory##name(#name); + \ + virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + InMessage* in, OutMessage* out) -#define FB_UDR_BEGIN_DECLARE_PROCEDURE(name) \ - class FB_UDR_PROCEDURE(name) : public ::Firebird::Udr::Procedure \ +#define FB_UDR_BEGIN_PROCEDURE(name) \ + class FB_UDR_PROCEDURE(name); \ + \ + ::Firebird::Udr::ProcedureFactoryImpl<FB_UDR_PROCEDURE(name)> ProcFactory##name(#name); \ + \ + class FB_UDR_PROCEDURE(name) : public ::Firebird::Udr::Procedure<FB_UDR_PROCEDURE(name)> \ { \ public: \ - virtual ::Firebird::ExternalResultSet* FB_CALL open(::Firebird::Error* error, \ - ::Firebird::ExternalContext* context, UCHAR* inMsg, UCHAR* outMsg); \ + typedef FB_UDR_PROCEDURE(name) This; -#define FB_UDR_END_DECLARE_PROCEDURE(name) \ +#define FB_UDR_END_PROCEDURE \ + }; \ }; -#define FB_UDR_DECLARE_PROCEDURE(name) \ - FB_UDR_BEGIN_DECLARE_PROCEDURE(name) \ - FB_UDR_END_DECLARE_PROCEDURE(name) +#define FB_UDR_EXECUTE_DYNAMIC_PROCEDURE \ + typedef void* InMessage; \ + typedef void* OutMessage; \ + \ + FB_UDR_EXECUTE__PROCEDURE -#define FB_UDR_BEGIN_DECLARE_FETCH_PROCEDURE(name) \ - class ResultSet##name : public ::Firebird::Udr::ResultSet \ - { \ - public: \ - ResultSet##name(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::Udr::Procedure* procedure, UCHAR* inMsg, UCHAR* outMsg); \ +#define FB_UDR_EXECUTE_MESSAGE_PROCEDURE(inputs, outputs) \ + FB_MESSAGE(InMessage, \ + inputs \ + ) \ + FB_MESSAGE(OutMessage, \ + outputs \ + ) \ \ - public: \ - virtual bool FB_CALL fetch(::Firebird::Error* error); \ - \ - private: + FB_UDR_EXECUTE__PROCEDURE -#define FB_UDR_END_DECLARE_FETCH_PROCEDURE(name) \ - }; - -#define FB_UDR_DECLARE_FETCH_PROCEDURE(name) \ - FB_UDR_BEGIN_DECLARE_FETCH_PROCEDURE(name) \ - FB_UDR_END_DECLARE_FETCH_PROCEDURE(name) - -#define FB_UDR_DECLARE_PROCEDURE(name) \ - FB_UDR_BEGIN_DECLARE_PROCEDURE(name) \ - FB_UDR_END_DECLARE_PROCEDURE(name) - -#define FB_UDR_BEGIN_PROCEDURE(name) \ - ::Firebird::ExternalResultSet* FB_CALL Proc##name::open(::Firebird::Error* error, \ +#define FB_UDR_EXECUTE__PROCEDURE \ + virtual ::Firebird::ExternalResultSet* FB_CALL open(::Firebird::Error* error, \ ::Firebird::ExternalContext* context, UCHAR* inMsg, UCHAR* outMsg) \ { \ - return new ResultSet##name(error, context, this, inMsg, outMsg); \ - } \ - \ - ResultSet##name::ResultSet##name(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::Udr::Procedure* procedure, UCHAR* inMsg, UCHAR* outMsg) \ - : ResultSet(context, procedure, inMsg, outMsg) \ - { \ try \ - { - -#define FB_UDR_FETCH_PROCEDURE(name) \ + { \ + return new ResultSet(error, context, this, (InMessage*) inMsg, (OutMessage*) outMsg); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -149,14 +149,24 @@ FB_UDR_UNRECOGNIZED_EXCEPTION, \ strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ } \ + \ + return 0; \ } \ \ - bool FB_CALL ResultSet##name::fetch(::Firebird::Error* error) \ + class ResultSet : public ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage> \ { \ + public: \ + ResultSet(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + This* procedure, InMessage* inMsg, OutMessage* outMsg) \ + : ::Firebird::Udr::ResultSet<ResultSet, This, InMessage, OutMessage>( \ + context, procedure, inMsg, outMsg) + +#define FB_UDR_FETCH_PROCEDURE \ + virtual bool FB_CALL fetch(::Firebird::Error* error) \ + { \ try \ - { - -#define FB_UDR_END_PROCEDURE(name) \ + { \ + return fetch0(error); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -170,18 +180,19 @@ FB_UDR_UNRECOGNIZED_EXCEPTION, \ strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ } \ - return false; \ + \ + return 0; \ } \ - ::Firebird::Udr::ProcedureFactoryImpl<FB_UDR_PROCEDURE(name)> ProcFactory##name(#name); + \ + bool FB_CALL fetch0(::Firebird::Error* error) #define FB_UDR_BEGIN_DECLARE_TRIGGER(name) \ - class FB_UDR_TRIGGER(name) : public ::Firebird::Udr::Trigger \ + class FB_UDR_TRIGGER(name) : public ::Firebird::Udr::Trigger<FB_UDR_TRIGGER(name)> \ { \ public: \ virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, UCHAR* oldMsg, UCHAR* newMsg); \ - private: + ::Firebird::ExternalTrigger::Action action, UCHAR* oldMsg, UCHAR* newMsg); #define FB_UDR_END_DECLARE_TRIGGER(name) \ }; @@ -425,7 +436,7 @@ }; -class Procedure; +template <typename T> class Procedure; class Helper @@ -456,97 +467,133 @@ }; +template <typename This, typename Procedure, typename InMessage, typename OutMessage> class ResultSet : public ExternalResultSet, public Helper { public: - ResultSet(Firebird::ExternalContext* aContext, Firebird::Udr::Procedure* aProcedure, - UCHAR* aInMsg, UCHAR* aOutMsg) + ResultSet(Firebird::ExternalContext* aContext, Procedure* aProcedure, + InMessage* aIn, OutMessage* aOut) : context(aContext), procedure(aProcedure), - inMsg(aInMsg), - outMsg(aOutMsg) + in(aIn), + out(aOut) { } - virtual ~ResultSet() - { - } - public: virtual void FB_CALL dispose(Firebird::Error* /*error*/) { - delete this; + delete static_cast<This*>(this); } protected: Firebird::ExternalContext* context; - Firebird::Udr::Procedure* procedure; - UCHAR* inMsg; - UCHAR* outMsg; + Procedure* procedure; + InMessage* in; + OutMessage* out; }; -class Function : public ExternalFunction, public Helper +// This class is used to fix an apparent bug with clang, where the object is wrongly initialized +// and overwrites the members set in the operator new. +template <typename T> +class Routine : public T { public: - virtual ~Function() + Routine() { } +}; + +template <typename This> +class Function : public ExternalFunction, public Helper +{ public: virtual void FB_CALL dispose(Error* /*error*/) { - delete this; + delete static_cast<This*>(this); } - void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) + virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + Utf8* /*name*/, uint /*nameSize*/) { } + void* operator new(size_t size, const IRoutineMetadata* metadata) + { + Function* p = reinterpret_cast<Function*>(::new char[size]); + p->metadata = metadata; + return p; + } + + void operator delete(void* p) + { + ::delete [] static_cast<char*>(p); + } + public: const IRoutineMetadata* metadata; }; +template <typename This> class Procedure : public ExternalProcedure, public Helper { public: - virtual ~Procedure() + virtual void FB_CALL dispose(Error* /*error*/) { + delete static_cast<This*>(this); } -public: - virtual void FB_CALL dispose(Error* /*error*/) + virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + Utf8* /*name*/, uint /*nameSize*/) { - delete this; } - void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) + void* operator new(size_t size, const IRoutineMetadata* metadata) { + Procedure* p = reinterpret_cast<Procedure*>(::new char[size]); + p->metadata = metadata; + return p; } + void operator delete(void* p) + { + ::delete [] static_cast<char*>(p); + } + public: const IRoutineMetadata* metadata; }; +template <typename This> class Trigger : public ExternalTrigger, public Helper { public: - virtual ~Trigger() + virtual void FB_CALL dispose(Error* /*error*/) { + delete static_cast<This*>(this); } -public: - virtual void FB_CALL dispose(Error* /*error*/) + virtual void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, + Utf8* /*name*/, uint /*nameSize*/) { - delete this; } - void FB_CALL getCharSet(Error* /*error*/, ExternalContext* /*context*/, Utf8* /*name*/, uint /*nameSize*/) + void* operator new(size_t size, const IRoutineMetadata* metadata) { + Trigger* p = reinterpret_cast<Trigger*>(::new char[size]); + p->metadata = metadata; + return p; } + void operator delete(void* p) + { + ::delete [] static_cast<char*>(p); + } + public: const IRoutineMetadata* metadata; }; @@ -569,9 +616,7 @@ virtual ExternalFunction* FB_CALL newItem(const IRoutineMetadata* metadata) { - Function* function = new T(); - function->metadata = metadata; - return function; + return new(metadata) Routine<T>; } private: @@ -596,9 +641,7 @@ virtual ExternalProcedure* FB_CALL newItem(const IRoutineMetadata* metadata) { - Procedure* procedure = new T(); - procedure->metadata = metadata; - return procedure; + return new(metadata) Routine<T>; } private: @@ -623,9 +666,7 @@ virtual ExternalTrigger* FB_CALL newItem(const IRoutineMetadata* metadata) { - Trigger* trigger = new T(); - trigger->metadata = metadata; - return trigger; + return new(metadata) Routine<T>; } private: @@ -637,4 +678,4 @@ } // namespace Udr } // namespace Firebird -#endif // FIREBIRD_PLUGIN_UDR_CPP +#endif // FIREBIRD_UDR_CPP_ENGINE Added: firebird/trunk/src/include/ibase.h =================================================================== --- firebird/trunk/src/include/ibase.h (rev 0) +++ firebird/trunk/src/include/ibase.h 2011-06-26 15:57:55 UTC (rev 53242) @@ -0,0 +1 @@ +#include "../jrd/ibase.h" Property changes on: firebird/trunk/src/include/ibase.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: firebird/trunk/src/misc/copy-boost.sh =================================================================== --- ... [truncated message content] |
From: <fir...@us...> - 2011-06-27 03:16:34
|
Revision: 53245 http://firebird.svn.sourceforge.net/firebird/?rev=53245&view=rev Author: firebirds Date: 2011-06-27 03:16:27 +0000 (Mon, 27 Jun 2011) 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 2011-06-26 22:27:07 UTC (rev 53244) +++ firebird/trunk/ChangeLog 2011-06-27 03:16:27 UTC (rev 53245) @@ -1,3 +1,75 @@ + 2011-06-26 18:48 asfernandes + M src/common/classes/SyncObject.cpp + M src/common/classes/SyncObject.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/GarbageCollector.cpp + M src/jrd/jrd.cpp + M src/jrd/nbak.cpp + M src/jrd/nbak.h + M src/jrd/tpc.cpp + M src/jrd/tra.cpp + M src/jrd/vio.cpp +Misc. + + 2011-06-26 15:57 asfernandes + M builds/win32/msvc9/Firebird3_Examples.sln + M examples/udr/UdrCppExample.cpp + A src/include/firebird/Message.h + M src/include/firebird/UdrCppEngine.h + A src/include/ibase.h + M src/misc/copy-boost.sh +Work in progress on message-based external functions and procedures. + + 2011-06-26 15:56 asfernandes + A src/include/firebird/impl + A src/include/firebird/impl/boost + A src/include/firebird/impl/boost/preprocessor + A src/include/firebird/impl/boost/preprocessor/arithmetic + A src/include/firebird/impl/boost/preprocessor/arithmetic/dec.hpp + A src/include/firebird/impl/boost/preprocessor/arithmetic/inc.hpp + A src/include/firebird/impl/boost/preprocessor/cat.hpp + A src/include/firebird/impl/boost/preprocessor/config + A src/include/firebird/impl/boost/preprocessor/config/config.hpp + A src/include/firebird/impl/boost/preprocessor/control + A src/include/firebird/impl/boost/preprocessor/control/expr_if.hpp + A src/include/firebird/impl/boost/preprocessor/control/expr_iif.hpp + A src/include/firebird/impl/boost/preprocessor/control/if.hpp + A src/include/firebird/impl/boost/preprocessor/control/iif.hpp + A src/include/firebird/impl/boost/preprocessor/debug + A src/include/firebird/impl/boost/preprocessor/debug/error.hpp + A src/include/firebird/impl/boost/preprocessor/detail + A src/include/firebird/impl/boost/preprocessor/detail/auto_rec.hpp + A src/include/firebird/impl/boost/preprocessor/detail/dmc + A src/include/firebird/impl/boost/preprocessor/detail/dmc/auto_rec.hpp + A src/include/firebird/impl/boost/preprocessor/facilities + A src/include/firebird/impl/boost/preprocessor/facilities/empty.hpp + A src/include/firebird/impl/boost/preprocessor/logical + A src/include/firebird/impl/boost/preprocessor/logical/bool.hpp + A src/include/firebird/impl/boost/preprocessor/repetition + A src/include/firebird/impl/boost/preprocessor/repetition/detail + A src/include/firebird/impl/boost/preprocessor/repetition/detail/dmc + A src/include/firebird/impl/boost/preprocessor/repetition/detail/dmc/for.hpp + A src/include/firebird/impl/boost/preprocessor/repetition/detail/edg + A src/include/firebird/impl/boost/preprocessor/repetition/detail/edg/for.hpp + A src/include/firebird/impl/boost/preprocessor/repetition/detail/for.hpp + A src/include/firebird/impl/boost/preprocessor/repetition/detail/msvc + A src/include/firebird/impl/boost/preprocessor/repetition/detail/msvc/for.hpp + A src/include/firebird/impl/boost/preprocessor/repetition/for.hpp + A src/include/firebird/impl/boost/preprocessor/seq + A src/include/firebird/impl/boost/preprocessor/seq/elem.hpp + A src/include/firebird/impl/boost/preprocessor/seq/for_each_i.hpp + A src/include/firebird/impl/boost/preprocessor/seq/seq.hpp + A src/include/firebird/impl/boost/preprocessor/seq/size.hpp + A src/include/firebird/impl/boost/preprocessor/tuple + A src/include/firebird/impl/boost/preprocessor/tuple/eat.hpp + A src/include/firebird/impl/boost/preprocessor/tuple/elem.hpp + A src/include/firebird/impl/boost/preprocessor/tuple/rem.hpp +Add boost files for FB_MESSAGE. + + 2011-06-26 15:38 asfernandes + A src/misc/copy-boost.sh +Add script to copy a modified subset of boost to our tree. + 2011-06-25 18:13 asfernandes M src/dsql/parse.y Warning. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-26 22:27:07 UTC (rev 53244) +++ firebird/trunk/src/jrd/build_no.h 2011-06-27 03:16:27 UTC (rev 53245) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29471 + FORMAL BUILD NUMBER:29475 */ -#define PRODUCT_VER_STRING "3.0.0.29471" -#define FILE_VER_STRING "WI-T3.0.0.29471" -#define LICENSE_VER_STRING "WI-T3.0.0.29471" -#define FILE_VER_NUMBER 3, 0, 0, 29471 +#define PRODUCT_VER_STRING "3.0.0.29475" +#define FILE_VER_STRING "WI-T3.0.0.29475" +#define LICENSE_VER_STRING "WI-T3.0.0.29475" +#define FILE_VER_NUMBER 3, 0, 0, 29475 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29471" +#define FB_BUILD_NO "29475" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-26 22:27:07 UTC (rev 53244) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-27 03:16:27 UTC (rev 53245) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29471 +BuildNum=29475 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...> - 2011-06-30 03:18:37
|
Revision: 53262 http://firebird.svn.sourceforge.net/firebird/?rev=53262&view=rev Author: firebirds Date: 2011-06-30 03:18:31 +0000 (Thu, 30 Jun 2011) 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 2011-06-29 20:18:37 UTC (rev 53261) +++ firebird/trunk/ChangeLog 2011-06-30 03:18:31 UTC (rev 53262) @@ -1,3 +1,24 @@ + 2011-06-29 20:18 hvlad + M src/jrd/jrd.cpp + M src/yvalve/why.cpp +Fixed some AV's reported privately + + 2011-06-29 09:41 alexpeshkoff + M src/common/StatusArg.cpp + M src/common/StatusArg.h + M src/common/StatusHolder.cpp + M src/common/StatusHolder.h + M src/dsql/sqlda_pub.h + M src/include/firebird/Provider.h + M src/remote/client/interface.cpp + M src/remote/protocol.cpp + M src/remote/protocol.h + M src/remote/remote.h + M src/remote/server/server.cpp + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Use interface-based API in remote server. Use stable "next" pointers in yvalve. + 2011-06-26 18:48 asfernandes M src/common/classes/SyncObject.cpp M src/common/classes/SyncObject.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-29 20:18:37 UTC (rev 53261) +++ firebird/trunk/src/jrd/build_no.h 2011-06-30 03:18:31 UTC (rev 53262) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29475 + FORMAL BUILD NUMBER:29477 */ -#define PRODUCT_VER_STRING "3.0.0.29475" -#define FILE_VER_STRING "WI-T3.0.0.29475" -#define LICENSE_VER_STRING "WI-T3.0.0.29475" -#define FILE_VER_NUMBER 3, 0, 0, 29475 +#define PRODUCT_VER_STRING "3.0.0.29477" +#define FILE_VER_STRING "WI-T3.0.0.29477" +#define LICENSE_VER_STRING "WI-T3.0.0.29477" +#define FILE_VER_NUMBER 3, 0, 0, 29477 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29475" +#define FB_BUILD_NO "29477" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-29 20:18:37 UTC (rev 53261) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-06-30 03:18:31 UTC (rev 53262) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29475 +BuildNum=29477 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...> - 2011-06-30 13:17:12
|
Revision: 53263 http://firebird.svn.sourceforge.net/firebird/?rev=53263&view=rev Author: hvlad Date: 2011-06-30 13:17:04 +0000 (Thu, 30 Jun 2011) Log Message: ----------- Make legacy (security database based) user management plugin consistent : - binary name changed from user_management.dll to legacy_usermanager.dll (on Windows only, POSIX will follow soon) - registration name was changed from "Legacy_Auth" to "Legacy_UserManager" (see UserManager setting in firebird.conf) Modified Paths: -------------- firebird/trunk/builds/install/misc/firebird.conf.in firebird/trunk/builds/win32/msvc10/Firebird3.sln firebird/trunk/builds/win32/msvc8/Firebird3.sln firebird/trunk/builds/win32/msvc9/Firebird3.sln firebird/trunk/src/auth/SecurityDatabase/LegacyManagement.epp firebird/trunk/src/common/config/config.cpp Added Paths: ----------- firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj.filters firebird/trunk/builds/win32/msvc8/legacy_usermanager.vcxproj firebird/trunk/builds/win32/msvc9/legacy_usermanager.vcxproj Removed Paths: ------------- firebird/trunk/builds/win32/msvc10/user_management.vcxproj firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters firebird/trunk/builds/win32/msvc8/user_management.vcproj firebird/trunk/builds/win32/msvc9/user_management.vcproj Modified: firebird/trunk/builds/install/misc/firebird.conf.in =================================================================== --- firebird/trunk/builds/install/misc/firebird.conf.in 2011-06-30 03:18:31 UTC (rev 53262) +++ firebird/trunk/builds/install/misc/firebird.conf.in 2011-06-30 13:17:04 UTC (rev 53263) @@ -366,7 +366,7 @@ # UserManager sets plugin used to work with security database. If more than # one plugin is given, first plugin from the list is used. # -#UserManager = Legacy_Auth +#UserManager = Legacy_UserManager # TracePlugin is used by firebird trace facility to send trace data to the user # or log file in audit case. Modified: firebird/trunk/builds/win32/msvc10/Firebird3.sln =================================================================== --- firebird/trunk/builds/win32/msvc10/Firebird3.sln 2011-06-30 03:18:31 UTC (rev 53262) +++ firebird/trunk/builds/win32/msvc10/Firebird3.sln 2011-06-30 13:17:04 UTC (rev 53263) @@ -75,7 +75,7 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yvalve", "yvalve.vcxproj", "{4FE03933-98CD-4879-A135-FD9430087A6B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "user_management", "user_management.vcxproj", "{D836FBF5-071E-4E04-8D63-C7EB6701B296}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy_usermanager", "legacy_usermanager.vcxproj", "{D836FBF5-071E-4E04-8D63-C7EB6701B296}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Copied: firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj (from rev 53251, firebird/trunk/builds/win32/msvc10/user_management.vcxproj) =================================================================== --- firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj (rev 0) +++ firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj 2011-06-30 13:17:04 UTC (rev 53263) @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.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"> + <ProjectGuid>{D836FBF5-071E-4E04-8D63-C7EB6701B296}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </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.UpgradeFromVC71.props" /> + <Import Project="firebird2.props" /> + <Import Project="firebird2release.props" /> + <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> + <Import Project="firebird2.props" /> + <Import Project="firebird2debug.props" /> + <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> + <Import Project="firebird2.props" /> + <Import Project="firebird2release.props" /> + <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> + <Import Project="firebird2.props" /> + <Import Project="firebird2debug.props" /> + <Import Project="DllNoEmbedManifest.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\..\src\include;..\..\..\src\include\gen;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>..\..\..\src\include\gen;..\..\..\src\include;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader> + </PrecompiledHeader> + </ClCompile> + <Link> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\..\src\include;..\..\..\src\include\gen;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>..\..\..\src\include\gen;..\..\..\src\include;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader> + </PrecompiledHeader> + </ClCompile> + <Link> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ResourceCompile Include="..\..\..\src\jrd\version.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.epp" /> + <None Include="..\defs\plugin.def" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="common.vcxproj"> + <Project>{15605f44-bffd-444f-ad4c-55dc9d704465}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="yvalve.vcxproj"> + <Project>{4fe03933-98cd-4879-a135-fd9430087a6b}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\gen\auth\SecurityDatabase\LegacyManagement.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file Copied: firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj.filters (from rev 53251, firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters) =================================================================== --- firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj.filters (rev 0) +++ firebird/trunk/builds/win32/msvc10/legacy_usermanager.vcxproj.filters 2011-06-30 13:17:04 UTC (rev 53263) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Resource files"> + <UniqueIdentifier>{f5abfba7-e5fe-444a-8f3a-71613bd06b14}</UniqueIdentifier> + </Filter> + <Filter Include="headers"> + <UniqueIdentifier>{4d7668b6-d659-4684-ac32-6285d87a8977}</UniqueIdentifier> + </Filter> + <Filter Include="GPRE cpp"> + <UniqueIdentifier>{65cc725f-d68d-46a8-b9fd-1a442c5aa8bb}</UniqueIdentifier> + </Filter> + <Filter Include="GPRE epp"> + <UniqueIdentifier>{a4bf3426-2fd1-4474-8dcf-41acdd200b1a}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\..\src\jrd\version.rc"> + <Filter>Resource files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.epp"> + <Filter>GPRE epp</Filter> + </None> + <None Include="..\defs\plugin.def" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.h"> + <Filter>headers</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\gen\auth\SecurityDatabase\LegacyManagement.cpp"> + <Filter>GPRE cpp</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file Deleted: firebird/trunk/builds/win32/msvc10/user_management.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/user_management.vcxproj 2011-06-30 03:18:31 UTC (rev 53262) +++ firebird/trunk/builds/win32/msvc10/user_management.vcxproj 2011-06-30 13:17:04 UTC (rev 53263) @@ -1,191 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.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"> - <ProjectGuid>{D836FBF5-071E-4E04-8D63-C7EB6701B296}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - </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.UpgradeFromVC71.props" /> - <Import Project="firebird2.props" /> - <Import Project="firebird2release.props" /> - <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> - <Import Project="firebird2.props" /> - <Import Project="firebird2debug.props" /> - <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> - <Import Project="firebird2.props" /> - <Import Project="firebird2release.props" /> - <Import Project="DllNoEmbedManifest.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.UpgradeFromVC71.props" /> - <Import Project="firebird2.props" /> - <Import Project="firebird2debug.props" /> - <Import Project="DllNoEmbedManifest.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\src\include;..\..\..\src\include\gen;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <Link> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\src\include\gen;..\..\..\src\include;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - </ClCompile> - <Link> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\src\include;..\..\..\src\include\gen;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <Link> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\src\include\gen;..\..\..\src\include;..\..\..\src\common\classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - </ClCompile> - <Link> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ResourceCompile Include="..\..\..\src\jrd\version.rc" /> - </ItemGroup> - <ItemGroup> - <None Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.epp" /> - <None Include="..\defs\plugin.def" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="common.vcxproj"> - <Project>{15605f44-bffd-444f-ad4c-55dc9d704465}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - <ProjectReference Include="yvalve.vcxproj"> - <Project>{4fe03933-98cd-4879-a135-fd9430087a6b}</Project> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\..\gen\auth\SecurityDatabase\LegacyManagement.cpp" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> \ No newline at end of file Deleted: firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters 2011-06-30 03:18:31 UTC (rev 53262) +++ firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters 2011-06-30 13:17:04 UTC (rev 53263) @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Resource files"> - <UniqueIdentifier>{f5abfba7-e5fe-444a-8f3a-71613bd06b14}</UniqueIdentifier> - </Filter> - <Filter Include="headers"> - <UniqueIdentifier>{4d7668b6-d659-4684-ac32-6285d87a8977}</UniqueIdentifier> - </Filter> - <Filter Include="GPRE cpp"> - <UniqueIdentifier>{65cc725f-d68d-46a8-b9fd-1a442c5aa8bb}</UniqueIdentifier> - </Filter> - <Filter Include="GPRE epp"> - <UniqueIdentifier>{a4bf3426-2fd1-4474-8dcf-41acdd200b1a}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\..\..\src\jrd\version.rc"> - <Filter>Resource files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.epp"> - <Filter>GPRE epp</Filter> - </None> - <None Include="..\defs\plugin.def" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\src\auth\SecurityDatabase\LegacyManagement.h"> - <Filter>headers</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\..\gen\auth\SecurityDatabase\LegacyManagement.cpp"> - <Filter>GPRE cpp</Filter> - </ClCompile> - </ItemGroup> -</Project> \ No newline at end of file Modified: firebird/trunk/builds/win32/msvc8/Firebird3.sln =================================================================== --- firebird/trunk/builds/win32/msvc8/Firebird3.sln 2011-06-30 03:18:31 UTC (rev 53262) +++ firebird/trunk/builds/win32/msvc8/Firebird3.sln 2011-06-30 13:17:04 UTC (rev 53263) @@ -162,7 +162,7 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpre_common", "gpre_common.vcproj", "{2925B855-5975-44AE-BB00-1217A2A4E511}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "user_management", "user_management.vcproj", "{D836FBF5-071E-4E04-8D63-C7EB6701B296}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy_usermanager", "legacy_usermanager.vcproj", "{D836FBF5-071E-4E04-8D63-C7EB6701B296}" ProjectSection(ProjectDependencies) = postProject {4FE03933-98CD-4879-A135-FD9430087A6B} = {4FE03933-98CD-4879-A135-FD9430087A6B} {15605F44-BFFD-444F-AD4C-55DC9D704465} = {15605F44-BFFD-444F... [truncated message content] |
From: <fir...@us...> - 2011-07-01 03:18:46
|
Revision: 53264 http://firebird.svn.sourceforge.net/firebird/?rev=53264&view=rev Author: firebirds Date: 2011-07-01 03:18:37 +0000 (Fri, 01 Jul 2011) 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 2011-06-30 13:17:04 UTC (rev 53263) +++ firebird/trunk/ChangeLog 2011-07-01 03:18:37 UTC (rev 53264) @@ -1,3 +1,22 @@ + 2011-06-30 13:17 hvlad + M builds/install/misc/firebird.conf.in + M builds/win32/msvc10/Firebird3.sln + A builds/win32/msvc10/legacy_usermanager.vcxproj (from /firebird/trunk/builds/win32/msvc10/user_management.vcxproj:53251) + A builds/win32/msvc10/legacy_usermanager.vcxproj.filters (from /firebird/trunk/builds/win32/msvc10/user_management.vcxproj.filters:53251) + D builds/win32/msvc10/user_management.vcxproj + D builds/win32/msvc10/user_management.vcxproj.filters + M builds/win32/msvc8/Firebird3.sln + A builds/win32/msvc8/legacy_usermanager.vcxproj (from /firebird/trunk/builds/win32/msvc8/user_management.vcproj:53251) + D builds/win32/msvc8/user_management.vcproj + M builds/win32/msvc9/Firebird3.sln + A builds/win32/msvc9/legacy_usermanager.vcxproj (from /firebird/trunk/builds/win32/msvc9/user_management.vcproj:53251) + D builds/win32/msvc9/user_management.vcproj + M src/auth/SecurityDatabase/LegacyManagement.epp + M src/common/config/config.cpp +Make legacy (security database based) user management plugin consistent : +- binary name changed from user_management.dll to legacy_usermanager.dll (on Windows only, POSIX will follow soon) +- registration name was changed from "Legacy_Auth" to "Legacy_UserManager" (see UserManager setting in firebird.conf) + 2011-06-29 20:18 hvlad M src/jrd/jrd.cpp M src/yvalve/why.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-06-30 13:17:04 UTC (rev 53263) +++ firebird/trunk/src/jrd/build_no.h 2011-07-01 03:18:37 UTC (rev 53264) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29477 + FORMAL BUILD NUMBER:29478 */ -#define PRODUCT_VER_STRING "3.0.0.29477" -#define FILE_VER_STRING "WI-T3.0.0.29477" -#define LICENSE_VER_STRING "WI-T3.0.0.29477" -#define FILE_VER_NUMBER 3, 0, 0, 29477 +#define PRODUCT_VER_STRING "3.0.0.29478" +#define FILE_VER_STRING "WI-T3.0.0.29478" +#define LICENSE_VER_STRING "WI-T3.0.0.29478" +#define FILE_VER_NUMBER 3, 0, 0, 29478 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29477" +#define FB_BUILD_NO "29478" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-06-30 13:17:04 UTC (rev 53263) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-07-01 03:18:37 UTC (rev 53264) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29477 +BuildNum=29478 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...> - 2011-07-02 03:17:18
|
Revision: 53274 http://firebird.svn.sourceforge.net/firebird/?rev=53274&view=rev Author: firebirds Date: 2011-07-02 03:17:09 +0000 (Sat, 02 Jul 2011) 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 2011-07-01 16:15:52 UTC (rev 53273) +++ firebird/trunk/ChangeLog 2011-07-02 03:17:09 UTC (rev 53274) @@ -1,3 +1,23 @@ + 2011-07-01 16:15 dimitr + A builds/win32/msvc8/legacy_usermanager.vcproj (from /firebird/trunk/builds/win32/msvc8/legacy_usermanager.vcxproj:53272) + D builds/win32/msvc8/legacy_usermanager.vcxproj + A builds/win32/msvc9/legacy_usermanager.vcproj (from /firebird/trunk/builds/win32/msvc9/legacy_usermanager.vcxproj:53272) + D builds/win32/msvc9/legacy_usermanager.vcxproj +Fixed the build. + + 2011-07-01 11:08 firebirds + M mkChangeLog.sh +Check svn exit codes in order to avoid half-done ChangeLog + + 2011-07-01 07:56 alexpeshkoff + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +Avoid some casts in yValve + + 2011-07-01 07:55 alexpeshkoff + M builds/posix/Makefile.in +Reflect Vlad's changes in posix build + 2011-06-30 13:17 hvlad M builds/install/misc/firebird.conf.in M builds/win32/msvc10/Firebird3.sln Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2011-07-01 16:15:52 UTC (rev 53273) +++ firebird/trunk/src/jrd/build_no.h 2011-07-02 03:17:09 UTC (rev 53274) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29478 + FORMAL BUILD NUMBER:29482 */ -#define PRODUCT_VER_STRING "3.0.0.29478" -#define FILE_VER_STRING "WI-T3.0.0.29478" -#define LICENSE_VER_STRING "WI-T3.0.0.29478" -#define FILE_VER_NUMBER 3, 0, 0, 29478 +#define PRODUCT_VER_STRING "3.0.0.29482" +#define FILE_VER_STRING "WI-T3.0.0.29482" +#define LICENSE_VER_STRING "WI-T3.0.0.29482" +#define FILE_VER_NUMBER 3, 0, 0, 29482 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29478" +#define FB_BUILD_NO "29482" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2011-07-01 16:15:52 UTC (rev 53273) +++ firebird/trunk/src/misc/writeBuildNum.sh 2011-07-02 03:17:09 UTC (rev 53274) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29478 +BuildNum=29482 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |