|
From: <fir...@us...> - 2013-03-13 01:57:30
|
Revision: 57775
http://sourceforge.net/p/firebird/code/57775
Author: firebirds
Date: 2013-03-13 01:57:27 +0000 (Wed, 13 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-12 12:37:17 UTC (rev 57774)
+++ firebird/trunk/ChangeLog 2013-03-13 01:57:27 UTC (rev 57775)
@@ -1,3 +1,27 @@
+ 2013-03-12 12:37 alexpeshkoff
+ M examples/interfaces/select.cpp
+fixed sample
+
+ 2013-03-12 11:43 alexpeshkoff
+ M src/burp/burp.cpp
+New fix for CORE-3995: Slight problem with GBAK parameter checking
+
+ 2013-03-12 10:26 dimitr
+ M src/dsql/DdlNodes.epp
+ M src/dsql/DdlNodes.h
+Correction.
+
+ 2013-03-12 09:52 dimitr
+ M src/auth/SecureRemotePassword/manage/SrpManagement.cpp
+For the consistency sake, let's explicitly release the result set.
+
+ 2013-03-12 09:39 dimitr
+ M src/common/classes/condition.h
+ M src/common/classes/locks.h
+ M src/common/classes/rwlock.h
+ M src/common/classes/semaphore.h
+Disallowed default copying and assignment in sync wrappers. Fixed a theoretically possible handle leak in the condition class. Thanks to Dmitry Kovalenko.
+
2013-03-11 15:43 alexpeshkoff
M src/dsql/ExprNodes.cpp
M src/dsql/StmtNodes.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-12 12:37:17 UTC (rev 57774)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-13 01:57:27 UTC (rev 57775)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30263
+ FORMAL BUILD NUMBER:30268
*/
-#define PRODUCT_VER_STRING "3.0.0.30263"
-#define FILE_VER_STRING "WI-T3.0.0.30263"
-#define LICENSE_VER_STRING "WI-T3.0.0.30263"
-#define FILE_VER_NUMBER 3, 0, 0, 30263
+#define PRODUCT_VER_STRING "3.0.0.30268"
+#define FILE_VER_STRING "WI-T3.0.0.30268"
+#define LICENSE_VER_STRING "WI-T3.0.0.30268"
+#define FILE_VER_NUMBER 3, 0, 0, 30268
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30263"
+#define FB_BUILD_NO "30268"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-12 12:37:17 UTC (rev 57774)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-13 01:57:27 UTC (rev 57775)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30263
+BuildNum=30268
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-14 02:03:54
|
Revision: 57778
http://sourceforge.net/p/firebird/code/57778
Author: firebirds
Date: 2013-03-14 02:03:51 +0000 (Thu, 14 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-13 03:15:37 UTC (rev 57777)
+++ firebird/trunk/ChangeLog 2013-03-14 02:03:51 UTC (rev 57778)
@@ -1,3 +1,9 @@
+ 2013-03-13 02:15 asfernandes
+ M src/dsql/make.cpp
+ M src/dsql/make_proto.h
+ M src/dsql/parse.y
+Fixed CORE-4061 - isql does not insert boolean values correctly, always shown as False.
+
2013-03-12 12:37 alexpeshkoff
M examples/interfaces/select.cpp
fixed sample
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-13 03:15:37 UTC (rev 57777)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-14 02:03:51 UTC (rev 57778)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30268
+ FORMAL BUILD NUMBER:30269
*/
-#define PRODUCT_VER_STRING "3.0.0.30268"
-#define FILE_VER_STRING "WI-T3.0.0.30268"
-#define LICENSE_VER_STRING "WI-T3.0.0.30268"
-#define FILE_VER_NUMBER 3, 0, 0, 30268
+#define PRODUCT_VER_STRING "3.0.0.30269"
+#define FILE_VER_STRING "WI-T3.0.0.30269"
+#define LICENSE_VER_STRING "WI-T3.0.0.30269"
+#define FILE_VER_NUMBER 3, 0, 0, 30269
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30268"
+#define FB_BUILD_NO "30269"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-13 03:15:37 UTC (rev 57777)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-14 02:03:51 UTC (rev 57778)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30268
+BuildNum=30269
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-16 01:15:45
|
Revision: 57781
http://sourceforge.net/p/firebird/code/57781
Author: firebirds
Date: 2013-03-16 01:15:41 +0000 (Sat, 16 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-15 16:37:32 UTC (rev 57780)
+++ firebird/trunk/ChangeLog 2013-03-16 01:15:41 UTC (rev 57781)
@@ -1,3 +1,19 @@
+ 2013-03-15 16:37 alexpeshkoff
+ M src/common/classes/ImplementHelper.cpp
+ M src/common/classes/ImplementHelper.h
+ M src/gpre/boot/gpre_meta_boot.cpp
+ M src/include/firebird/Interface.h
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/jrd.cpp
+ M src/jrd/lck.cpp
+ M src/yvalve/MasterImplementation.cpp
+ M src/yvalve/MasterImplementation.h
+ M src/yvalve/YObjects.h
+ M src/yvalve/why.cpp
+1. Fixed broken by me a few time ago server shutdown.
+2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?"
+ Currently it's more or less ready for use with JAttachment::release().
+
2013-03-13 02:15 asfernandes
M src/dsql/make.cpp
M src/dsql/make_proto.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-15 16:37:32 UTC (rev 57780)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-16 01:15:41 UTC (rev 57781)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30269
+ FORMAL BUILD NUMBER:30270
*/
-#define PRODUCT_VER_STRING "3.0.0.30269"
-#define FILE_VER_STRING "WI-T3.0.0.30269"
-#define LICENSE_VER_STRING "WI-T3.0.0.30269"
-#define FILE_VER_NUMBER 3, 0, 0, 30269
+#define PRODUCT_VER_STRING "3.0.0.30270"
+#define FILE_VER_STRING "WI-T3.0.0.30270"
+#define LICENSE_VER_STRING "WI-T3.0.0.30270"
+#define FILE_VER_NUMBER 3, 0, 0, 30270
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30269"
+#define FB_BUILD_NO "30270"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-15 16:37:32 UTC (rev 57780)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-16 01:15:41 UTC (rev 57781)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30269
+BuildNum=30270
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-18 02:22:17
|
Revision: 57800
http://sourceforge.net/p/firebird/code/57800
Author: firebirds
Date: 2013-03-18 02:22:15 +0000 (Mon, 18 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-17 20:36:56 UTC (rev 57799)
+++ firebird/trunk/ChangeLog 2013-03-18 02:22:15 UTC (rev 57800)
@@ -1,3 +1,52 @@
+ 2013-03-17 20:36 asfernandes
+ M src/common/classes/ImplementHelper.cpp
+ M src/dsql/DdlNodes.epp
+ M src/jrd/shut.cpp
+Misc.
+
+ 2013-03-17 17:35 dimitr
+ M src/dsql/StmtNodes.cpp
+ M src/jrd/DatabaseSnapshot.cpp
+ M src/jrd/DatabaseSnapshot.h
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/UserManagement.cpp
+ M src/jrd/blb.cpp
+ M src/jrd/evl.cpp
+ M src/jrd/exe.cpp
+ M src/jrd/ext.cpp
+ M src/jrd/recsrc/AggregatedStream.cpp
+ M src/jrd/recsrc/BufferedStream.cpp
+ M src/jrd/recsrc/ProcedureScan.cpp
+ M src/jrd/recsrc/SortedStream.cpp
+ M src/jrd/req.h
+ M src/jrd/vio.cpp
+Small refactoring.
+
+ 2013-03-17 17:09 dimitr
+ M builds/win32/msvc10/engine.vcxproj
+ M builds/win32/msvc10/engine.vcxproj.filters
+ M builds/win32/msvc10/gsec.vcxproj
+ M builds/win32/msvc10/gsec.vcxproj.filters
+ M builds/win32/msvc10/intl.vcxproj
+ M builds/win32/msvc10/intl.vcxproj.filters
+ M builds/win32/msvc10/udr_engine.vcxproj
+ M builds/win32/msvc10/udr_engine.vcxproj.filters
+Cleanup. MSVC10 does not like references to non-existing files. As for INTL, I see no sense in seeing all the charsets/collations in the IDE.
+
+ 2013-03-17 14:39 dimitr
+ M src/jrd/dpm.epp
+Fixed CORE-4036: Bugcheck or database corruption when attempting to store long incompressible data into a table.
+
+ 2013-03-17 12:20 dimitr
+ M src/jrd/shut.cpp
+A bit more precise timeout accounting.
+
+ 2013-03-17 12:14 dimitr
+ M src/jrd/cch.cpp
+ M src/jrd/shut.cpp
+ M src/jrd/shut_proto.h
+Completed refactoring of the database shutdown. Fixed a few remaining bugs there. Fixed timeout accounting in SS as well as CORE-3817: Forced database shutdown does not work if non-zero delay was specified.
+
2013-03-15 16:37 alexpeshkoff
M src/common/classes/ImplementHelper.cpp
M src/common/classes/ImplementHelper.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-17 20:36:56 UTC (rev 57799)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-18 02:22:15 UTC (rev 57800)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30270
+ FORMAL BUILD NUMBER:30276
*/
-#define PRODUCT_VER_STRING "3.0.0.30270"
-#define FILE_VER_STRING "WI-T3.0.0.30270"
-#define LICENSE_VER_STRING "WI-T3.0.0.30270"
-#define FILE_VER_NUMBER 3, 0, 0, 30270
+#define PRODUCT_VER_STRING "3.0.0.30276"
+#define FILE_VER_STRING "WI-T3.0.0.30276"
+#define LICENSE_VER_STRING "WI-T3.0.0.30276"
+#define FILE_VER_NUMBER 3, 0, 0, 30276
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30270"
+#define FB_BUILD_NO "30276"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-17 20:36:56 UTC (rev 57799)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-18 02:22:15 UTC (rev 57800)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30270
+BuildNum=30276
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-19 01:41:04
|
Revision: 57805
http://sourceforge.net/p/firebird/code/57805
Author: firebirds
Date: 2013-03-19 01:41:01 +0000 (Tue, 19 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-18 13:10:36 UTC (rev 57804)
+++ firebird/trunk/ChangeLog 2013-03-19 01:41:01 UTC (rev 57805)
@@ -1,3 +1,13 @@
+ 2013-03-18 13:10 dimitr
+ M src/common/sha.cpp
+ M src/common/sha.h
+Warnings.
+
+ 2013-03-18 10:50 alexpeshkoff
+ M src/common/classes/auto.h
+ M src/jrd/exe.cpp
+Ugly fix for CORE-4066, but looks like here g++ is too strong in type correctness.
+
2013-03-17 20:36 asfernandes
M src/common/classes/ImplementHelper.cpp
M src/dsql/DdlNodes.epp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-18 13:10:36 UTC (rev 57804)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-19 01:41:01 UTC (rev 57805)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30276
+ FORMAL BUILD NUMBER:30278
*/
-#define PRODUCT_VER_STRING "3.0.0.30276"
-#define FILE_VER_STRING "WI-T3.0.0.30276"
-#define LICENSE_VER_STRING "WI-T3.0.0.30276"
-#define FILE_VER_NUMBER 3, 0, 0, 30276
+#define PRODUCT_VER_STRING "3.0.0.30278"
+#define FILE_VER_STRING "WI-T3.0.0.30278"
+#define LICENSE_VER_STRING "WI-T3.0.0.30278"
+#define FILE_VER_NUMBER 3, 0, 0, 30278
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30276"
+#define FB_BUILD_NO "30278"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-18 13:10:36 UTC (rev 57804)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-19 01:41:01 UTC (rev 57805)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30276
+BuildNum=30278
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-20 01:58:13
|
Revision: 57808
http://sourceforge.net/p/firebird/code/57808
Author: firebirds
Date: 2013-03-20 01:58:09 +0000 (Wed, 20 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-19 11:29:15 UTC (rev 57807)
+++ firebird/trunk/ChangeLog 2013-03-20 01:58:09 UTC (rev 57808)
@@ -1,3 +1,11 @@
+ 2013-03-19 11:29 hvlad
+ M src/gpre/boot/gpre_meta_boot.cpp
+Fixed boot build
+
+ 2013-03-19 07:24 alexpeshkoff
+ M src/common/config/config.cpp
+Improvement from Dmitry Kovalenko
+
2013-03-18 13:10 dimitr
M src/common/sha.cpp
M src/common/sha.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-19 11:29:15 UTC (rev 57807)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-20 01:58:09 UTC (rev 57808)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30278
+ FORMAL BUILD NUMBER:30280
*/
-#define PRODUCT_VER_STRING "3.0.0.30278"
-#define FILE_VER_STRING "WI-T3.0.0.30278"
-#define LICENSE_VER_STRING "WI-T3.0.0.30278"
-#define FILE_VER_NUMBER 3, 0, 0, 30278
+#define PRODUCT_VER_STRING "3.0.0.30280"
+#define FILE_VER_STRING "WI-T3.0.0.30280"
+#define LICENSE_VER_STRING "WI-T3.0.0.30280"
+#define FILE_VER_NUMBER 3, 0, 0, 30280
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30278"
+#define FB_BUILD_NO "30280"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-19 11:29:15 UTC (rev 57807)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-20 01:58:09 UTC (rev 57808)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30278
+BuildNum=30280
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-21 01:00:40
|
Revision: 57810
http://sourceforge.net/p/firebird/code/57810
Author: firebirds
Date: 2013-03-21 01:00:37 +0000 (Thu, 21 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-20 13:13:33 UTC (rev 57809)
+++ firebird/trunk/ChangeLog 2013-03-21 01:00:37 UTC (rev 57810)
@@ -1,3 +1,7 @@
+ 2013-03-20 13:13 hvlad
+ M src/remote/server/os/win32/srvr_w32.cpp
+Fixed AV in remote server code reported by Dmitry Kovalenko in fb-devel
+
2013-03-19 11:29 hvlad
M src/gpre/boot/gpre_meta_boot.cpp
Fixed boot build
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-20 13:13:33 UTC (rev 57809)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-21 01:00:37 UTC (rev 57810)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30280
+ FORMAL BUILD NUMBER:30281
*/
-#define PRODUCT_VER_STRING "3.0.0.30280"
-#define FILE_VER_STRING "WI-T3.0.0.30280"
-#define LICENSE_VER_STRING "WI-T3.0.0.30280"
-#define FILE_VER_NUMBER 3, 0, 0, 30280
+#define PRODUCT_VER_STRING "3.0.0.30281"
+#define FILE_VER_STRING "WI-T3.0.0.30281"
+#define LICENSE_VER_STRING "WI-T3.0.0.30281"
+#define FILE_VER_NUMBER 3, 0, 0, 30281
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30280"
+#define FB_BUILD_NO "30281"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-20 13:13:33 UTC (rev 57809)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-21 01:00:37 UTC (rev 57810)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30280
+BuildNum=30281
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-22 01:11:34
|
Revision: 57813
http://sourceforge.net/p/firebird/code/57813
Author: firebirds
Date: 2013-03-22 01:11:30 +0000 (Fri, 22 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-21 14:36:35 UTC (rev 57812)
+++ firebird/trunk/ChangeLog 2013-03-22 01:11:30 UTC (rev 57813)
@@ -1,3 +1,7 @@
+ 2013-03-21 08:23 hvlad
+ M src/jrd/dpm.epp
+Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention.
+
2013-03-20 13:13 hvlad
M src/remote/server/os/win32/srvr_w32.cpp
Fixed AV in remote server code reported by Dmitry Kovalenko in fb-devel
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-21 14:36:35 UTC (rev 57812)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-22 01:11:30 UTC (rev 57813)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30281
+ FORMAL BUILD NUMBER:30282
*/
-#define PRODUCT_VER_STRING "3.0.0.30281"
-#define FILE_VER_STRING "WI-T3.0.0.30281"
-#define LICENSE_VER_STRING "WI-T3.0.0.30281"
-#define FILE_VER_NUMBER 3, 0, 0, 30281
+#define PRODUCT_VER_STRING "3.0.0.30282"
+#define FILE_VER_STRING "WI-T3.0.0.30282"
+#define LICENSE_VER_STRING "WI-T3.0.0.30282"
+#define FILE_VER_NUMBER 3, 0, 0, 30282
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30281"
+#define FB_BUILD_NO "30282"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-21 14:36:35 UTC (rev 57812)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-22 01:11:30 UTC (rev 57813)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30281
+BuildNum=30282
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-23 01:06:50
|
Revision: 57816
http://sourceforge.net/p/firebird/code/57816
Author: firebirds
Date: 2013-03-23 01:06:45 +0000 (Sat, 23 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-22 14:29:51 UTC (rev 57815)
+++ firebird/trunk/ChangeLog 2013-03-23 01:06:45 UTC (rev 57816)
@@ -1,3 +1,12 @@
+ 2013-03-22 14:29 alexpeshkoff
+ M src/remote/client/interface.cpp
+ M src/yvalve/YObjects.h
+Fixed CORE-3269: When server gets unavailbale, client does not perform detach correctly
+
+ 2013-03-22 14:03 alexpeshkoff
+ M src/common/config/config.cpp
+Rolled back my change - it breaks setting FIREBIRD in environment without "/" in the end
+
2013-03-21 08:23 hvlad
M src/jrd/dpm.epp
Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-22 14:29:51 UTC (rev 57815)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-23 01:06:45 UTC (rev 57816)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30282
+ FORMAL BUILD NUMBER:30284
*/
-#define PRODUCT_VER_STRING "3.0.0.30282"
-#define FILE_VER_STRING "WI-T3.0.0.30282"
-#define LICENSE_VER_STRING "WI-T3.0.0.30282"
-#define FILE_VER_NUMBER 3, 0, 0, 30282
+#define PRODUCT_VER_STRING "3.0.0.30284"
+#define FILE_VER_STRING "WI-T3.0.0.30284"
+#define LICENSE_VER_STRING "WI-T3.0.0.30284"
+#define FILE_VER_NUMBER 3, 0, 0, 30284
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30282"
+#define FB_BUILD_NO "30284"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-22 14:29:51 UTC (rev 57815)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-23 01:06:45 UTC (rev 57816)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30282
+BuildNum=30284
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <asf...@us...> - 2013-03-23 21:12:42
|
Revision: 57821
http://sourceforge.net/p/firebird/code/57821
Author: asfernandes
Date: 2013-03-23 21:12:27 +0000 (Sat, 23 Mar 2013)
Log Message:
-----------
Work in progress fixing external triggers.
Modified Paths:
--------------
firebird/trunk/examples/udr/UdrCppExample.cpp
firebird/trunk/src/include/firebird/ExternalEngine.h
firebird/trunk/src/include/firebird/UdrCppEngine.h
firebird/trunk/src/include/firebird/UdrEngine.h
firebird/trunk/src/jrd/ExtEngineManager.cpp
firebird/trunk/src/jrd/ExtEngineManager.h
firebird/trunk/src/jrd/jrd.cpp
firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp
Modified: firebird/trunk/examples/udr/UdrCppExample.cpp
===================================================================
--- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-03-23 21:12:27 UTC (rev 57821)
@@ -410,7 +410,6 @@
FB_UDR_END_PROCEDURE
-#if 0 //// FIXME:
/***
Sample usage:
@@ -460,52 +459,20 @@
if (!initialized)
return;
- for (int i = 0; i < inSqlDa->sqln; ++i)
- {
- XSQLVAR* var = &inSqlDa->sqlvar[i];
- delete [] var->sqldata;
- delete var->sqlind;
- }
+ StatusImpl status(master);
- delete [] reinterpret_cast<char*>(inSqlDa);
-
- ISC_STATUS_ARRAY statusVector = {0};
- isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop);
+ triggerMetadata->release();
+ stmt->free(&status);
}
FB_UDR_EXECUTE_DYNAMIC_TRIGGER
{
- ///AutoDispose<IStatus> status(master->getStatus());
-
- const IParametersMetadata* fields = metadata->getTriggerFields(status);
+ ITransaction* transaction = context->getTransaction(status);
StatusException::check(status->get());
- unsigned fieldsCount = fields->getCount(status);
+ // This will not work if the table has computed fields.
+ stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL);
StatusException::check(status->get());
-
- MessageImpl message(fieldsCount, newFields);
-
- ISC_STATUS_ARRAY statusVector = {0};
- isc_db_handle dbHandle = getIscDbHandle(context);
- isc_tr_handle trHandle = getIscTrHandle(context);
-
- for (unsigned i = 1; i <= fieldsCount; ++i)
- {
- ParamDesc<void*> field(message, fields);
-
- XSQLVAR* var = &inSqlDa->sqlvar[i - 1];
-
- if (message.isNull(field))
- *var->sqlind = -1;
- else
- {
- *var->sqlind = 0;
- memcpy(var->sqldata, message[field], var->sqllen);
- }
- }
-
- StatusException::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT,
- inSqlDa), statusVector);
}
FB_UDR_INITIALIZE
@@ -514,8 +481,9 @@
isc_db_handle dbHandle = getIscDbHandle(context);
isc_tr_handle trHandle = getIscTrHandle(context);
- stmtHandle = 0;
- StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector);
+ isc_stmt_handle stmtHandle = 0;
+ StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle),
+ statusVector);
StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0,
"select data_source from replicate_config where name = ?",
SQL_DIALECT_CURRENT, NULL), statusVector);
@@ -538,11 +506,11 @@
else
info = "";
- inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]);
+ XSQLDA* inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]);
inSqlDa->version = SQLDA_VERSION1;
inSqlDa->sqln = 1;
- StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa),
- statusVector);
+ StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle,
+ SQL_DIALECT_CURRENT, inSqlDa), statusVector);
inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen];
strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen);
*reinterpret_cast<short*>(inSqlDa->sqlvar[0].sqldata) = strlen(info);
@@ -550,23 +518,23 @@
XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]);
outSqlDa->version = SQLDA_VERSION1;
outSqlDa->sqln = 1;
- StatusException::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa),
- statusVector);
+ StatusException::check(isc_dsql_describe(statusVector, &stmtHandle,
+ SQL_DIALECT_CURRENT, outSqlDa), statusVector);
outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1];
outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0';
- StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT,
- inSqlDa, outSqlDa), statusVector);
- StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector);
+ StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle,
+ SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector);
+ StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare),
+ statusVector);
delete [] inSqlDa->sqlvar[0].sqldata;
delete [] reinterpret_cast<char*>(inSqlDa);
- inSqlDa = NULL;
- const IParametersMetadata* fields = metadata->getTriggerFields(status);
+ triggerMetadata = metadata->getTriggerMetadata(status);
StatusException::check(status->get());
- unsigned count = fields->getCount(status);
+ unsigned count = triggerMetadata->getCount(status);
StatusException::check(status->get());
char buffer[65536];
@@ -577,7 +545,7 @@
if (i > 0)
strcat(buffer, ",\n");
- const char* name = fields->getField(status, i);
+ const char* name = triggerMetadata->getField(status, i);
StatusException::check(status->get());
strcat(buffer, " p");
@@ -598,7 +566,7 @@
if (i > 0)
strcat(buffer, ", ");
- const char* name = fields->getField(status, i);
+ const char* name = triggerMetadata->getField(status, i);
StatusException::check(status->get());
strcat(buffer, "\"");
@@ -629,69 +597,14 @@
strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short));
strcat(buffer, "';\nend");
- StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer,
- SQL_DIALECT_CURRENT, NULL), statusVector);
+ IAttachment* attachment = context->getAttachment(status);
+ StatusException::check(status->get());
- inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]);
- inSqlDa->version = SQLDA_VERSION1;
- inSqlDa->sqln = count;
- StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa),
- statusVector);
+ ITransaction* transaction = context->getTransaction(status);
+ StatusException::check(status->get());
- for (unsigned i = 0; i < count; ++i)
- {
- XSQLVAR* var = &inSqlDa->sqlvar[i];
+ stmt = attachment->prepare(status, transaction, 0, buffer, 3, 0);
- switch (var->sqltype & ~1)
- {
- case SQL_TEXT:
- var->sqldata = new char[var->sqllen];
- break;
-
- case SQL_VARYING:
- var->sqldata = new char[var->sqllen];
- var->sqllen += sizeof(short);
- break;
-
- case SQL_SHORT:
- var->sqldata = new char[sizeof(short)];
- break;
-
- case SQL_LONG:
- var->sqldata = new char[sizeof(int32)];
- break;
-
- case SQL_INT64:
- var->sqldata = new char[sizeof(int64)];
- break;
-
- case SQL_FLOAT:
- var->sqltype = SQL_DOUBLE;
- var->sqllen = sizeof(double);
- // fall into
-
- case SQL_DOUBLE:
- var->sqldata = new char[sizeof(double)];
- break;
-
- case SQL_TYPE_DATE:
- var->sqldata = new char[sizeof(ISC_DATE)];
- break;
-
- //// TODO: SQL_TIMESTAMP, SQL_TYPE_TIME
-
- case SQL_BLOB:
- var->sqldata = new char[sizeof(ISC_QUAD)];
- break;
-
- default:
- assert(false);
- }
-
- var->sqltype |= 1;
- var->sqlind = new short(-1);
- }
-
delete [] outSqlDa->sqlvar[0].sqldata;
delete [] reinterpret_cast<char*>(outSqlDa);
@@ -699,11 +612,12 @@
}
bool initialized;
- XSQLDA* inSqlDa;
- isc_stmt_handle stmtHandle;
+ IMessageMetadata* triggerMetadata;
+ IStatement* stmt;
FB_UDR_END_TRIGGER
+#if 0 //// FIXME:
FB_UDR_BEGIN_TRIGGER(replicate_persons)
FB_UDR_TRIGGER(replicate_persons)()
: initialized(false)
Modified: firebird/trunk/src/include/firebird/ExternalEngine.h
===================================================================
--- firebird/trunk/src/include/firebird/ExternalEngine.h 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/include/firebird/ExternalEngine.h 2013-03-23 21:12:27 UTC (rev 57821)
@@ -38,15 +38,6 @@
class ExternalEngine;
-class ITriggerMessage : public IVersioned
-{
-public:
- virtual void FB_CARG set(const unsigned char* blr, unsigned blrLength, unsigned bufferLength,
- const char** names, unsigned count) = 0;
-};
-#define FB_TRIGGER_MESSAGE_VERSION (FB_VERSIONED_VERSION + 1)
-
-
// Connection to current database in external engine.
// Context passed to ExternalEngine has SYSDBA privileges.
// Context passed to ExternalFunction, ExternalProcedure and ExternalTrigger
@@ -169,7 +160,7 @@
virtual const char* FB_CARG getBody(IStatus* status) const = 0;
virtual IMessageMetadata* FB_CARG getInputMetadata(IStatus* status) const = 0;
virtual IMessageMetadata* FB_CARG getOutputMetadata(IStatus* status) const = 0;
- virtual const IMessageMetadata* FB_CARG getTriggerFields(IStatus* status) const = 0;
+ virtual IMessageMetadata* FB_CARG getTriggerMetadata(IStatus* status) const = 0;
virtual const char* FB_CARG getTriggerTable(IStatus* status) const = 0;
virtual ExternalTrigger::Type FB_CARG getTriggerType(IStatus* status) const = 0;
};
@@ -203,7 +194,7 @@
const IRoutineMetadata* metadata,
IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder) = 0;
virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context,
- const IRoutineMetadata* metadata, ITriggerMessage* triggerMsg) = 0;
+ const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder) = 0;
};
#define FB_EXTERNAL_ENGINE_VERSION (FB_PLUGIN_VERSION + 6)
Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h
===================================================================
--- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-03-23 21:12:27 UTC (rev 57821)
@@ -202,7 +202,7 @@
};
#define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \
- typedef void* FieldsMessage; \
+ FB_UDR__DYNAMIC_TYPE(FieldsMessage); \
\
FB_UDR__EXECUTE_TRIGGER
@@ -219,13 +219,15 @@
{ \
try \
{ \
- internalExecute(status, context, action, (FieldsMessage*) oldFields, (FieldsMessage*) newFields); \
+ internalExecute(status, context, action, \
+ (FieldsMessage::Type*) oldFields, (FieldsMessage::Type*) newFields); \
} \
FB_UDR__CATCH \
} \
\
void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \
- ::Firebird::ExternalTrigger::Action action, FieldsMessage* oldFields, FieldsMessage* newFields)
+ ::Firebird::ExternalTrigger::Action action, \
+ FieldsMessage::Type* oldFields, FieldsMessage::Type* newFields)
#define FB_UDR_INITIALIZE \
@@ -631,7 +633,7 @@
}
virtual void setup(IStatus* status, ExternalContext* /*context*/,
- const IRoutineMetadata* /*metadata*/, ITriggerMessage* fields)
+ const IRoutineMetadata* /*metadata*/, IMetadataBuilder* fields)
{
T::FieldsMessage::setup(status, fields);
}
Modified: firebird/trunk/src/include/firebird/UdrEngine.h
===================================================================
--- firebird/trunk/src/include/firebird/UdrEngine.h 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/include/firebird/UdrEngine.h 2013-03-23 21:12:27 UTC (rev 57821)
@@ -58,7 +58,7 @@
{
public:
virtual void setup(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata,
- ITriggerMessage* fields) = 0;
+ IMetadataBuilder* fieldsBuilder) = 0;
virtual ExternalTrigger* FB_CALL newItem(IStatus* status, ExternalContext* context,
const IRoutineMetadata* metadata) = 0;
};
Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp
===================================================================
--- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-23 21:12:27 UTC (rev 57821)
@@ -61,6 +61,7 @@
static MakeUpgradeInfo<> upInfo;
+// Create a Format based on a IMessageMetadata.
static Format* createFormat(MemoryPool& pool, IMessageMetadata* params)
{
LocalStatus status;
@@ -227,11 +228,22 @@
//// TODO: admin rights
clientCharSet = INTL_charset_lookup(tdbb, internalAttachment->att_client_charset)->getName();
+
+ internalAttachment->att_interface->addRef();
+
+ externalAttachment = MasterInterfacePtr()->registerAttachment(JProvider::getInstance(),
+ internalAttachment->att_interface);
}
ExtEngineManager::ExternalContextImpl::~ExternalContextImpl()
{
releaseTransaction();
+
+ if (externalAttachment)
+ {
+ externalAttachment->release();
+ externalAttachment = NULL;
+ }
}
void ExtEngineManager::ExternalContextImpl::releaseTransaction()
@@ -242,12 +254,6 @@
externalTransaction = NULL;
}
- if (externalAttachment)
- {
- externalAttachment->release();
- externalAttachment = NULL;
- }
-
internalTransaction = NULL;
}
@@ -259,23 +265,13 @@
return;
releaseTransaction();
- fb_assert(!externalAttachment && !externalTransaction);
+ fb_assert(!externalTransaction);
- MasterInterfacePtr master;
-
- if (internalAttachment)
- {
- internalAttachment->att_interface->addRef();
-
- externalAttachment = master->registerAttachment(JProvider::getInstance(),
- internalAttachment->att_interface);
- }
-
if ((internalTransaction = newTransaction))
{
internalTransaction->getInterface()->addRef();
- externalTransaction = master->registerTransaction(externalAttachment,
+ externalTransaction = MasterInterfacePtr()->registerTransaction(externalAttachment,
internalTransaction->getInterface());
}
}
@@ -470,7 +466,7 @@
ExtEngineManager::Trigger::Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager,
- ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg,
+ ExternalEngine* aEngine, RoutineMetadata* aMetadata,
ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg)
: extManager(aExtManager),
engine(aEngine),
@@ -487,121 +483,10 @@
if (relation)
{
- bool blrPresent = fieldsMsg.blr.hasData();
- Format* relFormat = relation->rel_current_format;
- GenericMap<Left<MetaName, USHORT> > fieldsMap;
+ format = createFormat(pool, metadata->triggerFields);
- for (size_t i = 0; i < relation->rel_fields->count(); ++i)
- {
- jrd_fld* field = (*relation->rel_fields)[i];
- if (!field)
- continue;
-
- fieldsMap.put(field->fld_name, (USHORT) i);
- }
-
- BlrReader reader(fieldsMsg.blr.begin(), fieldsMsg.blr.getCount());
- ULONG offset = 0;
- USHORT maxAlignment = 0;
- USHORT count;
-
- if (blrPresent)
- {
- reader.checkByte(blr_version5);
- reader.checkByte(blr_begin);
- reader.checkByte(blr_message);
- reader.getByte(); // message number: ignore it
- count = reader.getWord();
-
- if (count != 2 * fieldsMsg.names.getCount())
- {
- status_exception::raise(
- Arg::Gds(isc_ee_blr_mismatch_names_count) <<
- Arg::Num(fieldsMsg.names.getCount()) <<
- Arg::Num(count));
- }
- }
- else
- count = fieldsMap.count() * 2;
-
- format.reset(Format::newFormat(pool, count));
-
- for (unsigned i = 0; i < count / 2; ++i)
- {
- dsc* desc = &format->fmt_desc[i * 2];
-
- if (blrPresent)
- {
- USHORT pos;
-
- if (!fieldsMap.get(fieldsMsg.names[i], pos))
- {
- status_exception::raise(
- Arg::Gds(isc_ee_blr_mismatch_name_not_found) <<
- Arg::Str(fieldsMsg.names[i]));
- }
-
- fieldsPos.add(pos);
- PAR_datatype(reader, desc);
- }
- else
- {
- fieldsPos.add(i);
- *desc = relFormat->fmt_desc[i];
- }
-
- USHORT align = type_alignments[desc->dsc_dtype];
- maxAlignment = MAX(maxAlignment, align);
-
- offset = FB_ALIGN(offset, align);
- desc->dsc_address = (UCHAR*) (IPTR) offset;
- offset += desc->dsc_length;
-
- const dsc* fieldDesc = &relFormat->fmt_desc[i];
-
- if (desc->isText() && desc->getCharSet() == CS_NONE)
- desc->setTextType(fieldDesc->getTextType());
- desc->setNullable(fieldDesc->isNullable());
-
- ++desc;
-
- if (blrPresent)
- {
- PAR_datatype(reader, desc);
-
- if (!DSC_EQUIV(desc, &shortDesc, false))
- {
- status_exception::raise(
- Arg::Gds(isc_ee_blr_mismatch_null) <<
- Arg::Num(i * 2 + 1));
- }
- }
- else
- *desc = shortDesc;
-
- align = type_alignments[desc->dsc_dtype];
- maxAlignment = MAX(maxAlignment, align);
-
- offset = FB_ALIGN(offset, align);
- desc->dsc_address = (UCHAR*) (IPTR) offset;
- offset += desc->dsc_length;
- }
-
- if (blrPresent)
- {
- reader.checkByte(blr_end);
- reader.checkByte(blr_eoc);
-
- if (offset != fieldsMsg.bufferLength)
- {
- status_exception::raise(
- Arg::Gds(isc_ee_blr_mismatch_length) <<
- Arg::Num(fieldsMsg.bufferLength) <<
- Arg::Num(offset));
- }
- }
-
- format->fmt_length = FB_ALIGN(offset, maxAlignment);
+ for (unsigned i = 0; i < format->fmt_count / 2; ++i)
+ fieldsPos.add(i);
}
}
@@ -836,12 +721,12 @@
LocalStatus status;
RefPtr<IMetadataBuilder> inBuilder(metadata->inputParameters->getBuilder(&status));
+ status.check();
inBuilder->release();
- status.check();
RefPtr<IMetadataBuilder> outBuilder(metadata->outputParameters->getBuilder(&status));
+ status.check();
outBuilder->release();
- status.check();
ExternalFunction* externalFunction;
@@ -937,12 +822,12 @@
LocalStatus status;
RefPtr<IMetadataBuilder> inBuilder(metadata->inputParameters->getBuilder(&status));
+ status.check();
inBuilder->release();
- status.check();
RefPtr<IMetadataBuilder> outBuilder(metadata->outputParameters->getBuilder(&status));
+ status.check();
outBuilder->release();
- status.check();
ExternalProcedure* externalProcedure;
@@ -984,7 +869,7 @@
}
-ExtEngineManager::Trigger* ExtEngineManager::makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg,
+void ExtEngineManager::makeTrigger(thread_db* tdbb, Jrd::Trigger* trg,
const MetaName& engine, const string& entryPoint, const string& body,
ExternalTrigger::Type type)
{
@@ -1031,10 +916,20 @@
item.length = sqlLen;
item.scale = sqlScale;
item.nullable = !field->fld_not_null;
+ item.finished = true;
}
}
- TriggerMessage fieldsMsg(pool);
+ LocalStatus status;
+
+ RefPtr<IMetadataBuilder> fieldsBuilder(relation ?
+ metadata->triggerFields->getBuilder(&status) : NULL);
+ if (relation)
+ {
+ status.check();
+ fieldsBuilder->release();
+ }
+
ExternalTrigger* externalTrigger;
{ // scope
@@ -1042,7 +937,7 @@
LocalStatus status;
externalTrigger = attInfo->engine->makeTrigger(&status, attInfo->context, metadata,
- &fieldsMsg);
+ fieldsBuilder);
status.check();
if (!externalTrigger)
@@ -1050,12 +945,18 @@
status_exception::raise(
Arg::Gds(isc_eem_trig_not_returned) << trg->name << engine);
}
+
+ if (relation)
+ {
+ metadata->triggerFields = fieldsBuilder->getMetadata(&status);
+ status.check();
+ }
}
try
{
- return FB_NEW(getPool()) Trigger(tdbb, pool, this, attInfo->engine, metadata.release(),
- fieldsMsg, externalTrigger, trg);
+ trg->extTrigger = FB_NEW(getPool()) Trigger(tdbb, pool, this, attInfo->engine,
+ metadata.release(), externalTrigger, trg);
}
catch (...)
{
Modified: firebird/trunk/src/jrd/ExtEngineManager.h
===================================================================
--- firebird/trunk/src/jrd/ExtEngineManager.h 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/jrd/ExtEngineManager.h 2013-03-23 21:12:27 UTC (rev 57821)
@@ -52,35 +52,6 @@
struct record_param;
-class TriggerMessage :
- public Firebird::VersionedIface<Firebird::ITriggerMessage, FB_TRIGGER_MESSAGE_VERSION>,
- public Firebird::PermanentStorage
-{
-public:
- explicit TriggerMessage(MemoryPool& pool)
- : PermanentStorage(pool),
- names(pool),
- blr(pool),
- bufferLength(0)
- {
- }
-
- virtual void FB_CARG set(const unsigned char* aBlr, unsigned aBlrLength, unsigned aBufferLength,
- const char** aNames, unsigned aCount)
- {
- blr.assign(aBlr, aBlrLength);
- bufferLength = aBufferLength;
-
- for (unsigned i = 0; i < aCount; ++i)
- names.add(aNames[i]);
- }
-
-public:
- Firebird::ObjectsArray<Firebird::string> names;
- Firebird::Array<UCHAR> blr;
- unsigned bufferLength;
-};
-
class ExtEngineManager : public Firebird::PermanentStorage
{
private:
@@ -136,7 +107,7 @@
return getMetadata(outputParameters);
}
- virtual Firebird::IMessageMetadata* FB_CARG getTriggerFields(
+ virtual Firebird::IMessageMetadata* FB_CARG getTriggerMetadata(
Firebird::IStatus* /*status*/) const
{
return getMetadata(triggerFields);
@@ -304,7 +275,7 @@
{
public:
Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager,
- Firebird::ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg,
+ Firebird::ExternalEngine* aEngine, RoutineMetadata* aMetadata,
Firebird::ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg);
~Trigger();
@@ -346,7 +317,7 @@
void makeProcedure(thread_db* tdbb, jrd_prc* prc,
const Firebird::MetaName& engine, const Firebird::string& entryPoint,
const Firebird::string& body);
- Trigger* makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg,
+ void makeTrigger(thread_db* tdbb, Jrd::Trigger* trg,
const Firebird::MetaName& engine, const Firebird::string& entryPoint,
const Firebird::string& body, Firebird::ExternalTrigger::Type type);
Modified: firebird/trunk/src/jrd/jrd.cpp
===================================================================
--- firebird/trunk/src/jrd/jrd.cpp 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/jrd/jrd.cpp 2013-03-23 21:12:27 UTC (rev 57821)
@@ -654,7 +654,7 @@
if (extTrigger)
return;
- extTrigger = dbb->dbb_extManager.makeTrigger(tdbb, this, engine, entryPoint, extBody.c_str(),
+ dbb->dbb_extManager.makeTrigger(tdbb, this, engine, entryPoint, extBody.c_str(),
(relation ?
(type & 1 ? ExternalTrigger::TYPE_BEFORE : ExternalTrigger::TYPE_AFTER) :
Firebird::ExternalTrigger::TYPE_DATABASE));
Modified: firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp
===================================================================
--- firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-03-23 20:41:17 UTC (rev 57820)
+++ firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-03-23 21:12:27 UTC (rev 57821)
@@ -157,7 +157,7 @@
virtual ExternalProcedure* FB_CALL makeProcedure(IStatus* status, ExternalContext* context,
const IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder);
virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context,
- const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg);
+ const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder);
public:
virtual void FB_CALL dispose();
@@ -355,7 +355,7 @@
{
public:
SharedTrigger(IStatus* status, Engine* aEngine, ExternalContext* context,
- const IRoutineMetadata* aMetadata, ITriggerMessage* fieldsMsg)
+ const IRoutineMetadata* aMetadata, IMetadataBuilder* fieldsBuilder)
: engine(aEngine),
metadata(aMetadata),
moduleName(*getDefaultMemoryPool()),
@@ -365,7 +365,7 @@
{
engine->loadModule(metadata, &moduleName, &entryPoint);
TriggerNode* node = engine->findNode<TriggerNode>(registeredTriggers, moduleName, entryPoint);
- node->factory->setup(status, context, metadata, fieldsMsg);
+ node->factory->setup(status, context, metadata, fieldsBuilder);
}
virtual ~SharedTrigger()
@@ -715,11 +715,11 @@
ExternalTrigger* FB_CALL Engine::makeTrigger(IStatus* status, ExternalContext* context,
- const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg)
+ const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder)
{
try
{
- return new SharedTrigger(status, this, context, metadata, fieldsMsg);
+ return new SharedTrigger(status, this, context, metadata, fieldsBuilder);
}
catch (const StatusException& e)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-24 01:26:08
|
Revision: 57822
http://sourceforge.net/p/firebird/code/57822
Author: firebirds
Date: 2013-03-24 01:26:05 +0000 (Sun, 24 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-23 21:12:27 UTC (rev 57821)
+++ firebird/trunk/ChangeLog 2013-03-24 01:26:05 UTC (rev 57822)
@@ -1,3 +1,26 @@
+ 2013-03-23 21:12 asfernandes
+ M examples/udr/UdrCppExample.cpp
+ M src/include/firebird/ExternalEngine.h
+ M src/include/firebird/UdrCppEngine.h
+ M src/include/firebird/UdrEngine.h
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/ExtEngineManager.h
+ M src/jrd/jrd.cpp
+ M src/plugins/udr_engine/UdrEngine.cpp
+Work in progress fixing external triggers.
+
+ 2013-03-23 20:41 asfernandes
+ M src/dsql/DdlNodes.epp
+Fixed CORE-4067 - Problem with "CREATE DATABASE ... COLLATION ..." and 1 dialect.
+
+ 2013-03-23 13:58 hvlad
+ M src/jrd/cch.cpp
+ M src/jrd/cch.h
+Cleanup:
+- removed never used bcb_checkpoint and BDB_checkpoint
+- removed conditional compilation for CACHE_WRITER as it is already ruled by flag BCB_cache_writer at almost all places
+- added necessary checks for BCB_cache_writer when it was missed
+
2013-03-22 14:29 alexpeshkoff
M src/remote/client/interface.cpp
M src/yvalve/YObjects.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-23 21:12:27 UTC (rev 57821)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-24 01:26:05 UTC (rev 57822)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30284
+ FORMAL BUILD NUMBER:30287
*/
-#define PRODUCT_VER_STRING "3.0.0.30284"
-#define FILE_VER_STRING "WI-T3.0.0.30284"
-#define LICENSE_VER_STRING "WI-T3.0.0.30284"
-#define FILE_VER_NUMBER 3, 0, 0, 30284
+#define PRODUCT_VER_STRING "3.0.0.30287"
+#define FILE_VER_STRING "WI-T3.0.0.30287"
+#define LICENSE_VER_STRING "WI-T3.0.0.30287"
+#define FILE_VER_NUMBER 3, 0, 0, 30287
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30284"
+#define FB_BUILD_NO "30287"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-23 21:12:27 UTC (rev 57821)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-24 01:26:05 UTC (rev 57822)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30284
+BuildNum=30287
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-25 02:18:28
|
Revision: 57831
http://sourceforge.net/p/firebird/code/57831
Author: firebirds
Date: 2013-03-25 02:18:25 +0000 (Mon, 25 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-25 01:25:01 UTC (rev 57830)
+++ firebird/trunk/ChangeLog 2013-03-25 02:18:25 UTC (rev 57831)
@@ -1,3 +1,24 @@
+ 2013-03-24 16:16 dimitr
+ M src/jrd/jrd.cpp
+The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not.
+
+ 2013-03-24 15:55 asfernandes
+ M src/dsql/ExprNodes.cpp
+Fixed problem reported in fb-devel: FB3 vs FB2.5: Different result for SUBSTRING('test' FROM 1 FOR NULL).
+
+ 2013-03-24 07:14 dimitr
+ M extern/icu/source/allinone/firebird2intl.props
+Enabled multi-threaded compilation for ICU.
+
+ 2013-03-24 06:38 dimitr
+ M src/dsql/DsqlCompilerScratch.cpp
+ M src/remote/client/interface.cpp
+Misc.
+
+ 2013-03-24 06:19 dimitr
+ M src/common/gdsassert.h
+A more clever implementation of the assertion macros. It suppresses С4390 warnings and pleases the /W4 warning level at the same time, without any need for the new macros.
+
2013-03-23 21:12 asfernandes
M examples/udr/UdrCppExample.cpp
M src/include/firebird/ExternalEngine.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-25 01:25:01 UTC (rev 57830)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-25 02:18:25 UTC (rev 57831)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30287
+ FORMAL BUILD NUMBER:30292
*/
-#define PRODUCT_VER_STRING "3.0.0.30287"
-#define FILE_VER_STRING "WI-T3.0.0.30287"
-#define LICENSE_VER_STRING "WI-T3.0.0.30287"
-#define FILE_VER_NUMBER 3, 0, 0, 30287
+#define PRODUCT_VER_STRING "3.0.0.30292"
+#define FILE_VER_STRING "WI-T3.0.0.30292"
+#define LICENSE_VER_STRING "WI-T3.0.0.30292"
+#define FILE_VER_NUMBER 3, 0, 0, 30292
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30287"
+#define FB_BUILD_NO "30292"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 01:25:01 UTC (rev 57830)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 02:18:25 UTC (rev 57831)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30287
+BuildNum=30292
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2013-03-25 11:07:14
|
Revision: 57835
http://sourceforge.net/p/firebird/code/57835
Author: mapopa
Date: 2013-03-25 11:07:11 +0000 (Mon, 25 Mar 2013)
Log Message:
-----------
recent version of autoconf/automake/libtool complain about the firebird
scripts aclocal: warning: autoconf input should be named 'configure.ac', not
'configure.in'
Added Paths:
-----------
firebird/trunk/configure.ac
Removed Paths:
-------------
firebird/trunk/configure.in
Added: firebird/trunk/configure.ac
===================================================================
--- firebird/trunk/configure.ac (rev 0)
+++ firebird/trunk/configure.ac 2013-03-25 11:07:11 UTC (rev 57835)
@@ -0,0 +1,1328 @@
+dnl ############################# INITIALISATION ###############################
+
+AC_PREREQ(2.56)
+AC_INIT(src)
+
+AC_CONFIG_AUX_DIR(builds/make.new/config)
+AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET])
+AC_PREFIX_DEFAULT(/usr/local/firebird)
+
+m4_ifdef([AC_CONFIG_MACRO_DIR],
+ [],
+ [m4_define([AC_CONFIG_MACRO_DIR], [])])
+AC_CONFIG_MACRO_DIR(m4)
+
+AC_CONFIG_HEADER(src/include/gen/autoconfig.auto:builds/make.new/config/config.h.in)
+
+dnl XE_APPEND(value, varname)
+define([XE_APPEND],[[$2]="$[$2] [$1]"])
+
+dnl XE_PREPEND(value, varname)
+define([XE_PREPEND],[[$2]="[$1] $[$2]"])
+
+dnl XE_CONF_DIR(param, help, variable, default)
+define([XE_CONF_DIR],[
+AC_ARG_WITH([$1],
+ [AC_HELP_STRING([--with-$1], [$2])],
+ [[$3]="$withval"
+ AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])],
+ [[$3]="[`if test ""x$prefix"" = ""xNONE"" ; then echo ""$ac_default_prefix""; else echo ""$prefix""; fi`][$4]"
+ AC_DEFINE_UNQUOTED([$3], [""], [$2])]
+)
+AC_SUBST([$3])
+])
+
+define([XE_CONF_FILE],[
+AC_ARG_WITH([$1],
+ [AC_HELP_STRING([--with-$1], [$2])],
+ [[$3]="$withval"
+ AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])],
+ [[$3]="$4"
+ AC_DEFINE_UNQUOTED([$3], ["$4"], [$2])]
+)
+AC_SUBST([$3])
+])
+
+define([XE_SAVE_ENV], [
+pre_save_restore_cflags=$CFLAGS
+pre_save_restore_cxxflags=$CXXFLAGS
+pre_save_restore_libs=$LIBS
+])
+
+define([XE_RESTORE_ENV], [
+CFLAGS=$pre_save_restore_cflags
+CXXFLAGS=$pre_save_restore_cxxflags
+LIBS=$pre_save_restore_libs
+])
+
+sinclude(acx_pthread.m4)
+sinclude(binreloc.m4)
+
+dnl ############################# ADD TESTS BELOW ##############################
+
+AC_CANONICAL_SYSTEM
+CPU_TYPE=$target_cpu
+AC_SUBST(CPU_TYPE)
+
+
+dnl EKU: set appropiate defaults for each platform
+dnl EDITLINE_FLG : support fancy command line editing in isql
+dnl SHRLIB_EXT : suffix of shared library files
+
+RAW_DEVICES_FLG=Y
+EXPORT_SYMBOLS_STYLE=linux
+INSTALL_PREFIX=""
+
+dnl Use /usr/lib for library links on most platforms except some 64-bit ones
+libdir=/usr/lib
+
+dnl Should system editline be used
+STD_EDITLINE=false
+
+dnl Test for special ar options?
+AR_OPT_CHECK=false
+
+case "$target" in
+ x*64-*-darwin*)
+ MAKEFILE_PREFIX=darwin_x86_64
+ MAKEFILE_POSTFIX=darwin
+ PLATFORM=DARWIN
+ INSTALL_PREFIX=darwin
+ AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
+ XE_APPEND(-framework CoreFoundation,LIBS)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+ CPU_TYPE=x86_64
+ EXPORT_SYMBOLS_STYLE=darwin
+ ;;
+
+ i*86-*-darwin*)
+ MAKEFILE_PREFIX=darwin_i386
+ MAKEFILE_POSTFIX=darwin
+ PLATFORM=DARWIN
+ INSTALL_PREFIX=darwin
+ AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
+ XE_APPEND(-framework CoreFoundation,LIBS)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+ CPU_TYPE=i386
+ EXPORT_SYMBOLS_STYLE=darwin
+ ;;
+
+ powerpc-*-darwin*)
+ MAKEFILE_PREFIX=darwin_powerpc
+dnl MAKEFILE_PREFIX=darwin_ppc64
+ MAKEFILE_POSTFIX=darwin
+ PLATFORM=DARWIN
+ INSTALL_PREFIX=darwin
+ AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
+ XE_APPEND(-framework CoreFoundation,LIBS)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+dnl CPU_TYPE=ppc64
+ EXPORT_SYMBOLS_STYLE=darwin
+ ;;
+
+ powerpc-*-aix*)
+ dnl ibm xlC has many invocations, like xlC, xlc++, or xlc_r7
+ comp=`echo "$CXX" | cut -c1-3 | dd conv=lcase 2>/dev/null`
+ if test "$comp" = "xlc"; then
+ AR_OPT_CHECK=true
+ TLS_OPTIONS="-qtls=default"
+ MAKEFILE_PREFIX=aix_powerpc_xlc
+ else
+ MAKEFILE_PREFIX=aix_powerpc
+ fi
+ MAKEFILE_POSTFIX=aix
+ PLATFORM=AIX
+ INSTALL_PREFIX=aix
+ AC_DEFINE(AIX, 1, [Define this if OS is AIX])
+ EDITLINE_FLG=N
+ SHRLIB_EXT=so
+ EXPORT_SYMBOLS_STYLE=aix
+ ;;
+
+ amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu)
+ MAKEFILE_PREFIX=freebsd_amd64
+ case "$target" in
+ x86_64*-*-k*bsd-gnu) # Debian/kFreeBSD
+ PLATFORM=GENTOOFREEBSD
+ INSTALL_PREFIX=linux
+ ;;
+ *)
+ PLATFORM=FREEBSD
+ INSTALL_PREFIX=freebsd
+ ;;
+ esac
+ AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
+ AC_DEFINE(AMD64, 1, [Define this if CPU is amd64])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ *-gentoo-freebsd*)
+ MAKEFILE_PREFIX=freebsd
+ PLATFORM=GENTOOFREEBSD
+ AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ *-*-freebsd* | *-*-k*bsd*-gnu)
+ MAKEFILE_PREFIX=freebsd
+ case "$target" in
+ *-*-k*bsd-gnu) # Debian/kFreeBSD
+ PLATFORM=GENTOOFREEBSD
+ INSTALL_PREFIX=linux
+ ;;
+ *)
+ PLATFORM=FREEBSD
+ ;;
+ esac
+ AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ mips-*-linux*)
+ MAKEFILE_PREFIX=linux_mips
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ PTHREAD_CFLAGS=-pthread
+ PTHREAD_LIBS=-lpthread
+ ;;
+
+ mipsel-*-linux*)
+ MAKEFILE_PREFIX=linux_mipsel
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ PTHREAD_CFLAGS=-pthread
+ PTHREAD_LIBS=-lpthread
+ ;;
+
+ x86_64*-*-linux* | x86_64*-*-gnu*)
+ MAKEFILE_PREFIX=linux_amd64
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ libdir=/usr/lib64
+ CPU_TYPE=amd64
+ ;;
+
+ ia64*-*-linux*)
+ MAKEFILE_PREFIX=linux_ia64
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ libdir=/usr/lib
+ CPU_TYPE=ia64
+ ;;
+
+ arm*-*-linux*)
+ MAKEFILE_PREFIX=linux_arm
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ STD_EDITLINE=true
+ ;;
+
+ sparc*-*-linux* | sparc*-*-gnu* | sparc*-*-k*bsd*-gnu)
+ MAKEFILE_PREFIX=linux_sparc32
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ powerpc*-*-linux*)
+ MAKEFILE_PREFIX=linux_powerpc
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ i*86*-*-linux*)
+ MAKEFILE_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX)
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ s390*-*-linux*)
+ MAKEFILE_PREFIX=linux_s390x
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ sh*eb-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(SHEB, 1, [Architecture is big-edian sh4])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+
+ sh*-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(SH, 1, [Architecture is little-endian sh4])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ hppa*-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(HPPA, 1, [Define this if CPU is HPPA])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ alpha*-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(ALPHA, 1, [Define this if CPU is Alpha])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ *-*-linux* | *-*-gnu*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ *-*-netbsd*)
+ MAKEFILE_PREFIX=netbsd
+ PLATFORM=NETBSD
+ AC_DEFINE(NETBSD, 1, [Define this if OS is NetBSD])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ ia64-*-hpux*)
+ comp=`echo "$CXX" | cut -c1-3`
+ case $comp in
+ aCC) MAKEFILE_PREFIX=hpux_aCC ;
+ PTHREAD_CFLAGS=-mt
+ ;;
+ *) MAKEFILE_PREFIX=hpux_ia64 ;
+ ;;
+ esac
+ INSTALL_PREFIX=hpux
+ PLATFORM=HPUX
+ AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ libdir=/usr/lib/pa20_64
+ EXPORT_SYMBOLS_STYLE=hpux
+ ;;
+
+ hppa*-*-hpux*)
+ comp=`echo "$CXX" | cut -c1-3`
+ case $comp in
+ aCC) MAKEFILE_PREFIX=hpux_aCC ;
+ PTHREAD_CFLAGS=-mt
+ ;;
+ *) MAKEFILE_PREFIX=hpux ;
+ ;;
+ esac
+ INSTALL_PREFIX=hpux
+ PLATFORM=HPUX
+ AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=sl
+ libdir=/usr/lib/pa20_64
+ EXPORT_SYMBOLS_STYLE=hpux
+ ;;
+
+ i386-pc-solaris*)
+ dnl detect native compiler, Sun Studio Pro
+ comp=`echo "$CXX" | cut -c1-2`
+ case $comp in
+ CC) MAKEFILE_PREFIX=solaris
+ PTHREAD_CFLAGS=-mt
+ PTHREAD_LIBS=-lpthread
+ ;;
+ *) MAKEFILE_PREFIX=solx86gcc ;
+ PTHREAD_CFLAGS=-pthreads ;;
+ esac
+ dnl if this is amd64 system, we should install our libraries in /usr/lib/amd64
+ isa=`isainfo -k`
+ if test "$isa" = "amd64"; then
+ libdir=/usr/lib/amd64
+ fi
+ CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas_sax.il";
+ INSTALL_PREFIX=solaris
+ PLATFORM=solx86
+ AC_DEFINE(solx86, 1, [Define this if OS is Solarix x86])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ sparc-sun-solaris*)
+ dnl detect native compiler, Sun Studio Pro
+ comp=`echo "$CXX" | cut -c1-3`
+ case $comp in
+ CC) MAKEFILE_PREFIX=solaris ;
+ dnl inline assembly for atomic operations on Solaris 9 w SSPRO
+ PTHREAD_CFLAGS=-mt
+ PTHREAD_LIBS=-lpthread
+ if test "${target#*solaris}" = "2.9"; then
+ ATOMIC_OPTIONS=`pwd`"/src/common/classes/fb_atomic.il";
+ fi
+ ;;
+ *) MAKEFILE_PREFIX=solaris-64gcc ;
+ esac
+ CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas.il";
+ INSTALL_PREFIX=solaris
+ PLATFORM=SOLARIS
+ AC_DEFINE(SOLARIS, 1, [Define this if OS is Solaris Sparc])
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ *-*-mingw*)
+ MAKEFILE_PREFIX=mingw
+ PLATFORM=win32
+ AC_DEFINE(WIN_NT, 1, [Define this if OS is Windows NT])
+ AC_DEFINE(HAVE_MULTI_THREAD, 1, [Define this if multi-threading should be supported])
+ EDITLINE_FLG=N
+ RAW_DEVICES_FLG=N
+ SHRLIB_EXT=dll
+ ;;
+
+ *)
+ AC_MSG_ERROR(unsupported platform ${target})
+ ;;
+esac
+
+if test "$INSTALL_PREFIX" = ""; then
+ INSTALL_PREFIX=$MAKEFILE_PREFIX
+fi
+
+AM_BINRELOC
+
+AC_SUBST(MAKEFILE_PREFIX)
+AC_SUBST(AR_OPTIONS)
+AC_SUBST(PLATFORM)
+AC_SUBST(SHRLIB_EXT)
+AC_DEFINE(CASE_SENSITIVITY, true, [Define this if paths are case sensitive])
+
+
+dnl Some controllable options
+
+AC_ARG_ENABLE(developer,
+ [ --enable-developer use developer mode rules (default=no)],
+ [case "$enableval" in
+ yes) DEVEL_FLG=Y;;
+ no) DEVEL_FLG=N;;
+ *) AC_MSG_ERROR(bad value '${enableval}' for --enable-developer);;
+ esac])
+AC_SUBST(DEVEL_FLG)
+
+CROSS=
+IS_CROSS=N
+AC_ARG_WITH(cross-build,
+ [ --with-cross-build build for platform different from current one],
+ [CROSS=${withval}
+ IS_CROSS=Y])
+AC_SUBST(IS_CROSS)
+
+dnl Avoid dumb '-g -O2' autoconf's default
+dnl Debugging information and optimization flags should be set in prefix.$platform file
+dnl Should be replaced with AC_PROG_GCC_DEFAULT_FLAGS() when available
+if test "$CFLAGS" = "-g -O2" -o "$CFLAGS" = "-g" -o "$CFLAGS" = "-O2"; then
+ CFLAGS=
+fi
+
+dnl Find out how to use threads on this platform
+XE_SAVE_ENV()
+ACX_PTHREAD([
+ AC_DEFINE(HAVE_MULTI_THREAD, 1,
+ [Define this if multi-threading should be supported])])
+XE_RESTORE_ENV()
+
+AC_SUBST(PTHREAD_LIBS)
+AC_SUBST(PTHREAD_CFLAGS)
+
+AC_ARG_ENABLE(raw-devices,
+ [ --enable-raw-devices enable databases on raw devices (default on POSIX)],
+ [case "$enableval" in
+ yes) RAW_DEVICES_FLG=Y;;
+ no) RAW_DEVICES_FLG=N;;
+ *) AC_MSG_ERROR(bad value '${enableval}' for --enable-raw-devices);;
+ esac])
+if test "$RAW_DEVICES_FLG" = "Y"; then
+ AC_DEFINE(SUPPORT_RAW_DEVICES, 1,
+ [Define this if databases on raw devices should be supported])
+fi
+
+AC_ARG_ENABLE(rpath,
+ [ --enable-rpath enable linking with RPATH (default)],
+ [],
+ [enable_rpath=yes])
+if test "x$enable_rpath" != "xno" || test "x$enable_rpath" = "x" ; then
+ AC_SUBST(USE_RPATH, 1)
+fi
+
+AC_ARG_WITH(editline,
+ [ --with-editline support fancy command line editing],
+ [case "$withval" in
+ yes) EDITLINE_FLG=Y;;
+ no) EDITLINE_FLG=N;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-editline);;
+ esac])
+AC_ARG_WITH(system-editline,
+ [ --with-system-editline use OS supplied libeditline],
+ [case "$withval" in
+ yes) STD_EDITLINE=true;;
+ no) STD_EDITLINE=false;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-system-editline);;
+ esac])
+
+# not need editline in default libs, but need to test for its presence
+READLINE=edit # builtin default
+XE_SAVE_ENV()
+if test "$STD_EDITLINE" = "true"; then
+ AC_CHECK_LIB(edit, readline, [READLINE=edit EDITLINE_FLG=Y],
+ AC_CHECK_LIB(editline, readline, [READLINE=editline EDITLINE_FLG=Y],
+ AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y],
+ [STD_EDITLINE=false
+ if test "$EDITLINE_FLG" = "Y"; then
+ AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])])))
+ fi
+fi
+XE_RESTORE_ENV()
+
+AC_SUBST(READLINE)
+AC_SUBST(STD_EDITLINE)
+AC_SUBST(EDITLINE_FLG)
+
+FB_SERVICE_NAME=gds_db
+FB_SERVICE_PORT=3050
+FB_IPC_NAME=FirebirdIPI
+AC_ARG_WITH(service-name,
+ [ --with-service-name specify inet service name (default=gds_db)],
+ [FB_SERVICE_NAME=${withval}])
+AC_ARG_WITH(service-port,
+ [ --with-service-port specify inet service port (default=3050)],
+ [FB_SERVICE_PORT=${withval}])
+AC_ARG_WITH(ipc-name,
+ [ --with-ipc-name specify local IPC name (default=FirebirdIPI)],
+ [FB_IPC_NAME=${withval}])
+AC_DEFINE_UNQUOTED(FB_SERVICE_NAME,"$FB_SERVICE_NAME", [Inet service name])
+AC_DEFINE_UNQUOTED(FB_SERVICE_PORT,$FB_SERVICE_PORT, [Inet service port])
+AC_DEFINE_UNQUOTED(FB_IPC_NAME,"$FB_IPC_NAME", [Local IPC name])
+AC_SUBST(FB_SERVICE_NAME)
+AC_SUBST(FB_SERVICE_PORT)
+AC_SUBST(FB_IPC_NAME)
+
+dnl Use non-standard directory placement control
+dnl Sorry - GNU standard is not Ok for us
+XE_CONF_DIR(fbbin, [executables DIR (PREFIX/bin)], FB_BINDIR, /bin)
+XE_CONF_DIR(fbsbin, [system admin executables DIR (PREFIX/bin)], FB_SBINDIR, /bin)
+XE_CONF_DIR(fbconf, [config files DIR (PREFIX)], FB_CONFDIR)
+XE_CONF_DIR(fblib, [object code libraries DIR (PREFIX/lib)], FB_LIBDIR, /lib)
+XE_CONF_DIR(fbinclude, [C/C++ header files DIR (PREFIX/include)], FB_INCDIR, /include)
+XE_CONF_DIR(fbdoc, [documentation root DIR (PREFIX/doc)], FB_DOCDIR, /doc)
+XE_CONF_DIR(fbudf, [UDF DIR (PREFIX/UDF)], FB_UDFDIR, /UDF)
+XE_CONF_DIR(fbsample, [examples DIR (PREFIX/examples)], FB_SAMPLEDIR, /examples)
+XE_CONF_DIR(fbsample-db, [examples database DIR (PREFIX/examples/empbuild)], FB_SAMPLEDBDIR, /examples/empbuild)
+XE_CONF_DIR(fbhelp, [QLI help DIR (PREFIX/help)], FB_HELPDIR, /help)
+XE_CONF_DIR(fbintl, [international DIR (PREFIX/intl)], FB_INTLDIR, /intl)
+XE_CONF_DIR(fbmisc, [misc DIR (PREFIX/misc)], FB_MISCDIR, /misc)
+XE_CONF_DIR(fbsecure-db, [security database DIR (PREFIX)], FB_SECDBDIR)
+XE_CONF_DIR(fbmsg, [message files DIR (PREFIX)], FB_MSGDIR)
+XE_CONF_DIR(fblog, [log files DIR (PREFIX)], FB_LOGDIR)
+XE_CONF_FILE(fblogfilename, [log file name within log dir (firebird.log)], FB_LOGFILENAME, firebird.log)
+XE_CONF_DIR(fbglock, [guardian lock DIR (PREFIX)], FB_GUARDDIR)
+XE_CONF_DIR(fbplugins, [plugins DIR (PREFIX)], FB_PLUGDIR, /plugins)
+
+dnl gpre built-in language support (C/C++ are mandatory)
+GPRE_LANGUAGE_MODULES=""
+AC_ARG_WITH(gpre-ada,
+ [ --with-gpre-ada support ADA in gpre (default=no)],
+ [case "$withval" in
+ yes) XE_APPEND(ada.cpp,GPRE_LANGUAGE_MODULES)
+ AC_DEFINE(GPRE_ADA, 1, [Define this if GPRE should support ADA]);;
+ no) ;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-ada);;
+ esac])
+AC_ARG_WITH(gpre-cobol,
+ [ --with-gpre-cobol support COBOL in gpre (default=no)],
+ [case "$withval" in
+ yes) XE_APPEND(cob.cpp rmc.cpp,GPRE_LANGUAGE_MODULES)
+ AC_DEFINE(GPRE_COBOL, 1, [Define this if GPRE should support COBOL]);;
+ no) ;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-cobol);;
+ esac])
+AC_ARG_WITH(gpre-fortran,
+ [ --with-gpre-fortran support FORTRAN in gpre (default=no)],
+ [case "$withval" in
+ yes) XE_APPEND(ftn.cpp,GPRE_LANGUAGE_MODULES)
+ AC_DEFINE(GPRE_FORTRAN, 1, [Define this if GPRE should support FORTRAN]);;
+ no) ;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-fortran);;
+ esac])
+AC_ARG_WITH(gpre-pascal,
+ [ --with-gpre-pascal support PASCAL in gpre (default=no)],
+ [case "$withval" in
+ yes) XE_APPEND(pas.cpp,GPRE_LANGUAGE_MODULES)
+ AC_DEFINE(GPRE_PASCAL, 1, [Define this if GPRE should support PASCAL]);;
+ no) ;;
+ *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-pascal);;
+ esac])
+AC_SUBST(GPRE_LANGUAGE_MODULES)
+
+
+
+dnl Checks for programs.
+AC_PROG_AWK
+AC_PROG_CC_STDC
+AC_PROG_GCC_TRADITIONAL
+AC_PROG_CXX
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_LIBTOOL_DLOPEN
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_MAKE_SET
+AC_PROG_LIBTOOL
+
+dnl Check for system header files
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(assert.h)
+AC_CHECK_HEADERS(ctype.h)
+AC_CHECK_HEADERS(errno.h)
+AC_CHECK_HEADERS(fcntl.h)
+AC_CHECK_HEADERS(grp.h)
+AC_CHECK_HEADERS(pwd.h)
+AC_CHECK_HEADERS(libio.h)
+AC_CHECK_HEADERS(locale.h)
+AC_CHECK_HEADERS(math.h)
+AC_CHECK_HEADERS(pthread.h)
+AC_CHECK_HEADERS(sys/types.h)
+AC_CHECK_HEADERS(sys/stat.h)
+AC_CHECK_HEADERS(sys/uio.h)
+AC_HEADER_SYS_WAIT
+AC_HEADER_TIME
+AC_CHECK_HEADERS(sys/time.h)
+AC_CHECK_HEADERS(sys/timeb.h)
+AC_CHECK_HEADERS(sys/param.h)
+AC_CHECK_HEADERS(sys/mount.h)
+AC_CHECK_HEADERS(sys/ioctl.h)
+AC_CHECK_HEADERS(sys/select.h)
+AC_CHECK_HEADERS(limits.h)
+AC_CHECK_HEADERS(setjmp.h)
+AC_CHECK_HEADERS(stdarg.h)
+AC_CHECK_HEADERS(stdlib.h)
+AC_CHECK_HEADERS(string.h)
+AC_CHECK_HEADERS(signal.h sys/signal.h sys/siginfo.h)
+AC_CHECK_HEADERS(termio.h termios.h)
+if test "$EDITLINE_FLG" = "Y"; then
+ AC_HEADER_DIRENT
+ AC_DEFINE(HAVE_EDITLINE_H, 1, [Define this if editline is in use])
+fi
+AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(varargs.h)
+AC_CHECK_HEADERS(crypt.h)
+AC_CHECK_HEADERS(netinet/in.h rpc/rpc.h netconfig.h)
+AC_CHECK_HEADERS(rpc/xdr.h,,,[#include <rpc/rpc.h>])
+AC_CHECK_HEADERS(aio.h)
+AC_CHECK_HEADERS(mntent.h mnttab.h sys/mntent.h sys/mnttab.h)
+AC_CHECK_HEADERS(sys/ipc.h sys/file.h)
+AC_CHECK_HEADERS(socket.h sys/socket.h sys/sockio.h winsock2.h)
+AC_CHECK_HEADERS(sys/resource.h)
+AC_CHECK_HEADERS(sys/sem.h)
+AC_CHECK_HEADERS(semaphore.h)
+AC_CHECK_HEADERS(float.h)
+AC_CHECK_HEADERS(atomic.h)
+AC_CHECK_HEADERS(atomic_ops.h)
+AC_CHECK_HEADERS(poll.h)
+AC_CHECK_HEADERS(langinfo.h)
+AC_CHECK_HEADERS(iconv.h)
+AC_CHECK_HEADERS(libio.h)
+
+dnl check for ICU presence
+AC_CHECK_HEADER(unicode/ucnv.h,,AC_MSG_ERROR(ICU support not found - please install development ICU package))
+dnl setting ICU_OK here is done to only avoid default action
+AC_CHECK_LIB(icuuc, main, ICU_OK=yes, AC_MSG_ERROR(ICU support not found - please install development ICU package))
+
+dnl check for tommath presence
+XE_SAVE_ENV()
+LIBS=
+AC_CHECK_HEADER(tommath.h,,AC_MSG_ERROR(Include file for tommath not found - please install development tommath package))
+AC_CHECK_LIB(tommath, mp_init, MATHLIB=-ltommath, AC_MSG_ERROR(Library tommath not found - please install development tommath package))
+XE_RESTORE_ENV()
+AC_SUBST(MATHLIB)
+
+dnl Check for libraries
+AC_SEARCH_LIBS(dlopen, dl)
+AC_CHECK_LIB(m, main)
+if test "$EDITLINE_FLG" = "Y"; then
+ AC_CHECK_LIB(curses, tgetent, TERMLIB=curses, \
+ AC_CHECK_LIB(ncurses, tgetent, TERMLIB=ncurses, \
+ AC_CHECK_LIB(termcap, tgetent, TERMLIB=termcap, \
+ AC_CHECK_LIB(tinfo, tgetent, TERMLIB=tinfo, \
+ AC_MSG_ERROR(termcap support not found)))))
+ AC_SUBST(TERMLIB)
+ XE_APPEND(-l$TERMLIB, LIBS)
+fi
+
+AC_SEARCH_LIBS(inet_aton, resolv)
+
+dnl HP-UX atomic routines are in atomic library, not standard C library.
+dnl If we can't find atomic routines in vendor library, look for atomic_ops.
+AC_SEARCH_LIBS(atomic_inc, atomic,,
+ AC_CHECK_LIB(atomic_ops, main))
+
+
+dnl Check for libraries for static C++ runtime linking
+AC_CHECK_LIB(supc++, main, XE_APPEND(-lsupc++, STATIC_CXXSUPPORT_LIB))
+AC_CHECK_LIB(gcc_eh, main, XE_APPEND(-lgcc_eh, STATIC_CXXSUPPORT_LIB))
+AC_SUBST(STATIC_CXXSUPPORT_LIB)
+
+AC_LANG_PUSH(C++)
+dnl check for INFINITY in math.h
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <math.h>]], [[double x = INFINITY;]])],
+ AC_DEFINE(HAVE_INFINITY, 1, [Define this if INFINITY is defined in math.h]))
+
+dnl check for va_copy() in stdarg.h
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <stdarg.h>
+ void vafun(const char* fmt, ...) {va_list par, par2; va_start(par, fmt); va_copy(par2, par); va_end(par2); va_end(par);}]],
+ [[return 0;]])],
+ AC_DEFINE(HAVE_VA_COPY, 1, [Define this if va_copy() is defined in stdarg.h]))
+
+if test "$AR_OPT_CHECK" = "true"; then
+dnl if 64-bit mode, then archive tool, ar, needs -X64 option
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(,[[int lp64 = __64BIT__; ]])],
+ [AR_OPTIONS=-X64],)
+fi
+AC_LANG_POP(C++)
+
+dnl Check for functions
+AC_CHECK_FUNCS(gettimeofday)
+if test "$ac_cv_func_gettimeofday" = "yes"; then
+ AC_MSG_CHECKING(if gettimeofday accepts second (timezone) argument)
+ AC_TRY_COMPILE([#include <sys/time.h>],
+ [struct timeval tp; gettimeofday(&tp, (struct timezone *)0);],
+ [AC_DEFINE(GETTIMEOFDAY_RETURNS_TIMEZONE, 1,
+ [Define this if gettimeofday accepts second (timezone) argument])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ AH_BOTTOM([#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE
+#define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0)
+#else
+#define GETTIMEOFDAY(x) gettimeofday((x))
+#endif])
+fi
+AC_CHECK_FUNCS(time times)
+AC_CHECK_FUNCS(nanosleep)
+AC_SEARCH_LIBS(gethostname,nsl)
+AC_SEARCH_LIBS(gethostbyname,nsl)
+AC_SEARCH_LIBS(connect,socket)
+AC_CHECK_FUNCS(strcasecmp stricmp)
+AC_CHECK_FUNCS(strncasecmp strnicmp)
+if test "$ac_cv_func_strcasecmp" = "no" -a "$ac_cv_func_stricmp" = "no"; then
+ dnl EKU: On SINIX-Z strcasecmp is in libresolv.
+ dnl CVC: Maybe other platforms need this, too? Otherwise, delete the block.
+ AC_CHECK_LIB(resolv, strcasecmp,
+ [XE_APPEND(-lresolv,LIBS)
+ unset ac_cv_func_strcasecmp
+ AC_CHECK_FUNCS(strcasecmp)],, $LIBS)
+fi
+AC_SEARCH_LIBS(dirname, gen)
+AC_CHECK_FUNCS(dirname)
+AC_CHECK_FUNCS(sigaction setitimer)
+AC_CHECK_FUNCS(snprintf vsnprintf)
+AC_CHECK_FUNCS(swab _swab)
+AC_FUNC_MMAP
+AC_FUNC_FORK
+AC_FUNC_SETPGRP
+AC_CHECK_FUNCS(setpgid)
+AC_FUNC_GETPGRP
+AC_CHECK_FUNCS(flock)
+AC_CHECK_FUNCS(dladdr)
+AC_CHECK_FUNCS(initgroups)
+AC_CHECK_FUNCS(getpagesize)
+AC_CHECK_FUNCS(pread pwrite)
+AC_CHECK_FUNCS(getcwd getwd)
+AC_CHECK_FUNCS(setmntent getmntent)
+if test "$ac_cv_func_getmntent" = "yes"; then
+ AC_MSG_CHECKING(if getmntent needs second argument)
+ AC_TRY_COMPILE([#include <stdio.h>
+#include <sys/mnttab.h>],
+ [FILE *f; struct mntent *m; getmntent(f, m);],
+ [AC_DEFINE(GETMNTENT_TAKES_TWO_ARGUMENTS, 1,
+ [Define this if getmntent needs second argument])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+fi
+AC_CHECK_FUNCS(setrlimit getrlimit)
+AC_CHECK_FUNCS(tcgetattr strdup)
+AC_CHECK_FUNCS(mkstemp)
+AC_CHECK_FUNCS(pthread_keycreate pthread_key_create)
+AC_CHECK_FUNCS(llrint)
+AC_CHECK_FUNCS(localtime_r)
+AC_CHECK_FUNCS(gmtime_r)
+AC_CHECK_FUNCS(fchmod)
+AC_CHECK_FUNCS(semtimedop)
+AC_CHECK_FUNCS(fegetenv)
+AC_CHECK_FUNCS(strerror_r)
+case $host in
+ *-darwin*)
+ ac_cv_func_fdatasync=no
+ ;;
+ *)
+ AC_CHECK_FUNCS(fdatasync fsync)
+ ;;
+esac
+AC_CHECK_FUNCS(poll)
+dnl AC_CHECK_FUNCS(AO_compare_and_swap_full)
+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]))
+
+dnl Check for time function
+AC_SEARCH_LIBS(clock_gettime, rt)
+AC_CHECK_FUNCS(clock_gettime)
+
+dnl Checks for pthread functions
+AC_CHECK_FUNCS(pthread_mutexattr_setprotocol)
+AC_CHECK_FUNCS(pthread_mutexattr_setrobust_np)
+AC_CHECK_FUNCS(pthread_mutex_consistent_np)
+AC_CHECK_FUNCS(pthread_rwlockattr_setkind_np)
+AC_CHECK_FUNCS(pthread_cancel)
+AC_CHECK_FUNCS(sigset)
+
+dnl Semaphores
+if test "$ac_cv_header_semaphore_h" = "yes"; then
+AC_SEARCH_LIBS(sem_init, rt pthread)
+AC_CHECK_FUNCS(sem_timedwait)
+AC_CHECK_FUNCS(sem_init)
+if test "$ac_cv_func_sem_init" = "yes"; then
+AC_MSG_CHECKING(for working sem_init())
+AC_TRY_RUN([#include <semaphore.h>
+ main () {
+ sem_t s;
+ exit(sem_init(&s,0,0));
+ }
+ ],
+[AC_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform])
+AC_MSG_RESULT(yes)],
+[AC_MSG_RESULT(no)
+AC_SEARCH_LIBS(sem_open, rt)])
+fi
+fi
+
+dnl Some OS place iconv() support in separate library
+if test "$ac_cv_header_iconv_h" = "yes"; then
+AC_SEARCH_LIBS(iconv_open, iconv)
+fi
+
+dnl HPUX has a bug in .h files. To detect it we need C++ here.
+AC_LANG_PUSH(C++)
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <fcntl.h>]], [[posix_fadvise(0, 0, 0, 0);]])],
+ AC_DEFINE(HAVE_POSIX_FADVISE, 1, [Define this if posix_fadvise() is present on the platform]))
+AC_LANG_POP(C++)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_BIGENDIAN
+AC_C_VOLATILE
+AC_TYPE_SIGNAL
+AC_TYPE_OFF_T
+AC_TYPE_SIZE_T
+AC_TYPE_UID_T
+AC_SYS_LARGEFILE
+if test "$ac_cv_sys_file_offset_bits" = "no"; then
+ AC_MSG_CHECKING(for native large file support)
+ AC_TRY_RUN([#include <unistd.h>
+ main () {
+ exit(!(sizeof(off_t) == 8));
+ }],
+ [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+fi
+
+AC_CHECK_SIZEOF(void *)
+VOID_PTR_SIZE=$ac_cv_sizeof_void_p
+AC_SUBST(VOID_PTR_SIZE)
+
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(size_t)
+AC_CHECK_TYPES([socklen_t],,,[#include <sys/socket.h>])
+AH_BOTTOM([#ifndef HAVE_SOCKLEN_T
+typedef int socklen_t;
+#endif])
+AC_CHECK_TYPES([semun])
+if test "$ac_cv_type_semun" = "no"; then
+ AC_MSG_CHECKING(if sem.h defines semun)
+ AC_TRY_COMPILE([#include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>],
+ [union semun s;],
+ [ac_cv_type_semun=yes; AC_DEFINE(HAVE_SEMUN) AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+fi
+
+AC_CHECK_TYPES([struct XDR::xdr_ops],,,[#include <rpc/rpc.h>
+#include <rpc/xdr.h>])
+AC_CHECK_TYPES([struct xdr_ops],,,[#include <rpc/rpc.h>
+#include <rpc/xdr.h>])
+
+dnl AC_STRUCT_DIRENT_D_TYPE
+AC_CHECK_MEMBER([struct dirent.d_type],
+ AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE,1,[Define this if struct dirent has d_type]),,
+ [#include <dirent.h>])
+
+dnl EKU: try to determine the alignment of long and double
+dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h
+AC_MSG_CHECKING(alignment of long)
+AC_TRY_RUN([main () {
+ struct s {
+ char a;
+ long long b;
+ };
+ exit((int)&((struct s*)0)->b);
+}], ac_cv_c_alignment=$ac_status, ac_cv_c_alignment=$ac_status)
+AC_MSG_RESULT($ac_cv_c_alignment)
+AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long])
+
+AC_MSG_CHECKING(alignment of double)
+AC_TRY_RUN([main () {
+ struct s {
+ char a;
+ double b;
+ };
+ exit((int)&((struct s*)0)->b);
+}], ac_cv_c_double_align=$ac_status, ac_cv_c_double_align=$ac_status)
+AC_MSG_RESULT($ac_cv_c_double_align)
+AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_c_double_align, [Alignment of double])
+
+dnl EKU: don't know how to convert this into an autoconf test:
+dnl #define FB_ALIGN(n,b) ...
+dnl
+dnl VMS (n) -> no
+dnl sun_68k ((n+1) & ~1) -> even
+dnl XENIX ((n+1) & ~1) -> even
+dnl netware_386 ((n+1) & ~1) -> even
+dnl all others ((n + b - 1) & ~(b - 1)) -> multiple of b
+dnl
+dnl volunters are welcome!
+
+
+
+dnl EKU: Add any platform specific tests below
+case "$PLATFORM" in
+ LINUX)
+ dnl MOD: Check for /proc/self/exe mainly used on linux systems
+ dnl this is used to determine path to executable file.
+ AC_CHECK_FILES(/proc/self/exe)
+ ;;
+
+ FREEBSD|GENTOOFREEBSD)
+ dnl the AC_CHECK_TYPES for socklen_t doesn't include sys/socket.h
+ dnl so test for socklen_t with sys/socket.h included
+ AC_MSG_CHECKING(if sys/socket.h defines socklen_t)
+ AC_TRY_COMPILE([#include <sys/types.h>
+ #include <sys/socket.h>],
+ [socklen_t s;],
+ [AC_DEFINE(HAVE_SOCKLEN_T) AC_MSG_RESULT(yes)],
+ ...
[truncated message content] |
|
From: <fir...@us...> - 2013-03-26 01:12:39
|
Revision: 57838
http://sourceforge.net/p/firebird/code/57838
Author: firebirds
Date: 2013-03-26 01:12:35 +0000 (Tue, 26 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-25 15:59:38 UTC (rev 57837)
+++ firebird/trunk/ChangeLog 2013-03-26 01:12:35 UTC (rev 57838)
@@ -1,3 +1,28 @@
+ 2013-03-25 15:59 asfernandes
+ M src/include/firebird/UdrCppEngine.h
+Work in progress standardizing the external engines API.
+
+ 2013-03-25 15:34 asfernandes
+ M src/include/FirebirdApi.h
+ M src/include/firebird/ExternalEngine.h
+ M src/include/firebird/UdrCppEngine.h
+ M src/include/firebird/UdrEngine.h
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/ExtEngineManager.h
+ M src/plugins/udr_engine/UdrEngine.cpp
+Work in progress standardizing the external engines API.
+
+ 2013-03-25 11:07 mapopa
+ A configure.ac
+ D configure.in
+recent version of autoconf/automake/libtool complain about the firebird
+scripts aclocal: warning: autoconf input should be named 'configure.ac', not
+'configure.in'
+
+ 2013-03-25 01:25 asfernandes
+ M src/dsql/dsql.cpp
+Fixed problem reported in fb-devel: FB3 and SQL_NULL.
+
2013-03-24 16:16 dimitr
M src/jrd/jrd.cpp
The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-25 15:59:38 UTC (rev 57837)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-26 01:12:35 UTC (rev 57838)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30292
+ FORMAL BUILD NUMBER:30296
*/
-#define PRODUCT_VER_STRING "3.0.0.30292"
-#define FILE_VER_STRING "WI-T3.0.0.30292"
-#define LICENSE_VER_STRING "WI-T3.0.0.30292"
-#define FILE_VER_NUMBER 3, 0, 0, 30292
+#define PRODUCT_VER_STRING "3.0.0.30296"
+#define FILE_VER_STRING "WI-T3.0.0.30296"
+#define LICENSE_VER_STRING "WI-T3.0.0.30296"
+#define FILE_VER_NUMBER 3, 0, 0, 30296
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30292"
+#define FB_BUILD_NO "30296"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 15:59:38 UTC (rev 57837)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-26 01:12:35 UTC (rev 57838)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30292
+BuildNum=30296
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <asf...@us...> - 2013-03-27 01:34:48
|
Revision: 57840
http://sourceforge.net/p/firebird/code/57840
Author: asfernandes
Date: 2013-03-27 01:34:44 +0000 (Wed, 27 Mar 2013)
Log Message:
-----------
Fixed CORE-4068 - create package fails on creating header as soon as there is at least 1 procedure name.
Modified Paths:
--------------
firebird/trunk/builds/posix/Makefile.in.plugins_examples
firebird/trunk/src/jrd/ExtEngineManager.cpp
firebird/trunk/src/jrd/Function.epp
firebird/trunk/src/jrd/Routine.cpp
firebird/trunk/src/jrd/Routine.h
firebird/trunk/src/jrd/met.epp
Modified: firebird/trunk/builds/posix/Makefile.in.plugins_examples
===================================================================
--- firebird/trunk/builds/posix/Makefile.in.plugins_examples 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/builds/posix/Makefile.in.plugins_examples 2013-03-27 01:34:44 UTC (rev 57840)
@@ -52,8 +52,7 @@
.PHONY: all udrcpp_example dc_example kh_example
-#all: udrcpp_example dc_example kh_example
-all: dc_example kh_example
+all: udrcpp_example dc_example kh_example
UDR_Objects = $(call makeObjects,../examples/udr,UdrCppExample.cpp)
Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp
===================================================================
--- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-27 01:34:44 UTC (rev 57840)
@@ -439,7 +439,7 @@
if (relation)
{
- format = Routine::createFormat(pool, metadata->triggerFields);
+ format = Routine::createFormat(pool, metadata->triggerFields, false);
for (unsigned i = 0; i < format->fmt_count / 2; ++i)
fieldsPos.add(i);
@@ -671,8 +671,8 @@
try
{
- udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters));
- udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters));
+ udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
+ udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false));
udf->fun_external = FB_NEW(getPool()) Function(tdbb, this, attInfo->engine,
metadata.release(), externalFunction, udf);
@@ -744,8 +744,8 @@
try
{
- prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters));
- prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters));
+ prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
+ prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false));
prc->setExternal(FB_NEW(getPool()) Procedure(tdbb, this, attInfo->engine,
metadata.release(), externalProcedure, prc));
Modified: firebird/trunk/src/jrd/Function.epp
===================================================================
--- firebird/trunk/src/jrd/Function.epp 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/src/jrd/Function.epp 2013-03-27 01:34:44 UTC (rev 57840)
@@ -374,58 +374,55 @@
function->fun_external = NULL;
function->setStatement(NULL);
- if (!X.RDB$ENGINE_NAME.NULL || !X.RDB$FUNCTION_BLR.NULL)
+ if (!X.RDB$ENGINE_NAME.NULL)
{
- if (!X.RDB$ENGINE_NAME.NULL)
+ HalfStaticArray<UCHAR, 512> body;
+
+ if (!X.RDB$FUNCTION_SOURCE.NULL)
{
- HalfStaticArray<UCHAR, 512> body;
+ blb* const blob = blb::open(tdbb, sysTransaction, &X.RDB$FUNCTION_SOURCE);
+ const ULONG len = blob->BLB_get_data(tdbb,
+ body.getBuffer(blob->blb_length + 1), blob->blb_length + 1);
+ body[MIN(blob->blb_length, len)] = 0;
+ }
+ else
+ body.getBuffer(1)[0] = 0;
- if (!X.RDB$FUNCTION_SOURCE.NULL)
- {
- blb* const blob = blb::open(tdbb, sysTransaction, &X.RDB$FUNCTION_SOURCE);
- const ULONG len = blob->BLB_get_data(tdbb,
- body.getBuffer(blob->blb_length + 1), blob->blb_length + 1);
- body[MIN(blob->blb_length, len)] = 0;
- }
- else
- body.getBuffer(1)[0] = 0;
+ dbb->dbb_extManager.makeFunction(tdbb, function, X.RDB$ENGINE_NAME,
+ (X.RDB$ENTRYPOINT.NULL ? "" : X.RDB$ENTRYPOINT), (char*) body.begin());
- dbb->dbb_extManager.makeFunction(tdbb, function, X.RDB$ENGINE_NAME,
- (X.RDB$ENTRYPOINT.NULL ? "" : X.RDB$ENTRYPOINT), (char*) body.begin());
+ if (!function->fun_external)
+ function->setDefined(false);
+ }
+ else if (!X.RDB$FUNCTION_BLR.NULL)
+ {
+ MemoryPool* const csb_pool = attachment->createPool();
+ Jrd::ContextPoolHolder context(tdbb, csb_pool);
- if (!function->fun_external)
- function->setDefined(false);
- }
- else
+ try
{
- MemoryPool* const csb_pool = attachment->createPool();
- Jrd::ContextPoolHolder context(tdbb, csb_pool);
+ AutoPtr<CompilerScratch> csb(CompilerScratch::newCsb(*csb_pool, 5));
+ if (!X.RDB$DEBUG_INFO.NULL)
+ DBG_parse_debug_info(tdbb, &X.RDB$DEBUG_INFO, *csb->csb_dbg_info);
+
try
{
- AutoPtr<CompilerScratch> csb(CompilerScratch::newCsb(*csb_pool, 5));
-
- if (!X.RDB$DEBUG_INFO.NULL)
- DBG_parse_debug_info(tdbb, &X.RDB$DEBUG_INFO, *csb->csb_dbg_info);
-
- try
- {
- MET_parse_routine_blr(tdbb, function, &X.RDB$FUNCTION_BLR, csb);
- }
- catch (const Exception&)
- {
- const string name = function->getName().toString();
- status_exception::raise(Arg::Gds(isc_bad_fun_BLR) << Arg::Str(name));
- }
+ MET_parse_routine_blr(tdbb, function, &X.RDB$FUNCTION_BLR, csb);
}
catch (const Exception&)
{
- attachment->deletePool(csb_pool);
- throw;
+ const string name = function->getName().toString();
+ status_exception::raise(Arg::Gds(isc_bad_fun_BLR) << Arg::Str(name));
}
+ }
+ catch (const Exception&)
+ {
+ attachment->deletePool(csb_pool);
+ throw;
+ }
- function->getStatement()->function = function;
- }
+ function->getStatement()->function = function;
}
else if (!X.RDB$MODULE_NAME.NULL && !X.RDB$ENTRYPOINT.NULL)
{
@@ -444,7 +441,17 @@
function->setDefined(false);
}
else
+ {
+ RefPtr<MsgMetadata> inputMetadata(createMetadata(function->getInputFields()));
+ inputMetadata->release();
+ function->setInputFormat(createFormat(function->getPool(), inputMetadata, false));
+
+ RefPtr<MsgMetadata> outputMetadata(createMetadata(function->getOutputFields()));
+ outputMetadata->release();
+ function->setOutputFormat(createFormat(function->getPool(), outputMetadata, true));
+
function->setImplemented(false);
+ }
if (X.RDB$VALID_BLR.NULL || X.RDB$VALID_BLR == FALSE)
valid_blr = false;
Modified: firebird/trunk/src/jrd/Routine.cpp
===================================================================
--- firebird/trunk/src/jrd/Routine.cpp 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/src/jrd/Routine.cpp 2013-03-27 01:34:44 UTC (rev 57840)
@@ -48,14 +48,14 @@
}
// Create a Format based on an IMessageMetadata.
-Format* Routine::createFormat(MemoryPool& pool, IMessageMetadata* params)
+Format* Routine::createFormat(MemoryPool& pool, IMessageMetadata* params, bool addEof)
{
LocalStatus status;
unsigned count = params->getCount(&status);
status.check();
- Format* format = Format::newFormat(pool, count * 2);
+ Format* format = Format::newFormat(pool, count * 2 + (addEof ? 1 : 0));
unsigned runOffset = 0;
dsc* desc = format->fmt_desc.begin();
@@ -85,6 +85,13 @@
++desc;
}
+ if (addEof)
+ {
+ // Next item is aligned on USHORT, so as the previous one.
+ desc->makeShort(0, (SSHORT*)(IPTR) runOffset);
+ runOffset += sizeof(USHORT);
+ }
+
format->fmt_length = runOffset;
return format;
Modified: firebird/trunk/src/jrd/Routine.h
===================================================================
--- firebird/trunk/src/jrd/Routine.h 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/src/jrd/Routine.h 2013-03-27 01:34:44 UTC (rev 57840)
@@ -62,7 +62,7 @@
public:
static Firebird::MsgMetadata* createMetadata(
const Firebird::Array<NestConst<Parameter> >& parameters);
- static Format* createFormat(MemoryPool& pool, Firebird::IMessageMetadata* params);
+ static Format* createFormat(MemoryPool& pool, Firebird::IMessageMetadata* params, bool addEof);
public:
USHORT getId() const
Modified: firebird/trunk/src/jrd/met.epp
===================================================================
--- firebird/trunk/src/jrd/met.epp 2013-03-27 01:34:10 UTC (rev 57839)
+++ firebird/trunk/src/jrd/met.epp 2013-03-27 01:34:44 UTC (rev 57840)
@@ -3062,45 +3062,64 @@
if (!external)
{
- MemoryPool* csb_pool = attachment->createPool();
+ if (!P.RDB$PROCEDURE_BLR.NULL)
+ {
+ MemoryPool* csb_pool = attachment->createPool();
- Jrd::ContextPoolHolder context(tdbb, csb_pool);
- CompilerScratch* csb = CompilerScratch::newCsb(*tdbb->getDefaultPool(), 5);
+ Jrd::ContextPoolHolder context(tdbb, csb_pool);
+ CompilerScratch* csb = CompilerScratch::newCsb(*tdbb->getDefaultPool(), 5);
- if (!P.RDB$DEBUG_INFO.NULL)
- DBG_parse_debug_info(tdbb, &P.RDB$DEBUG_INFO, *csb->csb_dbg_info);
+ if (!P.RDB$DEBUG_INFO.NULL)
+ DBG_parse_debug_info(tdbb, &P.RDB$DEBUG_INFO, *csb->csb_dbg_info);
- try
- {
- MET_parse_routine_blr(tdbb, procedure,
- (P.RDB$PROCEDURE_BLR.NULL ? NULL : &P.RDB$PROCEDURE_BLR), csb);
- }
- catch (const Exception&)
- {
- delete csb;
+ try
+ {
+ MET_parse_routine_blr(tdbb, procedure,
+ (P.RDB$PROCEDURE_BLR.NULL ? NULL : &P.RDB$PROCEDURE_BLR), csb);
+ }
+ catch (const Exception&)
+ {
+ delete csb;
- if (procedure->getStatement())
- procedure->releaseStatement(tdbb);
- else
- attachment->deletePool(csb_pool);
+ if (procedure->getStatement())
+ procedure->releaseStatement(tdbb);
+ else
+ attachment->deletePool(csb_pool);
- ERR_post(Arg::Gds(isc_bad_proc_BLR) << Arg::Str(procedure->getName().toString()));
- }
+ ERR_post(Arg::Gds(isc_bad_proc_BLR) << Arg::Str(procedure->getName().toString()));
+ }
- procedure->getStatement()->procedure = procedure;
- for (size_t i = 0; i < csb->csb_rpt.getCount(); i++)
- {
- MessageNode* node = csb->csb_rpt[i].csb_message;
+ procedure->getStatement()->procedure = procedure;
+ for (size_t i = 0; i < csb->csb_rpt.getCount(); i++)
+ {
+ MessageNode* node = csb->csb_rpt[i].csb_message;
- /***
- if (node)
- {
- if (node->messageNumber == 1)
- procedure->prc_output_msg = node;
+ /***
+ if (node)
+ {
+ if (node->messageNumber == 1)
+ procedure->prc_output_msg = node;
+ }
+ ***/
}
- ***/
+ delete csb;
}
- delete csb;
+ else
+ {
+ RefPtr<MsgMetadata> inputMetadata(
+ Routine::createMetadata(procedure->getInputFields()));
+ inputMetadata->release();
+ procedure->setInputFormat(
+ Routine::createFormat(procedure->getPool(), inputMetadata, false));
+
+ RefPtr<MsgMetadata> outputMetadata(
+ Routine::createMetadata(procedure->getOutputFields()));
+ outputMetadata->release();
+ procedure->setOutputFormat(
+ Routine::createFormat(procedure->getPool(), outputMetadata, true));
+
+ procedure->setImplemented(false);
+ }
}
if (P.RDB$VALID_BLR.NULL || P.RDB$VALID_BLR == FALSE)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ale...@us...> - 2013-03-27 11:45:05
|
Revision: 57841
http://sourceforge.net/p/firebird/code/57841
Author: alexpeshkoff
Date: 2013-03-27 11:45:02 +0000 (Wed, 27 Mar 2013)
Log Message:
-----------
Added operator include to config files
Modified Paths:
--------------
firebird/trunk/lang_helpers/gds_codes.ftn
firebird/trunk/lang_helpers/gds_codes.pas
firebird/trunk/src/common/config/ConfigCache.cpp
firebird/trunk/src/common/config/ConfigCache.h
firebird/trunk/src/common/config/config.cpp
firebird/trunk/src/common/config/config.h
firebird/trunk/src/common/config/config_file.cpp
firebird/trunk/src/common/config/config_file.h
firebird/trunk/src/common/db_alias.cpp
firebird/trunk/src/common/os/path_utils.h
firebird/trunk/src/common/os/posix/path_utils.cpp
firebird/trunk/src/include/gen/codetext.h
firebird/trunk/src/include/gen/iberror.h
firebird/trunk/src/include/gen/msgs.h
firebird/trunk/src/include/gen/sql_code.h
firebird/trunk/src/include/gen/sql_state.h
firebird/trunk/src/msgs/facilities2.sql
firebird/trunk/src/msgs/messages2.sql
firebird/trunk/src/msgs/system_errors2.sql
firebird/trunk/src/remote/server/os/posix/inet_server.cpp
firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp
firebird/trunk/src/utilities/ntrace/TraceConfiguration.cpp
Modified: firebird/trunk/lang_helpers/gds_codes.ftn
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.ftn 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/lang_helpers/gds_codes.ftn 2013-03-27 11:45:02 UTC (rev 57841)
@@ -1516,6 +1516,16 @@
PARAMETER (GDS__no_output_format = 335545051)
INTEGER*4 GDS__item_finish
PARAMETER (GDS__item_finish = 335545052)
+ INTEGER*4 GDS__miss_config
+ PARAMETER (GDS__miss_config = 335545053)
+ INTEGER*4 GDS__conf_line
+ PARAMETER (GDS__conf_line = 335545054)
+ INTEGER*4 GDS__conf_include
+ PARAMETER (GDS__conf_include = 335545055)
+ INTEGER*4 GDS__include_depth
+ PARAMETER (GDS__include_depth = 335545056)
+ INTEGER*4 GDS__include_miss
+ PARAMETER (GDS__include_miss = 335545057)
INTEGER*4 GDS__gfix_db_name
PARAMETER (GDS__gfix_db_name = 335740929)
INTEGER*4 GDS__gfix_invalid_sw
Modified: firebird/trunk/lang_helpers/gds_codes.pas
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.pas 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/lang_helpers/gds_codes.pas 2013-03-27 11:45:02 UTC (rev 57841)
@@ -765,6 +765,11 @@
gds_wrong_message_length = 335545050;
gds_no_output_format = 335545051;
gds_item_finish = 335545052;
+ gds_miss_config = 335545053;
+ gds_conf_line = 335545054;
+ gds_conf_include = 335545055;
+ gds_include_depth = 335545056;
+ gds_include_miss = 335545057;
gds_gfix_db_name = 335740929;
gds_gfix_invalid_sw = 335740930;
gds_gfix_incmp_sw = 335740932;
Modified: firebird/trunk/src/common/config/ConfigCache.cpp
===================================================================
--- firebird/trunk/src/common/config/ConfigCache.cpp 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/ConfigCache.cpp 2013-03-27 11:45:02 UTC (rev 57841)
@@ -28,6 +28,8 @@
#include "../common/config/ConfigCache.h"
#include "../common/config/config_file.h"
+#include "gen/iberror.h"
+
#include <sys/types.h>
#include <sys/stat.h>
@@ -37,39 +39,50 @@
#include <errno.h>
#endif
-ConfigCache::ConfigCache(Firebird::MemoryPool& p, const Firebird::PathName& fName)
- : PermanentStorage(p), fileName(getPool(), fName), fileTime(0)
-{
-}
+using namespace Firebird;
+ConfigCache::ConfigCache(MemoryPool& p, const PathName& fName)
+ : PermanentStorage(p), files(FB_NEW(getPool()) ConfigCache::File(getPool(), fName))
+{ }
+
ConfigCache::~ConfigCache()
{
+ delete files;
}
void ConfigCache::checkLoadConfig()
{
- time_t newTime = getTime();
- if (fileTime == newTime)
- {
- return;
+ { // scope
+ ReadLockGuard guard(rwLock, "ConfigCache::checkLoadConfig");
+ if (files->checkLoadConfig(false))
+ {
+ return;
+ }
}
- Firebird::WriteLockGuard guard(rwLock, "ConfigCache::checkLoadConfig");
-
+ WriteLockGuard guard(rwLock, "ConfigCache::checkLoadConfig");
// may be someone already reloaded?
- newTime = getTime();
- if (fileTime == newTime)
+ if (files->checkLoadConfig(true))
{
return;
}
- fileTime = newTime;
-
+ files->trim();
loadConfig();
}
-time_t ConfigCache::getTime()
+void ConfigCache::addFile(const Firebird::PathName& fName)
{
+ files->add(fName);
+}
+
+Firebird::PathName ConfigCache::getFileName()
+{
+ return files->fileName;
+}
+
+time_t ConfigCache::File::getTime()
+{
struct stat st;
if (stat(fileName.c_str(), &st) != 0)
{
@@ -78,7 +91,58 @@
// config file is missing, but this is not our problem
return 0;
}
- Firebird::system_call_failed::raise("stat");
+ system_call_failed::raise("stat");
}
return st.st_mtime;
}
+
+ConfigCache::File::File(MemoryPool& p, const PathName& fName)
+ : PermanentStorage(p), fileName(getPool(), fName), fileTime(0), next(NULL)
+{ }
+
+ConfigCache::File::~File()
+{
+ delete next;
+}
+
+bool ConfigCache::File::checkLoadConfig(bool set)
+{
+ time_t newTime = getTime();
+ if (fileTime == newTime)
+ {
+ return next ? next->checkLoadConfig(set) : true;
+ }
+
+ if (set)
+ {
+ fileTime = newTime;
+ if (next)
+ {
+ next->checkLoadConfig(set);
+ }
+ }
+ return false;
+}
+
+void ConfigCache::File::add(const PathName& fName)
+{
+ if (fName == fileName)
+ {
+ return;
+ }
+
+ if (next)
+ {
+ next->add(fName);
+ }
+ else
+ {
+ next = FB_NEW(getPool()) ConfigCache::File(getPool(), fName);
+ }
+}
+
+void ConfigCache::File::trim()
+{
+ delete next;
+ next = NULL;
+}
Modified: firebird/trunk/src/common/config/ConfigCache.h
===================================================================
--- firebird/trunk/src/common/config/ConfigCache.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/ConfigCache.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -39,19 +39,35 @@
virtual ~ConfigCache();
void checkLoadConfig();
+ void addFile(const Firebird::PathName& fName);
+ Firebird::PathName getFileName();
protected:
virtual void loadConfig() = 0;
private:
- time_t getTime();
+ class File : public Firebird::PermanentStorage
+ {
+ public:
+ File(Firebird::MemoryPool& p, const Firebird::PathName& fName);
+ ~File();
+ bool checkLoadConfig(bool set);
+ void add(const Firebird::PathName& fName);
+ void trim();
+
+ public:
+ Firebird::PathName fileName;
+
+ private:
+ volatile time_t fileTime;
+ File* next;
+ time_t getTime();
+ };
+ File* files;
+
public:
Firebird::RWLock rwLock;
- Firebird::PathName fileName;
-
-private:
- volatile time_t fileTime;
};
#endif // COMMON_CONFIG_CASHE_H
Modified: firebird/trunk/src/common/config/config.cpp
===================================================================
--- firebird/trunk/src/common/config/config.cpp 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/config.cpp 2013-03-27 11:45:02 UTC (rev 57841)
@@ -45,15 +45,25 @@
{
public:
explicit ConfigImpl(Firebird::MemoryPool& p)
- : Firebird::PermanentStorage(p), confMessage(getPool())
+ : Firebird::PermanentStorage(p), missConf(false)
{
- ConfigFile file(fb_utils::getPrefix(fb_utils::FB_DIR_CONF, CONFIG_FILE));
- defaultConfig = new Config(file);
-
- if (file.getMessage())
+ try
{
- confMessage = file.getMessage();
+ ConfigFile file(fb_utils::getPrefix(fb_utils::FB_DIR_CONF, CONFIG_FILE));
+ defaultConfig = new Config(file);
}
+ catch (const Firebird::status_exception& ex)
+ {
+ if (ex.value()[1] != isc_miss_config)
+ {
+ throw;
+ }
+
+ missConf = true;
+
+ ConfigFile file(ConfigFile::USE_TEXT, "");
+ defaultConfig = new Config(file);
+ }
}
/* void changeDefaultConfig(Config* newConfig)
@@ -66,9 +76,9 @@
return defaultConfig;
}
- const char* getMessage()
+ bool missFirebirdConf()
{
- return confMessage.nullStr();
+ return missConf;
}
private:
@@ -77,7 +87,7 @@
ConfigImpl(const ConfigImpl&);
void operator=(const ConfigImpl&);
- Firebird::string confMessage;
+ bool missConf;
};
/******************************************************************************
@@ -196,7 +206,7 @@
if (entries[i].data_type == TYPE_STRING && values[i])
{
ConfigFile::String expand((const char*)values[i]);
- if (file.macroParse(expand) && expand != (const char*) values[i])
+ if (file.macroParse(expand, NULL) && expand != (const char*) values[i])
{
ConfigFile::String& saved(tempStrings.add());
saved = expand;
@@ -313,9 +323,9 @@
return firebirdConf().getDefaultConfig();
}
-const char* Config::getMessage()
+bool Config::missFirebirdConf()
{
- return firebirdConf().getMessage();
+ return firebirdConf().missFirebirdConf();
}
const char* Config::getInstallDirectory()
Modified: firebird/trunk/src/common/config/config.h
===================================================================
--- firebird/trunk/src/common/config/config.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/config.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -185,9 +185,9 @@
Config(const ConfigFile& file, const Config& base); // use to build db-specific config
~Config();
- // Check for errors in .conf file
+ // Check for missing firebird.conf
- static const char* getMessage();
+ static bool missFirebirdConf();
// Interface to support command line root specification.
// This ugly solution was required to make it possible to specify root
Modified: firebird/trunk/src/common/config/config_file.cpp
===================================================================
--- firebird/trunk/src/common/config/config_file.cpp 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/config_file.cpp 2013-03-27 11:45:02 UTC (rev 57841)
@@ -26,7 +26,9 @@
#include "../common/classes/auto.h"
#include "../common/config/config_file.h"
#include "../common/config/config.h"
+#include "../common/config/ConfigCache.h"
#include "../common/os/path_utils.h"
+#include "../common/ScanDir.h"
#include <stdio.h>
#ifdef HAVE_STDLIB_H
@@ -37,16 +39,36 @@
namespace {
+bool hasWildCards(const PathName& s)
+{
+ return s.find_first_of("?*") != PathName::npos;
+}
+
+void strip2slashes(ConfigFile::String& to)
+{
+ // strip double slashes
+ char sep2[3];
+ sep2[0] = PathUtils::dir_sep;
+ sep2[1] = sep2[0];
+ sep2[2] = 0;
+
+ size_t pos = 0;
+ while((pos = to.find(sep2, pos)) != PathName::npos)
+ {
+ to.erase(pos, 1);
+ }
+}
+
class MainStream : public ConfigFile::Stream
{
public:
- MainStream(const char* fname, PathName& errString)
- : file(fopen(fname, "rt")), l(0)
+ MainStream(const char* fname)
+ : file(fopen(fname, "rt")), fileName(fname), l(0)
{
if (!file)
{
// config file does not exist
- errString.printf("Missing configuration file: %s", fname);
+ (Arg::Gds(isc_miss_config) << fname << Arg::OsError()).raise();
}
}
@@ -65,7 +87,10 @@
{
return false;
}
- input.LoadFromFile(file);
+ if (!input.LoadFromFile(file))
+ {
+ return false;
+ }
++l;
input.alltrim(" \t\r");
} while (input.isEmpty() || input[0] == '#');
@@ -74,8 +99,19 @@
return true;
}
+ bool active()
+ {
+ return file.hasData();
+ }
+
+ const char* getFileName() const
+ {
+ return fileName.c_str();
+ }
+
private:
AutoPtr<FILE, FileClose> file;
+ Firebird::PathName fileName;
unsigned int l;
};
@@ -125,6 +161,11 @@
return true;
}
+ const char* getFileName() const
+ {
+ return NULL;
+ }
+
private:
const char* s;
unsigned int l;
@@ -133,8 +174,8 @@
class SubStream : public ConfigFile::Stream
{
public:
- SubStream()
- : cnt(0)
+ SubStream(const char* fName)
+ : fileName(fName), cnt(0)
{ }
bool getLine(ConfigFile::String& input, unsigned int& line)
@@ -157,65 +198,71 @@
data.push(Line(input, line));
}
+ const char* getFileName() const
+ {
+ return fileName;
+ }
+
private:
typedef Pair<Left<ConfigFile::String, unsigned int> > Line;
ObjectsArray<Line> data;
+ const char* fileName;
size_t cnt;
};
} // anonymous namespace
-ConfigFile::ConfigFile(const Firebird::PathName& file, USHORT fl)
+ConfigFile::ConfigFile(const Firebird::PathName& file, USHORT fl, ConfigCache* cache)
: AutoStorage(),
- configFile(getPool(), file),
parameters(getPool()),
flags(fl),
- lastMessage(getPool())
+ includeLimit(0),
+ filesCache(cache)
{
- MainStream s(configFile.c_str(), lastMessage);
+ MainStream s(file.c_str());
parse(&s);
}
-ConfigFile::ConfigFile(const char* file, USHORT fl)
+ConfigFile::ConfigFile(const char* file, USHORT fl, ConfigCache* cache)
: AutoStorage(),
- configFile(getPool(), String(file)),
parameters(getPool()),
flags(fl),
- lastMessage(getPool())
+ includeLimit(0),
+ filesCache(cache)
{
- MainStream s(configFile.c_str(), lastMessage);
+ MainStream s(file);
parse(&s);
}
ConfigFile::ConfigFile(UseText, const char* configText, USHORT fl)
: AutoStorage(),
- configFile(getPool()),
parameters(getPool()),
flags(fl),
- lastMessage(getPool())
+ includeLimit(0),
+ filesCache(NULL)
{
TextStream s(configText);
parse(&s);
}
-ConfigFile::ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl)
+ConfigFile::ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl, ConfigCache* cache)
: AutoStorage(p),
- configFile(getPool(), file),
parameters(getPool()),
flags(fl),
- lastMessage(getPool())
+ includeLimit(0),
+ filesCache(cache)
{
- MainStream s(configFile.c_str(), lastMessage);
+ MainStream s(file.c_str());
parse(&s);
}
-ConfigFile::ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl, const Firebird::PathName& file)
+ConfigFile::ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl)
: AutoStorage(p),
- configFile(getPool(), file),
parameters(getPool()),
flags(fl),
- lastMessage(getPool())
+ includeLimit(0),
+ filesCache(NULL)
{
parse(s);
}
@@ -229,12 +276,14 @@
* Parse line, taking quotes into account
*/
-ConfigFile::LineType ConfigFile::parseLine(const String& input, KeyType& key, String& value)
+ConfigFile::LineType ConfigFile::parseLine(const char* fileName, const String& input, KeyType& key, String& value)
{
int inString = 0;
String::size_type valStart = 0;
String::size_type eol = String::npos;
bool hasSub = false;
+ const char* include = "include";
+ const unsigned incLen = strlen(include);
for (String::size_type n = 0; n < input.length(); ++n)
{
@@ -271,6 +320,22 @@
case ' ':
case '\t':
+ if (n == incLen && key.isEmpty())
+ {
+ KeyType inc = input.substr(0, n).ToNoCaseString();
+ if (inc == include)
+ {
+ value = input.substr(n);
+ value.alltrim(" \t\r");
+
+ if (!macroParse(value, fileName))
+ {
+ return LINE_BAD;
+ }
+ return LINE_INCLUDE;
+ }
+ }
+ // fall down ...
case '\r':
break;
@@ -317,7 +382,7 @@
}
// Now expand macros in value
- if (!macroParse(value))
+ if (!macroParse(value, fileName))
{
return LINE_BAD;
}
@@ -330,7 +395,7 @@
* Substitute macro values in a string
*/
-bool ConfigFile::macroParse(String& value) const
+bool ConfigFile::macroParse(String& value, const char* fileName) const
{
String::size_type subFrom;
@@ -341,7 +406,7 @@
{
String macro;
String m = value.substr(subFrom + 2, subTo - (subFrom + 2));
- if (! translate(m, macro))
+ if (! translate(fileName, m, macro))
{
return false;
}
@@ -353,6 +418,7 @@
}
}
+ strip2slashes(value);
return true;
}
@@ -361,7 +427,7 @@
* Find macro value
*/
-bool ConfigFile::translate(const String& from, String& to) const
+bool ConfigFile::translate(const char* fileName, const String& from, String& to) const
{
if (from == "root")
{
@@ -373,28 +439,28 @@
}
else if (from == "this")
{
- if (configFile.isEmpty())
+ if (!fileName)
{
return false;
}
- PathName tempPath = configFile;
+ PathName tempPath(fileName);
#ifdef UNIX
if (PathUtils::isSymLink(tempPath))
{
// If $(this) is a symlink, expand it.
TEXT temp[MAXPATHLEN];
- const int n = readlink(configFile.c_str(), temp, sizeof(temp));
+ const int n = readlink(fileName, temp, sizeof(temp));
- if (n != -1 && n < sizeof(temp))
+ if (n != -1 && unsigned(n) < sizeof(temp))
{
tempPath = temp;
if (PathUtils::isRelative(tempPath))
{
PathName parent;
- PathUtils::splitLastComponent(parent, tempPath, configFile);
+ PathUtils::splitLastComponent(parent, tempPath, fileName);
PathUtils::concatPath(tempPath, parent, temp);
}
}
@@ -460,10 +526,9 @@
* Take into an account fault line
*/
-void ConfigFile::badLine(const String& line)
+void ConfigFile::badLine(const char* fileName, const String& line)
{
- lastMessage.printf("%s: illegal line <%s>",
- (configFile.hasData() ? configFile.c_str() : "Passed text"), line.c_str());
+ (Arg::Gds(isc_conf_line) << (fileName ? fileName : "Passed text") << line).raise();
}
/******************************************************************************
@@ -476,28 +541,33 @@
String inputLine;
Parameter* previous = NULL;
unsigned int line;
+ const char* streamName = stream->getFileName();
while (stream->getLine(inputLine, line))
{
Parameter current;
current.line = line;
- switch (parseLine(inputLine, current.name, current.value))
+ switch (parseLine(streamName, inputLine, current.name, current.value))
{
case LINE_BAD:
- badLine(inputLine);
+ badLine(streamName, inputLine);
return;
case LINE_REGULAR:
if (current.name.isEmpty())
{
- badLine(inputLine);
+ badLine(streamName, inputLine);
return;
}
previous = ¶meters[parameters.add(current)];
break;
+ case LINE_INCLUDE:
+ include(streamName, current.value.ToPathName());
+ break;
+
case LINE_START_SUB:
if (current.name.hasData())
{
@@ -506,7 +576,7 @@
}
{ // subconf scope
- SubStream subStream;
+ SubStream subStream(stream->getFileName());
while (stream->getLine(inputLine, line))
{
if (inputLine[0] == '}')
@@ -515,7 +585,7 @@
s.ltrim(" \t\r");
if (s.hasData() && s[0] != '#')
{
- badLine(s);
+ badLine(streamName, s);
return;
}
break;
@@ -523,20 +593,128 @@
subStream.putLine(inputLine, line);
}
- previous->sub = FB_NEW(getPool()) ConfigFile(getPool(), &subStream,
- flags & ~HAS_SUB_CONF, configFile);
+ previous->sub = FB_NEW(getPool())
+ ConfigFile(getPool(), &subStream, flags & ~HAS_SUB_CONF);
}
break;
}
}
}
+//#define DEBUG_INCLUDES
+
/******************************************************************************
*
- * Check for parse/load error
+ * Parse include operator
*/
-const char* ConfigFile::getMessage() const
+void ConfigFile::include(const char* currentFileName, const PathName& parPath)
{
- return lastMessage.nullStr();
+ // We should better limit include depth
+ AutoSetRestore<unsigned> depth(&includeLimit, includeLimit + 1);
+ if (includeLimit > INCLUDE_LIMIT)
+ {
+ (Arg::Gds(isc_conf_include) << currentFileName << parPath << Arg::Gds(isc_include_depth)).raise();
+ }
+
+ // for relative paths first of all prepend with current path (i.e. path of current conf file)
+ PathName path;
+ if (PathUtils::isRelative(parPath))
+ {
+ PathName curPath;
+ PathUtils::splitLastComponent(curPath, path /*dummy*/, currentFileName);
+ PathUtils::concatPath(path, curPath, parPath);
+ }
+ else
+ {
+ path = parPath;
+ }
+
+ // split path into components
+ PathName pathPrefix;
+ PathUtils::splitPrefix(path, pathPrefix);
+ PathName savedPath(path); // Expect no *? in prefix
+ FilesArray components;
+ while (path.hasData())
+ {
+ PathName cur, tmp;
+ PathUtils::splitLastComponent(tmp, cur, path);
+
+#ifdef DEBUG_INCLUDES
+ fprintf(stderr, "include: path=%s cur=%s tmp=%s\n", path.c_str(), cur.c_str(), tmp.c_str());
+#endif
+
+ components.push(cur);
+ path = tmp;
+ }
+
+ // analyze components for wildcards
+ if (!wildCards(currentFileName, pathPrefix, components))
+ {
+ // no matches found - check for presence of wild symbols in path
+ if (!hasWildCards(savedPath))
+ {
+ (Arg::Gds(isc_conf_include) << currentFileName << parPath << Arg::Gds(isc_include_miss)).raise();
+ }
+ }
}
+
+/******************************************************************************
+ *
+ * Parse wildcards
+ * - calls parse for found files
+ * - fills filesCache
+ * - returns true if some match was found
+ */
+
+bool ConfigFile::wildCards(const char* currentFileName, const PathName& pathPrefix, FilesArray& components)
+{
+ // Any change in directory can cause config change
+ PathName prefix(pathPrefix);
+ if(!pathPrefix.hasData())
+ prefix = ".";
+
+ bool found = false;
+ PathName next(components.pop());
+
+#ifdef DEBUG_INCLUDES
+ fprintf(stderr, "wildCards: prefix=%s next=%s left=%d\n",
+ prefix.c_str(), next.c_str(), components.getCount());
+#endif
+
+ ScanDir list(prefix.c_str(), next.c_str());
+ while (list.next())
+ {
+ PathName name;
+ const PathName fileName = list.getFileName();
+ if (fileName == ".")
+ continue;
+ if (fileName[0] == '.' && next[0] != '.')
+ continue;
+ PathUtils::concatPath(name, pathPrefix, fileName);
+
+#ifdef DEBUG_INCLUDES
+ fprintf(stderr, "in Scan: name=%s pathPrefix=%s list.fileName=%s\n",
+ name.c_str(), pathPrefix.c_str(), fileName.c_str());
+#endif
+
+ if (filesCache)
+ filesCache->addFile(name);
+
+ if (components.hasData()) // should be directory
+ {
+ found = found || wildCards(currentFileName, name, components);
+ }
+ else
+ {
+ MainStream include(name.c_str());
+ if (include.active())
+ {
+ found = true;
+ parse(&include);
+ }
+ }
+ }
+
+ return found;
+}
Modified: firebird/trunk/src/common/config/config_file.h
===================================================================
--- firebird/trunk/src/common/config/config_file.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/config/config_file.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -46,6 +46,8 @@
(common/config/config.cpp) and server-side alias manager (common/db_alias.cpp).
**/
+class ConfigCache;
+
class ConfigFile : public Firebird::AutoStorage, public Firebird::RefCounted
{
public:
@@ -65,6 +67,7 @@
public:
virtual ~Stream();
virtual bool getLine(String&, unsigned int&) = 0;
+ virtual const char* getFileName() const = 0;
};
struct Parameter : public AutoStorage
@@ -90,15 +93,16 @@
typedef Firebird::SortedObjectsArray<Parameter, Firebird::InlineStorage<Parameter*, 100>,
KeyType, Parameter> Parameters;
+ typedef Firebird::ObjectsArray<Firebird::PathName> FilesArray;
- ConfigFile(const Firebird::PathName& file, USHORT fl = 0);
- ConfigFile(const char* file, USHORT fl = 0);
+ ConfigFile(const Firebird::PathName& file, USHORT fl = 0, ConfigCache* cache = NULL);
+ ConfigFile(const char* file, USHORT fl = 0, ConfigCache* cache = NULL);
ConfigFile(UseText, const char* configText, USHORT fl = 0);
- ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl = 0);
+ ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl = 0, ConfigCache* cache = NULL);
private:
- ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl, const Firebird::PathName& file);
+ ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl);
public:
// key and value management
@@ -111,26 +115,25 @@
return parameters;
}
- // was there some error parsing config file?
- const char* getMessage() const;
-
// Substitute macro values in a string
- bool macroParse(String& value) const;
+ bool macroParse(String& value, const char* fileName) const;
private:
- enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB};
+ enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB, LINE_INCLUDE};
- Firebird::PathName configFile;
Parameters parameters;
USHORT flags;
- USHORT badLinesCount;
- Firebird::PathName lastMessage;
+ unsigned includeLimit;
+ ConfigCache* filesCache;
+ static const unsigned INCLUDE_LIMIT = 64;
// utilities
void parse(Stream* stream);
- LineType parseLine(const String& input, KeyType& key, String& value);
- bool translate(const String& from, String& to) const;
- void badLine(const String& line);
+ LineType parseLine(const char* fileName, const String& input, KeyType& key, String& value);
+ bool translate(const char* fileName, const String& from, String& to) const;
+ void badLine(const char* fileName, const String& line);
+ void include(const char* currentFileName, const Firebird::PathName& path);
+ bool wildCards(const char* currentFileName, const Firebird::PathName& pathPrefix, FilesArray& components);
};
#endif // CONFIG_CONFIG_FILE_H
Modified: firebird/trunk/src/common/db_alias.cpp
===================================================================
--- firebird/trunk/src/common/db_alias.cpp 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/db_alias.cpp 2013-03-27 11:45:02 UTC (rev 57841)
@@ -198,7 +198,7 @@
}
databases.clear();
- ConfigFile aliasConfig(fileName, ConfigFile::HAS_SUB_CONF);
+ ConfigFile aliasConfig(getFileName(), ConfigFile::HAS_SUB_CONF, this);
const ConfigFile::Parameters& params = aliasConfig.getParameters();
for (n = 0; n < params.getCount(); ++n)
Modified: firebird/trunk/src/common/os/path_utils.h
===================================================================
--- firebird/trunk/src/common/os/path_utils.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/os/path_utils.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -147,6 +147,13 @@
static void splitLastComponent(Firebird::PathName&, Firebird::PathName&,
const Firebird::PathName&);
+ /** splitPrefix takes a path as the first argument, splits OS-dependent prefix
+ from it (something like C:\, D: or \ in windows or / in posix),
+ and returns stripped path inplace, i.e. as first argument.
+ Prefix is returned as the second argument.
+ **/
+ static void splitPrefix(Firebird::PathName& path, Firebird::PathName& prefix);
+
/** This is the factory method for allocating dir_iterator objects.
It takes a reference to a memory pool to use for all heap allocations,
and the path of the directory to iterate (in that order). It is the
Modified: firebird/trunk/src/common/os/posix/path_utils.cpp
===================================================================
--- firebird/trunk/src/common/os/posix/path_utils.cpp 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/common/os/posix/path_utils.cpp 2013-03-27 11:45:02 UTC (rev 57841)
@@ -118,6 +118,16 @@
file.append(orgPath, pos + 1, orgPath.length() - pos - 1);
}
+void PathUtils::splitPrefix(Firebird::PathName& path, Firebird::PathName& prefix)
+{
+ prefix.erase();
+ while (path[0] == dir_sep)
+ {
+ prefix = dir_sep;
+ path.erase(0, 1);
+ }
+}
+
void PathUtils::concatPath(Firebird::PathName& result,
const Firebird::PathName& first,
const Firebird::PathName& second)
Modified: firebird/trunk/src/include/gen/codetext.h
===================================================================
--- firebird/trunk/src/include/gen/codetext.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/include/gen/codetext.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -754,6 +754,11 @@
{"wrong_message_length", 335545050},
{"no_output_format", 335545051},
{"item_finish", 335545052},
+ {"miss_config", 335545053},
+ {"conf_line", 335545054},
+ {"conf_include", 335545055},
+ {"include_depth", 335545056},
+ {"include_miss", 335545057},
{"gfix_db_name", 335740929},
{"gfix_invalid_sw", 335740930},
{"gfix_incmp_sw", 335740932},
Modified: firebird/trunk/src/include/gen/iberror.h
===================================================================
--- firebird/trunk/src/include/gen/iberror.h 2013-03-27 01:34:44 UTC (rev 57840)
+++ firebird/trunk/src/include/gen/iberror.h 2013-03-27 11:45:02 UTC (rev 57841)
@@ -788,6 +788,11 @@
const ISC_STATUS isc_wrong_message_length = 335545050L;
const ISC_STATUS isc_no_output_format = 335545051L;
const ISC_STATUS isc_item_finish = 335545052L;
+const ISC_STATUS isc_miss_config = 335545053L;
+const ISC_STATUS isc_conf_line = 335545054L;
+const ISC_STATUS isc_conf_include = 335545055L;
+const ISC_STATUS isc_include_depth = 335545056L;
+const ISC_STATUS isc_include_miss = 335545057L;
const ISC_STATUS isc_gfix_db_name = 335740929L;
const ISC_STATUS isc_gfix_invalid_sw = 335740930L;
const ISC_STATUS isc_gfix_incmp_sw = 335740932L;
@@ -1232,7 +1237,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 = 1176;
+const ISC_STATUS isc_err_max = 1181;
#else /* c definitions */
@@ -1990,6 +1995,11 @@
#define isc_wrong_message_length 335545050L
#define isc_no_output_format 335545051L
#define isc_item_finish 335545052L
+#define isc_miss_config 335545053L
+#define isc_conf_line 335545054L
+#define isc_conf_include 335545055L
+#define...
[truncated message content] |
|
From: <fir...@us...> - 2013-03-28 00:36:03
|
Revision: 57854
http://sourceforge.net/p/firebird/code/57854
Author: firebirds
Date: 2013-03-28 00:35:57 +0000 (Thu, 28 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-27 16:09:18 UTC (rev 57853)
+++ firebird/trunk/ChangeLog 2013-03-28 00:35:57 UTC (rev 57854)
@@ -1,3 +1,58 @@
+ 2013-03-27 16:09 asfernandes
+ M src/dsql/DdlNodes.epp
+Fixed CORE-4071 - external function declaration with "returns parameter" crashes the server.
+
+ 2013-03-27 15:54 asfernandes
+ M src/dsql/DdlNodes.epp
+ M src/dsql/DdlNodes.h
+Fixed CORE-4070 - NOT-NULL-column can be used as primary key and filled with NULL-values.
+
+ 2013-03-27 12:32 alexpeshkoff
+ M src/common/os/win32/path_utils.cpp
+Aproximate change for windows - not checked
+
+ 2013-03-27 11:45 alexpeshkoff
+ M lang_helpers/gds_codes.ftn
+ M lang_helpers/gds_codes.pas
+ M src/common/config/ConfigCache.cpp
+ M src/common/config/ConfigCache.h
+ M src/common/config/config.cpp
+ M src/common/config/config.h
+ M src/common/config/config_file.cpp
+ M src/common/config/config_file.h
+ M src/common/db_alias.cpp
+ M src/common/os/path_utils.h
+ M src/common/os/posix/path_utils.cpp
+ M src/include/gen/codetext.h
+ M src/include/gen/iberror.h
+ M src/include/gen/msgs.h
+ M src/include/gen/sql_code.h
+ M src/include/gen/sql_state.h
+ M src/msgs/facilities2.sql
+ M src/msgs/messages2.sql
+ M src/msgs/system_errors2.sql
+ M src/remote/server/os/posix/inet_server.cpp
+ M src/remote/server/os/win32/srvr_w32.cpp
+ M src/utilities/ntrace/TraceConfiguration.cpp
+Added operator include to config files
+
+ 2013-03-27 01:34 asfernandes
+ M builds/posix/Makefile.in.plugins_examples
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/Function.epp
+ M src/jrd/Routine.cpp
+ M src/jrd/Routine.h
+ M src/jrd/met.epp
+Fixed CORE-4068 - create package fails on creating header as soon as there is at least 1 procedure name.
+
+ 2013-03-27 01:34 asfernandes
+ M src/common/MsgMetadata.cpp
+ M src/common/MsgMetadata.h
+ M src/jrd/ExtEngineManager.cpp
+ A src/jrd/Routine.cpp
+ M src/jrd/Routine.h
+Refactor.
+
2013-03-25 15:59 asfernandes
M src/include/firebird/UdrCppEngine.h
Work in progress standardizing the external engines API.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-27 16:09:18 UTC (rev 57853)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-28 00:35:57 UTC (rev 57854)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30296
+ FORMAL BUILD NUMBER:30302
*/
-#define PRODUCT_VER_STRING "3.0.0.30296"
-#define FILE_VER_STRING "WI-T3.0.0.30296"
-#define LICENSE_VER_STRING "WI-T3.0.0.30296"
-#define FILE_VER_NUMBER 3, 0, 0, 30296
+#define PRODUCT_VER_STRING "3.0.0.30302"
+#define FILE_VER_STRING "WI-T3.0.0.30302"
+#define LICENSE_VER_STRING "WI-T3.0.0.30302"
+#define FILE_VER_NUMBER 3, 0, 0, 30302
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30296"
+#define FB_BUILD_NO "30302"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-27 16:09:18 UTC (rev 57853)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-28 00:35:57 UTC (rev 57854)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30296
+BuildNum=30302
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2013-03-28 09:32:33
|
Revision: 57856
http://sourceforge.net/p/firebird/code/57856
Author: mapopa
Date: 2013-03-28 09:32:30 +0000 (Thu, 28 Mar 2013)
Log Message:
-----------
update config files after fixing recent version of autoconf/automake/libtool complain about the firebird
scripts aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Modified Paths:
--------------
firebird/trunk/builds/make.new/config/install-sh
firebird/trunk/extern/editline/configure
Modified: firebird/trunk/builds/make.new/config/install-sh
===================================================================
--- firebird/trunk/builds/make.new/config/install-sh 2013-03-28 07:24:25 UTC (rev 57855)
+++ firebird/trunk/builds/make.new/config/install-sh 2013-03-28 09:32:30 UTC (rev 57856)
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2010-02-06.18; # UTC
+scriptversion=2011-01-19.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
@@ -186,6 +190,10 @@
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
@@ -232,9 +240,9 @@
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for `test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -256,12 +264,7 @@
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -389,7 +392,7 @@
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
@@ -407,7 +410,7 @@
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
Modified: firebird/trunk/extern/editline/configure
===================================================================
--- firebird/trunk/extern/editline/configure 2013-03-28 07:24:25 UTC (rev 57855)
+++ firebird/trunk/extern/editline/configure 2013-03-28 09:32:30 UTC (rev 57856)
@@ -1,11 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for libedit 2.10.
+# Generated by GNU Autoconf 2.69 for libedit 2.10.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -89,6 +87,7 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -133,6 +132,31 @@
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -166,7 +190,8 @@
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -211,14 +236,25 @@
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -320,6 +356,14 @@
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -441,6 +485,10 @@
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -475,16 +523,16 @@
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -496,28 +544,8 @@
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -702,7 +730,7 @@
# Identity of this package.
PACKAGE_NAME='libedit'
-PACKAGE_TARNAME='libedit-20110601'
+PACKAGE_TARNAME='libedit-20130325'
PACKAGE_VERSION='2.10'
PACKAGE_STRING='libedit 2.10'
PACKAGE_BUGREPORT=''
@@ -1286,7 +1314,7 @@
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1337,8 +1365,6 @@
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1473,7 +1499,7 @@
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root
- [DATAROOTDIR/doc/libedit-20110601]
+ [DATAROOTDIR/doc/libedit-20130325]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@@ -1601,9 +1627,9 @@
if $ac_init_version; then
cat <<\_ACEOF
libedit configure 2.10
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.69
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1647,7 +1673,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1679,7 +1705,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -1693,7 +1719,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -1730,7 +1756,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -1743,10 +1769,10 @@
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval "test \"\${$3+set}\"" = set; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1809,7 +1835,7 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1818,7 +1844,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
@@ -1859,7 +1885,7 @@
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
@@ -1873,7 +1899,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1891,7 +1917,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
@@ -1903,7 +1929,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1958,7 +1984,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
@@ -1995,7 +2021,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile
@@ -2032,7 +2058,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_cpp
@@ -2064,7 +2090,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2078,7 +2104,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
@@ -2116,7 +2142,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_f77_try_compile
@@ -2148,7 +2174,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2162,7 +2188,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_f77_try_link
@@ -2176,7 +2202,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
@@ -2217,7 +2243,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
cat >config.log <<_ACEOF
@@ -2225,7 +2251,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by libedit $as_me 2.10, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2483,7 +2509,7 @@
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2623,7 +2649,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2643,7 +2669,7 @@
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -2800,7 +2826,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -2812,7 +2838,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2840,7 +2866,7 @@
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -2893,7 +2919,7 @@
# Define the identity of the package.
- PACKAGE='libedit-20110601'
+ PACKAGE='libedit-20130325'
VERSION='2.10'
@@ -2934,7 +2960,7 @@
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
@@ -2946,7 +2972,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2974,7 +3000,7 @@
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
@@ -2986,7 +3012,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3042,7 +3068,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
@@ -3058,7 +3084,7 @@
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -3076,7 +3102,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
@@ -3091,7 +3117,7 @@
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -3263,7 +3289,7 @@
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3275,7 +3301,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3303,7 +3329,7 @@
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3315,7 +3341,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3356,7 +3382,7 @@
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3368,7 +3394,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3396,7 +3422,7 @@
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3409,7 +3435,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -3455,7 +3481,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3467,7 +3493,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3499,7 +3525,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3511,7 +3537,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3554,7 +3580,7 @@
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3669,7 +3695,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -3712,7 +3738,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3771,7 +3797,7 @@
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3782,7 +3808,7 @@
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3823,7 +3849,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3833,7 +3859,7 @@
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3870,7 +3896,7 @@
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3948,7 +3974,7 @@
fi
{ $a...
[truncated message content] |
|
From: <ale...@us...> - 2013-03-28 15:35:32
|
Revision: 57864
http://sourceforge.net/p/firebird/code/57864
Author: alexpeshkoff
Date: 2013-03-28 15:35:29 +0000 (Thu, 28 Mar 2013)
Log Message:
-----------
Added macros for main firebird directories to config files
Modified Paths:
--------------
firebird/trunk/builds/install/misc/aliases.conf.in
firebird/trunk/src/common/config/config_file.cpp
firebird/trunk/src/common/config/config_file.h
Modified: firebird/trunk/builds/install/misc/aliases.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/aliases.conf.in 2013-03-28 13:55:16 UTC (rev 57863)
+++ firebird/trunk/builds/install/misc/aliases.conf.in 2013-03-28 15:35:29 UTC (rev 57864)
@@ -5,11 +5,8 @@
#
# Example Database:
#
-#employee.fdb = @FB_SAMPLEDBDIR@/employee.fdb
-#employee = @FB_SAMPLEDBDIR@/employee.fdb
-# TODO: When added appropriate feature to config - use $(SAMPLEDBDIR) instead
-employee.fdb = $(root)/examples/empbuild/employee.fdb
-employee = $(root)/examples/empbuild/employee.fdb
+employee.fdb = $(dir_sampledb)/employee.fdb
+employee = $(dir_sampledb)/employee.fdb
#
# Live Databases:
Modified: firebird/trunk/src/common/config/config_file.cpp
===================================================================
--- firebird/trunk/src/common/config/config_file.cpp 2013-03-28 13:55:16 UTC (rev 57863)
+++ firebird/trunk/src/common/config/config_file.cpp 2013-03-28 15:35:29 UTC (rev 57864)
@@ -29,6 +29,7 @@
#include "../common/config/ConfigCache.h"
#include "../common/os/path_utils.h"
#include "../common/ScanDir.h"
+#include "../common/utils_proto.h"
#include <stdio.h>
#ifdef HAVE_STDLIB_H
@@ -471,18 +472,51 @@
PathUtils::splitLastComponent(path, file, tempPath);
to = path.ToString();
}
- /* ToDo - implement this feature
- else if (!substituteOneOfStandardFirebirdDirs(from, to))
+ else if (!substituteStandardDir(from, to))
{
return false;
}
- */
- else
+
+ return true;
+}
+
+/******************************************************************************
+ *
+ * Return parameter value as boolean
+ */
+
+bool ConfigFile::substituteStandardDir(const String& from, String& to) const
+{
+ using namespace fb_utils;
+
+ struct Dir {
+ FB_DIR code;
+ const char* name;
+ } dirs[] = {
+#define NMDIR(a) {a, #a},
+ NMDIR(FB_DIR_CONF)
+ NMDIR(FB_DIR_SECDB)
+ NMDIR(FB_DIR_PLUGINS)
+ NMDIR(FB_DIR_UDF)
+ NMDIR(FB_DIR_SAMPLE)
+ NMDIR(FB_DIR_SAMPLEDB)
+ NMDIR(FB_DIR_INTL)
+ NMDIR(FB_DIR_MSG)
+#undef NMDIR
+ {FB_DIR_LAST, NULL}
+ };
+
+ for (const Dir* d = dirs; d->name; ++d)
{
- return false;
+ const char* target = &(d->name[3]); // skip FB_
+ if (from.equalsNoCase(target))
+ {
+ to = getPrefix(d->code, "").c_str();
+ return true;
+ }
}
- return true;
+ return false;
}
/******************************************************************************
@@ -794,6 +828,11 @@
return sign * ret;
}
+/******************************************************************************
+ *
+ * Return parameter value as boolean
+ */
+
bool ConfigFile::Parameter::asBoolean() const
{
return (atoi(value.c_str()) != 0) ||
Modified: firebird/trunk/src/common/config/config_file.h
===================================================================
--- firebird/trunk/src/common/config/config_file.h 2013-03-28 13:55:16 UTC (rev 57863)
+++ firebird/trunk/src/common/config/config_file.h 2013-03-28 15:35:29 UTC (rev 57864)
@@ -138,6 +138,7 @@
void badLine(const char* fileName, const String& line);
void include(const char* currentFileName, const Firebird::PathName& path);
bool wildCards(const char* currentFileName, const Firebird::PathName& pathPrefix, FilesArray& components);
+ bool substituteStandardDir(const String& from, String& to) const;
};
#endif // CONFIG_CONFIG_FILE_H
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-29 00:38:23
|
Revision: 57866
http://sourceforge.net/p/firebird/code/57866
Author: firebirds
Date: 2013-03-29 00:38:19 +0000 (Fri, 29 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-28 16:52:03 UTC (rev 57865)
+++ firebird/trunk/ChangeLog 2013-03-29 00:38:19 UTC (rev 57866)
@@ -1,3 +1,66 @@
+ 2013-03-28 16:52 hvlad
+ M src/jrd/cch.cpp
+ M src/jrd/cch.h
+Refactor a bit
+
+ 2013-03-28 15:35 alexpeshkoff
+ M builds/install/misc/aliases.conf.in
+ M src/common/config/config_file.cpp
+ M src/common/config/config_file.h
+Added macros for main firebird directories to config files
+
+ 2013-03-28 13:55 alexpeshkoff
+ M builds/install/misc/firebird.conf.in
+Make default firebird.conf better readable. No need in conversion tables any more.
+
+ 2013-03-28 13:43 alexpeshkoff
+ M src/common/config/config.cpp
+ M src/common/config/config.h
+ M src/common/config/config_file.cpp
+ M src/common/config/config_file.h
+ M src/include/firebird/Plugin.h
+ M src/yvalve/PluginManager.cpp
+Fixed problems when config file is missing
+Make config manager and it's external interfaces work with 64-bit integers
+Added support for boolean values (like 'true' & 'yes') to external config interfaces
+Added support for kmg multipliers to config manager
+
+ 2013-03-28 13:15 hvlad
+ M src/common/os/win32/path_utils.cpp
+Well, there is a case where relative path could contain drive letter, for ex. C:xxx\yyy\zzz.
+Correct first version of code.
+
+ 2013-03-28 12:46 mapopa
+ M src/isql/isql.epp
+MUISQL (QA Test bed Multiuser environment) target is not builded anymore from Firebird 1.x ages
+
+ 2013-03-28 12:09 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
+Update Windows build
+
+ 2013-03-28 12:04 hvlad
+ M src/common/os/win32/path_utils.cpp
+If path contains drive letter - it is definitely not relative path
+
+ 2013-03-28 10:15 mapopa
+ M doc/license/IDPL.txt
+ M doc/license/README.license.usage.txt
+Fix licenses urls , sourcecode tree is moved to SVN from CVS
+
+ 2013-03-28 09:32 mapopa
+ M builds/make.new/config/install-sh
+ M extern/editline/configure
+update config files after fixing recent version of autoconf/automake/libtool complain about the firebird
+scripts aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
+
+ 2013-03-28 07:24 alexpeshkoff
+ M src/common/os/posix/path_utils.cpp
+ M src/common/os/win32/path_utils.cpp
+Fixed case with empty path - thanks to Dmitry Kovalenko
+
2013-03-27 16:09 asfernandes
M src/dsql/DdlNodes.epp
Fixed CORE-4071 - external function declaration with "returns parameter" crashes the server.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-28 16:52:03 UTC (rev 57865)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-29 00:38:19 UTC (rev 57866)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30302
+ FORMAL BUILD NUMBER:30313
*/
-#define PRODUCT_VER_STRING "3.0.0.30302"
-#define FILE_VER_STRING "WI-T3.0.0.30302"
-#define LICENSE_VER_STRING "WI-T3.0.0.30302"
-#define FILE_VER_NUMBER 3, 0, 0, 30302
+#define PRODUCT_VER_STRING "3.0.0.30313"
+#define FILE_VER_STRING "WI-T3.0.0.30313"
+#define LICENSE_VER_STRING "WI-T3.0.0.30313"
+#define FILE_VER_NUMBER 3, 0, 0, 30313
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30302"
+#define FB_BUILD_NO "30313"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-28 16:52:03 UTC (rev 57865)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-29 00:38:19 UTC (rev 57866)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30302
+BuildNum=30313
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-30 01:06:22
|
Revision: 57871
http://sourceforge.net/p/firebird/code/57871
Author: firebirds
Date: 2013-03-30 01:06:19 +0000 (Sat, 30 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-29 23:25:43 UTC (rev 57870)
+++ firebird/trunk/ChangeLog 2013-03-30 01:06:19 UTC (rev 57871)
@@ -1,3 +1,16 @@
+ 2013-03-29 23:25 asfernandes
+ M src/dsql/dsql.cpp
+Make it work as before, although I think openCursor should fail with DDL statements.
+Please check CursorTest.cpp (ddlFetch) in fbstuff.
+
+ 2013-03-29 23:25 asfernandes
+ M src/include/firebird/Message.h
+Correction.
+
+ 2013-03-29 07:39 alexpeshkoff
+ M src/include/consts_pub.h
+Avoid reusing old dpb codes as it was suggested some time ago in devel - looks like we have enough of them
+
2013-03-28 16:52 hvlad
M src/jrd/cch.cpp
M src/jrd/cch.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-29 23:25:43 UTC (rev 57870)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-30 01:06:19 UTC (rev 57871)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30313
+ FORMAL BUILD NUMBER:30316
*/
-#define PRODUCT_VER_STRING "3.0.0.30313"
-#define FILE_VER_STRING "WI-T3.0.0.30313"
-#define LICENSE_VER_STRING "WI-T3.0.0.30313"
-#define FILE_VER_NUMBER 3, 0, 0, 30313
+#define PRODUCT_VER_STRING "3.0.0.30316"
+#define FILE_VER_STRING "WI-T3.0.0.30316"
+#define LICENSE_VER_STRING "WI-T3.0.0.30316"
+#define FILE_VER_NUMBER 3, 0, 0, 30316
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30313"
+#define FB_BUILD_NO "30316"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-29 23:25:43 UTC (rev 57870)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-30 01:06:19 UTC (rev 57871)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30313
+BuildNum=30316
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-03-31 00:32:22
|
Revision: 57882
http://sourceforge.net/p/firebird/code/57882
Author: firebirds
Date: 2013-03-31 00:32:18 +0000 (Sun, 31 Mar 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-30 16:15:36 UTC (rev 57881)
+++ firebird/trunk/ChangeLog 2013-03-31 00:32:18 UTC (rev 57882)
@@ -1,3 +1,14 @@
+ 2013-03-30 02:31 asfernandes
+ M src/include/firebird/UdrCppEngine.h
+ M src/include/firebird/UdrEngine.h
+ M src/jrd/cch.cpp
+ M src/jrd/dpm.epp
+ M src/jrd/met.epp
+ M src/remote/client/interface.cpp
+ M src/remote/server/os/posix/inet_server.cpp
+ M src/remote/server/os/win32/srvr_w32.cpp
+Misc.
+
2013-03-29 23:25 asfernandes
M src/dsql/dsql.cpp
Make it work as before, although I think openCursor should fail with DDL statements.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-30 16:15:36 UTC (rev 57881)
+++ firebird/trunk/src/jrd/build_no.h 2013-03-31 00:32:18 UTC (rev 57882)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30316
+ FORMAL BUILD NUMBER:30317
*/
-#define PRODUCT_VER_STRING "3.0.0.30316"
-#define FILE_VER_STRING "WI-T3.0.0.30316"
-#define LICENSE_VER_STRING "WI-T3.0.0.30316"
-#define FILE_VER_NUMBER 3, 0, 0, 30316
+#define PRODUCT_VER_STRING "3.0.0.30317"
+#define FILE_VER_STRING "WI-T3.0.0.30317"
+#define LICENSE_VER_STRING "WI-T3.0.0.30317"
+#define FILE_VER_NUMBER 3, 0, 0, 30317
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30316"
+#define FB_BUILD_NO "30317"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-30 16:15:36 UTC (rev 57881)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-31 00:32:18 UTC (rev 57882)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30316
+BuildNum=30317
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-04-01 01:24:02
|
Revision: 57886
http://sourceforge.net/p/firebird/code/57886
Author: firebirds
Date: 2013-04-01 01:23:59 +0000 (Mon, 01 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-03-31 18:23:54 UTC (rev 57885)
+++ firebird/trunk/ChangeLog 2013-04-01 01:23:59 UTC (rev 57886)
@@ -1,3 +1,26 @@
+ 2013-03-31 18:23 asfernandes
+ M src/dsql/StmtNodes.cpp
+ M src/dsql/StmtNodes.h
+ M src/jrd/JrdStatement.cpp
+ M src/jrd/Relation.h
+ M src/jrd/evl.cpp
+ M src/jrd/exe.h
+ M src/jrd/met.epp
+ M src/jrd/par.cpp
+ M src/jrd/par_proto.h
+Cleanup.
+
+ 2013-03-31 15:55 asfernandes
+ M src/common/classes/BlrReader.h
+ M src/dsql/StmtNodes.cpp
+ M src/jrd/Function.epp
+ M src/jrd/Routine.cpp
+ M src/jrd/Routine.h
+ M src/jrd/dfw.epp
+ M src/jrd/met.epp
+ M src/jrd/met_proto.h
+Refactor.
+
2013-03-30 02:31 asfernandes
M src/include/firebird/UdrCppEngine.h
M src/include/firebird/UdrEngine.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-03-31 18:23:54 UTC (rev 57885)
+++ firebird/trunk/src/jrd/build_no.h 2013-04-01 01:23:59 UTC (rev 57886)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30317
+ FORMAL BUILD NUMBER:30319
*/
-#define PRODUCT_VER_STRING "3.0.0.30317"
-#define FILE_VER_STRING "WI-T3.0.0.30317"
-#define LICENSE_VER_STRING "WI-T3.0.0.30317"
-#define FILE_VER_NUMBER 3, 0, 0, 30317
+#define PRODUCT_VER_STRING "3.0.0.30319"
+#define FILE_VER_STRING "WI-T3.0.0.30319"
+#define LICENSE_VER_STRING "WI-T3.0.0.30319"
+#define FILE_VER_NUMBER 3, 0, 0, 30319
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30317"
+#define FB_BUILD_NO "30319"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-31 18:23:54 UTC (rev 57885)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-01 01:23:59 UTC (rev 57886)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30317
+BuildNum=30319
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2013-04-01 17:54:07
|
Revision: 57889
http://sourceforge.net/p/firebird/code/57889
Author: mapopa
Date: 2013-04-01 17:54:03 +0000 (Mon, 01 Apr 2013)
Log Message:
-----------
FLINT_CACHE was never used , dead leftover from ib 4.0 product years http://sourceforge.net/mailarchive/message.php?msg_id=5975155 (FLINSTONE is gone)
Modified Paths:
--------------
firebird/trunk/doc/emacros-cross_ref.html
firebird/trunk/src/gpre/gpre.h
firebird/trunk/src/gpre/sql.cpp
Modified: firebird/trunk/doc/emacros-cross_ref.html
===================================================================
--- firebird/trunk/doc/emacros-cross_ref.html 2013-04-01 16:04:52 UTC (rev 57888)
+++ firebird/trunk/doc/emacros-cross_ref.html 2013-04-01 17:54:03 UTC (rev 57889)
@@ -83,22 +83,6 @@
used in jrd\pcmet.epp(200) with #ifdef <br>
</td></tr>
<tr><td valign="top">
-(5) FLINT_CACHE</td><td>Unknown.</td></tr>
-<tr><td> </td><td>
-used in dudley\parse.cpp(53) with #ifdef <br>
-used in dudley\parse.cpp(101) with #ifdef <br>
-used in dudley\parse.cpp(640) with #ifdef <br>
-used in dudley\parse.cpp(743) with #ifdef <br>
-used in dudley\parse.cpp(808) with #ifdef <br>
-used in gpre\sql.cpp(56) with #ifdef <br>
-used in gpre\sql.cpp(115) with #ifdef <br>
-used in gpre\sql.cpp(1087) with #ifdef <br>
-used in gpre\sql.cpp(1135) with #ifdef <br>
-used in gpre\sql.cpp(4849) with #ifdef <br>
-used in gpre\sql.cpp(6293) with #ifdef <br>
-used in gpre\sql.cpp(6370) with #ifdef <br>
-</td></tr>
-<tr><td valign="top">
(6) GDS32</td><td>Build with GDS Compatibility.</td></tr>
<tr><td> </td><td>
used in jrd\ibinitdll.cpp(29) with #ifdef <br>
Modified: firebird/trunk/src/gpre/gpre.h
===================================================================
--- firebird/trunk/src/gpre/gpre.h 2013-04-01 16:04:52 UTC (rev 57888)
+++ firebird/trunk/src/gpre/gpre.h 2013-04-01 17:54:03 UTC (rev 57889)
@@ -837,9 +837,6 @@
int dbb_buffercount;
ULONG dbb_length; // Length of database in pages, if known
gpre_file* dbb_logfiles;
-#ifdef FLINT_CACHE // In practice, never used.
- gpre_file* dbb_cache_file;
-#endif
gpre_file* dbb_files;
};
Modified: firebird/trunk/src/gpre/sql.cpp
===================================================================
--- firebird/trunk/src/gpre/sql.cpp 2013-04-01 16:04:52 UTC (rev 57888)
+++ firebird/trunk/src/gpre/sql.cpp 2013-04-01 17:54:03 UTC (rev 57889)
@@ -47,10 +47,6 @@
#include "../common/utils_proto.h"
-#ifdef FLINT_CACHE
-const int MIN_CACHE_BUFFERS = 250;
-const int DEF_CACHE_BUFFERS = 1000;
-#endif
const int DEFAULT_BLOB_SEGMENT_LENGTH = 80; // bytes
static act* act_alter();
@@ -103,9 +99,6 @@
static bool check_filename(const TEXT *);
static void connect_opts(const TEXT**, const TEXT**, const TEXT**, const TEXT**, USHORT*);
-#ifdef FLINT_CACHE
-static gpre_file* define_cache();
-#endif
static gpre_file* define_file();
static gpre_file* define_log_file();
static gpre_dbb* dup_dbb(const gpre_dbb*);
@@ -1133,15 +1126,8 @@
; // ignore DROP LOG database->dbb_flags |= DBB_drop_log;
else if (MSC_match(KW_CASCADE))
; // ignore DROP CASCADE database->dbb_flags |= DBB_cascade;
-#ifdef FLINT_CACHE
- else if (MSC_match(KW_CACHE))
- ; // ignore DROP CACHE database->dbb_flags |= DBB_drop_cache;
else
- PAR_error("only log or cache can be dropped");
-#else
- else
PAR_error("only log file can be dropped");
-#endif // FLINT_CACHE
}
else if (MSC_match(KW_ADD))
{
@@ -1184,10 +1170,6 @@
database->dbb_logfiles = define_log_file();
}
}
-#ifdef FLINT_CACHE
- else if (MSC_match(KW_CACHE))
- database->dbb_cache_file = define_cache();
-#endif // FLINT_CACHE
}
else if (MSC_match(KW_SET))
{
@@ -4848,48 +4830,8 @@
}
}
-
-#ifdef FLINT_CACHE
//____________________________________________________________
//
-// Add a shared cache to an existing database.
-//
-
-static gpre_file* define_cache()
-{
- gpre_file* file = (gpre_file*) MSC_alloc(FIL_LEN);
- if (isQuoted(gpreGlob.token_global.tok_type))
- {
- TEXT* string = (TEXT*) MSC_alloc(gpreGlob.token_global.tok_length + 1);
- file->fil_name = string;
- MSC_copy(gpreGlob.token_global.tok_string, gpreGlob.token_global.tok_length, string);
- PAR_get_token();
- }
- else
- CPR_s_error("<quoted filename>");
- if (!check_filename(file->fil_name))
- PAR_error("node name not permitted"); // a node name is not permitted in a shared cache file name
-
- if (MSC_match(KW_LENGTH))
- {
- file->fil_length = EXP_ULONG_ordinal(true);
- if (file->fil_length < MIN_CACHE_BUFFERS)
- {
- TEXT err_string[ERROR_LENGTH];
- sprintf(err_string, "Minimum of %d cache pages required", MIN_CACHE_BUFFERS);
- PAR_error(err_string);
- }
- MSC_match(KW_PAGES);
- }
- else
- file->fil_length = DEF_CACHE_BUFFERS; // default cache buffers
-
- return file;
-}
-#endif
-
-//____________________________________________________________
-//
// Add a new file to an existing database.
//
@@ -6304,15 +6246,8 @@
; // Ignore DROP LOG database->dbb_flags |= DBB_drop_log;
else if (MSC_match(KW_CASCADE))
; // ignore DROP CASCADE database->dbb_flags |= DBB_cascade;
-#ifdef FLINT_CACHE
- else if (MSC_match(KW_CACHE))
- ; // ignore DROP CACHE database->dbb_flags |= DBB_drop_cache;
else
- PAR_error("only log files or shared cache can be dropped"); // msg 121 only SECURITY_CLASS, DESCRIPTION and CACHE can be dropped
-#else
- else
PAR_error("only log files can be dropped"); // msg 121 only SECURITY_CLASS, DESCRIPTION and CACHE can be dropped
-#endif // FLINT_CACHE
//else if (MSC_match (KW_DESCRIP))
// database->dbb_flags |= DBB_null_description;
@@ -6387,10 +6322,6 @@
database->dbb_logfiles = define_log_file();
}
}
-#ifdef FLINT_CACHE
- else if (MSC_match(KW_CACHE))
- database->dbb_cache_file = define_cache();
-#endif // FLINT_CACHE
else
break;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2013-04-02 00:30:22
|
Revision: 57893
http://sourceforge.net/p/firebird/code/57893
Author: firebirds
Date: 2013-04-02 00:30:20 +0000 (Tue, 02 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
firebird/trunk/ChangeLog
firebird/trunk/src/jrd/build_no.h
firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog 2013-04-01 21:54:16 UTC (rev 57892)
+++ firebird/trunk/ChangeLog 2013-04-02 00:30:20 UTC (rev 57893)
@@ -1,3 +1,30 @@
+ 2013-04-01 21:54 mapopa
+ M configure.ac
+Remove absolete sinixz check
+
+ 2013-04-01 21:40 mapopa
+ M src/common/isc_sync.cpp
+ M src/remote/inet.cpp
+SIGURG is not used , cleanup commented code
+
+ 2013-04-01 18:37 mapopa
+ M src/gpre/sql.cpp
+Cleanup commented code , was a wrong copy paste
+
+ 2013-04-01 17:54 mapopa
+ M doc/emacros-cross_ref.html
+ M src/gpre/gpre.h
+ M src/gpre/sql.cpp
+FLINT_CACHE was never used , dead leftover from ib 4.0 product years http://sourceforge.net/mailarchive/message.php?msg_id=5975155 (FLINSTONE is gone)
+
+ 2013-04-01 16:04 mapopa
+ M doc/emacros-cross_ref.html
+Cleanup reference
+
+ 2013-04-01 15:37 asfernandes
+ M src/jrd/par.cpp
+Misc.
+
2013-03-31 18:23 asfernandes
M src/dsql/StmtNodes.cpp
M src/dsql/StmtNodes.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2013-04-01 21:54:16 UTC (rev 57892)
+++ firebird/trunk/src/jrd/build_no.h 2013-04-02 00:30:20 UTC (rev 57893)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:30319
+ FORMAL BUILD NUMBER:30325
*/
-#define PRODUCT_VER_STRING "3.0.0.30319"
-#define FILE_VER_STRING "WI-T3.0.0.30319"
-#define LICENSE_VER_STRING "WI-T3.0.0.30319"
-#define FILE_VER_NUMBER 3, 0, 0, 30319
+#define PRODUCT_VER_STRING "3.0.0.30325"
+#define FILE_VER_STRING "WI-T3.0.0.30325"
+#define LICENSE_VER_STRING "WI-T3.0.0.30325"
+#define FILE_VER_NUMBER 3, 0, 0, 30325
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "30319"
+#define FB_BUILD_NO "30325"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2013-04-01 21:54:16 UTC (rev 57892)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-02 00:30:20 UTC (rev 57893)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=30319
+BuildNum=30325
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|