| 
      
      
      From: <fir...@us...> - 2014-01-06 00:30:55
       | 
| Revision: 58996
          http://sourceforge.net/p/firebird/code/58996
Author:   firebirds
Date:     2014-01-06 00:30:51 +0000 (Mon, 06 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-05 19:40:07 UTC (rev 58995)
+++ firebird/trunk/ChangeLog	2014-01-06 00:30:51 UTC (rev 58996)
@@ -1,3 +1,21 @@
+ 2014-01-05 19:40  dimitr 
+   M src/dsql/BoolNodes.cpp
+   M src/jrd/Optimizer.cpp
+   M src/jrd/Optimizer.h
+   M src/jrd/RecordSourceNodes.h
+   M src/jrd/opt.cpp
+   M src/jrd/par.cpp
+   M src/jrd/rse.h
+Resolved CORE-1482: Make optimizer to consider ORDER BY optimization when making decision about join order.
+Also, improved (hopefully) cost calculation for navigational retrievals.
+
+ 2014-01-05 16:25  dimitr 
+   M src/remote/remote.h
+   M src/remote/server/server.cpp
+   M src/yvalve/YObjects.h
+   M src/yvalve/why.cpp
+Fixed CORE-4313: Error "Attempt to reopen an open cursor" may be raised if the query handle is reused in a different transaction.
+
  2013-12-29 15:55  hvlad 
    M src/jrd/validation.cpp
 One more typo in validation messages
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-05 19:40:07 UTC (rev 58995)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-06 00:30:51 UTC (rev 58996)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30813
+  FORMAL BUILD NUMBER:30815
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30813"
-#define FILE_VER_STRING "WI-T3.0.0.30813"
-#define LICENSE_VER_STRING "WI-T3.0.0.30813"
-#define FILE_VER_NUMBER 3, 0, 0, 30813
+#define PRODUCT_VER_STRING "3.0.0.30815"
+#define FILE_VER_STRING "WI-T3.0.0.30815"
+#define LICENSE_VER_STRING "WI-T3.0.0.30815"
+#define FILE_VER_NUMBER 3, 0, 0, 30815
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30813"
+#define FB_BUILD_NO "30815"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-05 19:40:07 UTC (rev 58995)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-06 00:30:51 UTC (rev 58996)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30813
+BuildNum=30815
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-07 00:36:05
       | 
| Revision: 59001
          http://sourceforge.net/p/firebird/code/59001
Author:   firebirds
Date:     2014-01-07 00:36:02 +0000 (Tue, 07 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-06 09:24:46 UTC (rev 59000)
+++ firebird/trunk/ChangeLog	2014-01-07 00:36:02 UTC (rev 59001)
@@ -1,3 +1,27 @@
+ 2014-01-06 09:24  dimitr 
+   M src/jrd/Optimizer.cpp
+Fixed CORE-4118: Expression index may be not used for derived fields or view fields.
+
+ 2014-01-06 08:03  dimitr 
+   M src/remote/server/server.cpp
+   M src/yvalve/why.cpp
+Restored the error reporting for the already closed cursor.
+
+ 2014-01-06 00:57  asfernandes 
+   M src/dsql/DdlNodes.epp
+   M src/dsql/DdlNodes.h
+   M src/dsql/parse.y
+Change type of user flags from int to bool.
+
+ 2014-01-06 00:51  asfernandes 
+   M src/common/config/config.cpp
+   M src/isql/extract.epp
+   M src/jrd/Optimizer.cpp
+   M src/jrd/opt.cpp
+   M src/yvalve/YObjects.h
+   M src/yvalve/why.cpp
+Misc.
+
  2014-01-05 19:40  dimitr 
    M src/dsql/BoolNodes.cpp
    M src/jrd/Optimizer.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-06 09:24:46 UTC (rev 59000)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-07 00:36:02 UTC (rev 59001)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30815
+  FORMAL BUILD NUMBER:30819
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30815"
-#define FILE_VER_STRING "WI-T3.0.0.30815"
-#define LICENSE_VER_STRING "WI-T3.0.0.30815"
-#define FILE_VER_NUMBER 3, 0, 0, 30815
+#define PRODUCT_VER_STRING "3.0.0.30819"
+#define FILE_VER_STRING "WI-T3.0.0.30819"
+#define LICENSE_VER_STRING "WI-T3.0.0.30819"
+#define FILE_VER_NUMBER 3, 0, 0, 30819
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30815"
+#define FB_BUILD_NO "30819"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-06 09:24:46 UTC (rev 59000)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-07 00:36:02 UTC (rev 59001)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30815
+BuildNum=30819
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-08 00:32:32
       | 
| Revision: 59004
          http://sourceforge.net/p/firebird/code/59004
Author:   firebirds
Date:     2014-01-08 00:32:29 +0000 (Wed, 08 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-07 15:59:15 UTC (rev 59003)
+++ firebird/trunk/ChangeLog	2014-01-08 00:32:29 UTC (rev 59004)
@@ -1,3 +1,7 @@
+ 2014-01-07 01:15  asfernandes 
+   M src/jrd/SysFunction.cpp
+Improvement CORE-4310 - DateAdd(): change input <amount> argument from INT to BIGINT.
+
  2014-01-06 09:24  dimitr 
    M src/jrd/Optimizer.cpp
 Fixed CORE-4118: Expression index may be not used for derived fields or view fields.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-07 15:59:15 UTC (rev 59003)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-08 00:32:29 UTC (rev 59004)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30819
+  FORMAL BUILD NUMBER:30820
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30819"
-#define FILE_VER_STRING "WI-T3.0.0.30819"
-#define LICENSE_VER_STRING "WI-T3.0.0.30819"
-#define FILE_VER_NUMBER 3, 0, 0, 30819
+#define PRODUCT_VER_STRING "3.0.0.30820"
+#define FILE_VER_STRING "WI-T3.0.0.30820"
+#define LICENSE_VER_STRING "WI-T3.0.0.30820"
+#define FILE_VER_NUMBER 3, 0, 0, 30820
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30819"
+#define FB_BUILD_NO "30820"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-07 15:59:15 UTC (rev 59003)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-08 00:32:29 UTC (rev 59004)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30819
+BuildNum=30820
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-10 00:54:19
       | 
| Revision: 59013
          http://sourceforge.net/p/firebird/code/59013
Author:   firebirds
Date:     2014-01-10 00:54:15 +0000 (Fri, 10 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-09 15:56:24 UTC (rev 59012)
+++ firebird/trunk/ChangeLog	2014-01-10 00:54:15 UTC (rev 59013)
@@ -1,3 +1,23 @@
+ 2014-01-09 15:56  alexpeshkoff 
+   M src/yvalve/why.cpp
+Avoid incorrect error reporting when legacy BLOB cursor is closed
+
+ 2014-01-09 15:52  alexpeshkoff 
+   M src/jrd/ini.epp
+Use correct blr code for boolean field
+
+ 2014-01-09 15:42  asfernandes 
+   M src/dsql/DdlNodes.epp
+   M src/dsql/DdlNodes.h
+Fixed CORE-4307 - Fields present only in WHERE clause of views WITH CHECK OPTION causes invalid CHECK CONSTRAINT violation.
+
+ 2014-01-09 10:29  hvlad 
+   M src/jrd/req.h
+   M src/jrd/vio.cpp
+Better (i hope) fix for the bugcheck appeared in test bugs.core_195.
+The original fix broke cursor stability when there are sub-queries, see also CORE-3362.
+Misc fixes for better debugging. 
+
  2014-01-07 01:15  asfernandes 
    M src/jrd/SysFunction.cpp
 Improvement CORE-4310 - DateAdd(): change input <amount> argument from INT to BIGINT.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-09 15:56:24 UTC (rev 59012)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-10 00:54:15 UTC (rev 59013)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30820
+  FORMAL BUILD NUMBER:30824
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30820"
-#define FILE_VER_STRING "WI-T3.0.0.30820"
-#define LICENSE_VER_STRING "WI-T3.0.0.30820"
-#define FILE_VER_NUMBER 3, 0, 0, 30820
+#define PRODUCT_VER_STRING "3.0.0.30824"
+#define FILE_VER_STRING "WI-T3.0.0.30824"
+#define LICENSE_VER_STRING "WI-T3.0.0.30824"
+#define FILE_VER_NUMBER 3, 0, 0, 30824
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30820"
+#define FB_BUILD_NO "30824"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-09 15:56:24 UTC (rev 59012)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-10 00:54:15 UTC (rev 59013)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30820
+BuildNum=30824
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-11 00:40:47
       | 
| Revision: 59019
          http://sourceforge.net/p/firebird/code/59019
Author:   firebirds
Date:     2014-01-11 00:40:41 +0000 (Sat, 11 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-10 09:53:32 UTC (rev 59018)
+++ firebird/trunk/ChangeLog	2014-01-11 00:40:41 UTC (rev 59019)
@@ -1,3 +1,28 @@
+ 2014-01-10 08:03  dimitr 
+   M src/jrd/idx.cpp
+   M src/jrd/recsrc/IndexTableScan.cpp
+Misc.
+
+ 2014-01-10 07:49  dimitr 
+   M src/common/dsc.h
+   M src/dsql/StmtNodes.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/jrd/btr.cpp
+   M src/jrd/btr.h
+   M src/jrd/err.cpp
+   M src/jrd/err_proto.h
+   M src/jrd/idx.cpp
+   M src/jrd/idx_proto.h
+   M src/jrd/recsrc/IndexTableScan.cpp
+   M src/msgs/facilities2.sql
+   M src/msgs/messages2.sql
+   M src/msgs/system_errors2.sql
+Improvement CORE-3881: Extend the error reported for index/constraint violations to include the problematic key value.
+
  2014-01-09 15:56  alexpeshkoff 
    M src/yvalve/why.cpp
 Avoid incorrect error reporting when legacy BLOB cursor is closed
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-10 09:53:32 UTC (rev 59018)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-11 00:40:41 UTC (rev 59019)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30824
+  FORMAL BUILD NUMBER:30826
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30824"
-#define FILE_VER_STRING "WI-T3.0.0.30824"
-#define LICENSE_VER_STRING "WI-T3.0.0.30824"
-#define FILE_VER_NUMBER 3, 0, 0, 30824
+#define PRODUCT_VER_STRING "3.0.0.30826"
+#define FILE_VER_STRING "WI-T3.0.0.30826"
+#define LICENSE_VER_STRING "WI-T3.0.0.30826"
+#define FILE_VER_NUMBER 3, 0, 0, 30826
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30824"
+#define FB_BUILD_NO "30826"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-10 09:53:32 UTC (rev 59018)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-11 00:40:41 UTC (rev 59019)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30824
+BuildNum=30826
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-12 00:35:25
       | 
| Revision: 59027
          http://sourceforge.net/p/firebird/code/59027
Author:   firebirds
Date:     2014-01-12 00:35:22 +0000 (Sun, 12 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-11 09:34:28 UTC (rev 59026)
+++ firebird/trunk/ChangeLog	2014-01-12 00:35:22 UTC (rev 59027)
@@ -1,3 +1,24 @@
+ 2014-01-11 09:34  hvlad 
+   M doc/README.monitoring_tables
+Removed mention of ODS 11.x
+
+ 2014-01-11 09:25  hvlad 
+   M doc/README.monitoring_tables
+Document new field MON$ATTACHMENTS.MON$SYSTEM_FLAG
+
+ 2014-01-11 09:10  hvlad 
+   M src/include/gen/ids.h
+   M src/jrd/Attachment.h
+   M src/jrd/DatabaseSnapshot.cpp
+   M src/jrd/VirtualTable.cpp
+   M src/jrd/jrd.cpp
+   M src/jrd/relations.h
+Fixed bug CORE-4309 : 'Cache Writer' record in MON$ATTACHMENTS dissapear when delete other connection that running some 'heavy update' on big table via delete from MON$ATTACHMENTS
+
+ 2014-01-11 08:54  dimitr 
+   M src/jrd/btr.cpp
+Better output for CHARs.
+
  2014-01-10 08:03  dimitr 
    M src/jrd/idx.cpp
    M src/jrd/recsrc/IndexTableScan.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-11 09:34:28 UTC (rev 59026)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-12 00:35:22 UTC (rev 59027)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30826
+  FORMAL BUILD NUMBER:30830
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30826"
-#define FILE_VER_STRING "WI-T3.0.0.30826"
-#define LICENSE_VER_STRING "WI-T3.0.0.30826"
-#define FILE_VER_NUMBER 3, 0, 0, 30826
+#define PRODUCT_VER_STRING "3.0.0.30830"
+#define FILE_VER_STRING "WI-T3.0.0.30830"
+#define LICENSE_VER_STRING "WI-T3.0.0.30830"
+#define FILE_VER_NUMBER 3, 0, 0, 30830
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30826"
+#define FB_BUILD_NO "30830"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-11 09:34:28 UTC (rev 59026)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-12 00:35:22 UTC (rev 59027)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30826
+BuildNum=30830
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-14 00:56:39
       | 
| Revision: 59034
          http://sourceforge.net/p/firebird/code/59034
Author:   firebirds
Date:     2014-01-14 00:56:35 +0000 (Tue, 14 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-13 09:07:38 UTC (rev 59033)
+++ firebird/trunk/ChangeLog	2014-01-14 00:56:35 UTC (rev 59034)
@@ -1,3 +1,21 @@
+ 2014-01-13 09:07  dimitr 
+   M doc/README.monitoring_tables
+Updated the README.
+
+ 2014-01-13 07:58  dimitr 
+   M doc/README.monitoring_tables
+Updated the README.
+
+ 2014-01-13 02:03  asfernandes 
+   M lang_helpers/gds_codes.ftn
+   M lang_helpers/gds_codes.pas
+Commit missing generated files.
+
+ 2014-01-13 02:02  asfernandes 
+   M src/jrd/VirtualTable.cpp
+   M src/jrd/idx.cpp
+Misc.
+
  2014-01-11 09:34  hvlad 
    M doc/README.monitoring_tables
 Removed mention of ODS 11.x
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-13 09:07:38 UTC (rev 59033)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-14 00:56:35 UTC (rev 59034)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30830
+  FORMAL BUILD NUMBER:30834
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30830"
-#define FILE_VER_STRING "WI-T3.0.0.30830"
-#define LICENSE_VER_STRING "WI-T3.0.0.30830"
-#define FILE_VER_NUMBER 3, 0, 0, 30830
+#define PRODUCT_VER_STRING "3.0.0.30834"
+#define FILE_VER_STRING "WI-T3.0.0.30834"
+#define LICENSE_VER_STRING "WI-T3.0.0.30834"
+#define FILE_VER_NUMBER 3, 0, 0, 30834
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30830"
+#define FB_BUILD_NO "30834"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-13 09:07:38 UTC (rev 59033)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-14 00:56:35 UTC (rev 59034)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30830
+BuildNum=30834
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-15 00:31:27
       | 
| Revision: 59038
          http://sourceforge.net/p/firebird/code/59038
Author:   firebirds
Date:     2014-01-15 00:31:23 +0000 (Wed, 15 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-14 15:03:22 UTC (rev 59037)
+++ firebird/trunk/ChangeLog	2014-01-15 00:31:23 UTC (rev 59038)
@@ -1,3 +1,17 @@
+ 2014-01-14 15:03  asfernandes 
+   M src/dsql/DdlNodes.epp
+   M src/dsql/ExprNodes.cpp
+   M src/dsql/dsql.h
+Fixed CORE-4315 - Usage of field's alias in view WITH CHECK OPTION leads to incorrect compile error or incorrect internal triggers.
+
+ 2014-01-14 10:41  dimitr 
+   M src/remote/server/server.cpp
+Correction.
+
+ 2014-01-14 09:00  dimitr 
+   M src/remote/server/server.cpp
+Fixed the server crash during disconnection forced by the network layer.
+
  2014-01-13 09:07  dimitr 
    M doc/README.monitoring_tables
 Updated the README.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-14 15:03:22 UTC (rev 59037)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-15 00:31:23 UTC (rev 59038)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30834
+  FORMAL BUILD NUMBER:30837
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30834"
-#define FILE_VER_STRING "WI-T3.0.0.30834"
-#define LICENSE_VER_STRING "WI-T3.0.0.30834"
-#define FILE_VER_NUMBER 3, 0, 0, 30834
+#define PRODUCT_VER_STRING "3.0.0.30837"
+#define FILE_VER_STRING "WI-T3.0.0.30837"
+#define LICENSE_VER_STRING "WI-T3.0.0.30837"
+#define FILE_VER_NUMBER 3, 0, 0, 30837
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30834"
+#define FB_BUILD_NO "30837"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-14 15:03:22 UTC (rev 59037)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-15 00:31:23 UTC (rev 59038)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30834
+BuildNum=30837
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <ale...@us...> - 2014-01-15 13:02:14
       | 
| Revision: 59039
          http://sourceforge.net/p/firebird/code/59039
Author:   alexpeshkoff
Date:     2014-01-15 13:02:08 +0000 (Wed, 15 Jan 2014)
Log Message:
-----------
Implemented CORE-4317: Make ISQL use new object API with 32-bit length for object sizes (messages, SQL statements, etc.)
Implementation also includes changes in GPRE, but this utility is not complete - only commands, used in ISQL,
are working in code generator for new API.
New interface IUtl is added - it performs tasks, related with database objects (attachment, transaction, etc.),
but not requiring routing in YValve, i.e. client only tasks.
Modified Paths:
--------------
    firebird/trunk/builds/posix/make.rules
    firebird/trunk/builds/posix/prefix.linux_amd64
    firebird/trunk/src/auth/SecureRemotePassword/Message.h
    firebird/trunk/src/common/MsgMetadata.cpp
    firebird/trunk/src/common/MsgMetadata.h
    firebird/trunk/src/common/classes/ImplementHelper.h
    firebird/trunk/src/common/classes/TempFile.cpp
    firebird/trunk/src/common/classes/TempFile.h
    firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp
    firebird/trunk/src/gpre/gpre.cpp
    firebird/trunk/src/gpre/gpreswi.h
    firebird/trunk/src/gpre/lang_proto.h
    firebird/trunk/src/include/firebird/Interface.h
    firebird/trunk/src/include/firebird/Provider.h
    firebird/trunk/src/isql/extract.epp
    firebird/trunk/src/isql/isql.epp
    firebird/trunk/src/isql/isql.h
    firebird/trunk/src/isql/isql_proto.h
    firebird/trunk/src/isql/show.epp
    firebird/trunk/src/isql/show_proto.h
    firebird/trunk/src/msgs/facilities2.sql
    firebird/trunk/src/msgs/messages2.sql
    firebird/trunk/src/remote/client/BlrFromMessage.cpp
    firebird/trunk/src/yvalve/MasterImplementation.cpp
    firebird/trunk/src/yvalve/MasterImplementation.h
    firebird/trunk/src/yvalve/perf.cpp
    firebird/trunk/src/yvalve/prepa_proto.h
    firebird/trunk/src/yvalve/preparse.cpp
    firebird/trunk/src/yvalve/utl.cpp
    firebird/trunk/src/yvalve/utl_proto.h
    firebird/trunk/src/yvalve/why.cpp
    firebird/trunk/src/yvalve/why_proto.h
Added Paths:
-----------
    firebird/trunk/src/gpre/obj_cxx.cpp
    firebird/trunk/src/include/firebird/Utl.h
Modified: firebird/trunk/builds/posix/make.rules
===================================================================
--- firebird/trunk/builds/posix/make.rules	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/builds/posix/make.rules	2014-01-15 13:02:08 UTC (rev 59039)
@@ -62,7 +62,7 @@
 
 GPRE_FLAGS= -m -z -n
 JRD_GPRE_FLAGS = -n -z -gds_cxx -ids
-DSQL_GPRE_FLAGS = -m -z -n
+ISQL_GPRE_FLAGS = -m -z -n -ocxx
 
 
 .SUFFIXES: .c .e .epp .cpp
@@ -74,12 +74,9 @@
 $(OBJ)/jrd/%.cpp: $(SRC_ROOT)/jrd/%.epp
 	$(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $(firstword $<) $@
 
-$(OBJ)/dsql/%.cpp: $(SRC_ROOT)/dsql/%.epp
-	$(GPRE_CURRENT) $(DSQL_GPRE_FLAGS) $< $@
+$(OBJ)/isql/%.cpp: $(SRC_ROOT)/isql/%.epp
+	$(GPRE_CURRENT) $(ISQL_GPRE_FLAGS) $< $@
 
-$(OBJ)/yvalve/%.cpp: $(SRC_ROOT)/yvalve/%.epp
-	$(GPRE_CURRENT) $(DSQL_GPRE_FLAGS) $< $@
-
 $(OBJ)/%.cpp: $(SRC_ROOT)/%.epp
 	$(GPRE_CURRENT) $(GPRE_FLAGS) $(firstword $<) $@
 
Modified: firebird/trunk/builds/posix/prefix.linux_amd64
===================================================================
--- firebird/trunk/builds/posix/prefix.linux_amd64	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/builds/posix/prefix.linux_amd64	2014-01-15 13:02:08 UTC (rev 59039)
@@ -24,4 +24,4 @@
 
 PROD_FLAGS=$(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
 #DEV_FLAGS=-DUSE_VALGRIND $(COMMON_FLAGS) $(WARN_FLAGS)
-DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS)
+DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS) -fmax-errors=8
Modified: firebird/trunk/src/auth/SecureRemotePassword/Message.h
===================================================================
--- firebird/trunk/src/auth/SecureRemotePassword/Message.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/auth/SecureRemotePassword/Message.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -92,6 +92,7 @@
 };
 
 
+// With template magic, we make the fields strongly-typed.
 template <>
 bool Message::checkType<SLONG>(unsigned t, unsigned sz)
 {
@@ -105,13 +106,18 @@
 }
 
 template <>
+bool Message::checkType<ISC_INT64>(unsigned t, unsigned sz)
+{
+	return t == SQL_INT64 && sz == sizeof(ISC_INT64);
+}
+
+template <>
 bool Message::checkType<FB_BOOLEAN>(unsigned t, unsigned sz)
 {
 	return t == SQL_BOOLEAN && sz == sizeof(FB_BOOLEAN);
 }
 
 
-// With template magic, we make the fields strongly-typed.
 template <typename T>
 class Field
 {
Modified: firebird/trunk/src/common/MsgMetadata.cpp
===================================================================
--- firebird/trunk/src/common/MsgMetadata.cpp	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/common/MsgMetadata.cpp	2014-01-15 13:02:08 UTC (rev 59039)
@@ -81,7 +81,7 @@
 		}
 	}
 
-	virtual void FB_CARG setSubType(IStatus* status, unsigned index, unsigned subType)
+	virtual void FB_CARG setSubType(IStatus* status, unsigned index, int subType)
 	{
 		try
 		{
@@ -162,6 +162,22 @@
 		}
 	}
 
+	virtual void FB_CARG remove(IStatus* status, unsigned index)
+	{
+		try
+		{
+			MutexLockGuard g(mtx, FB_FUNCTION);
+
+			indexError(index, "remove");
+
+			msgMetadata->items.remove(index);
+		}
+		catch (const Exception& ex)
+		{
+			ex.stuffException(status);
+		}
+	}
+
 	virtual void FB_CARG moveNameToIndex(IStatus* status, const char* name, unsigned index)
 	{
 		try
Modified: firebird/trunk/src/common/MsgMetadata.h
===================================================================
--- firebird/trunk/src/common/MsgMetadata.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/common/MsgMetadata.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -79,7 +79,7 @@
 		string owner;
 		string alias;
 		unsigned type;
-		unsigned subType;
+		int subType;
 		unsigned length;
 		int scale;
 		unsigned charSet;
@@ -164,7 +164,7 @@
 		return false;
 	}
 
-	virtual unsigned FB_CARG getSubType(IStatus* status, unsigned index) const
+	virtual int FB_CARG getSubType(IStatus* status, unsigned index) const
 	{
 		if (index < items.getCount())
 			return items[index].subType;
Modified: firebird/trunk/src/common/classes/ImplementHelper.h
===================================================================
--- firebird/trunk/src/common/classes/ImplementHelper.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/common/classes/ImplementHelper.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -250,6 +250,16 @@
 };
 
 
+// Misc utl access
+class UtlInterfacePtr : public AccessAutoInterface<IUtl>
+{
+public:
+	UtlInterfacePtr()
+		: AccessAutoInterface<IUtl>(getMasterInterface()->getUtlInterface())
+	{ }
+};
+
+
 // When process exits, dynamically loaded modules (for us plugin modules)
 // are unloaded first. As the result all global variables in plugin are already destroyed
 // when yvalve is starting fb_shutdown(). This causes almost unavoidable segfault.
Modified: firebird/trunk/src/common/classes/TempFile.cpp
===================================================================
--- firebird/trunk/src/common/classes/TempFile.cpp	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/common/classes/TempFile.cpp	2014-01-15 13:02:08 UTC (rev 59039)
@@ -70,7 +70,7 @@
 
 // we need a class here only to return memory on shutdown and avoid
 // false memory leak reports
-static Firebird::InitInstance<ZeroBuffer> zeros;
+static InitInstance<ZeroBuffer> zeros;
 
 //
 // TempFile::getTempPath
@@ -127,6 +127,32 @@
 }
 
 //
+// TempFile::create
+//
+// Creates a temporary file and returns its name
+// In error case store exception in status arg
+//
+
+PathName TempFile::create(IStatus* status, const PathName& prefix, const PathName& directory)
+{
+	PathName filename;
+
+	try {
+		TempFile file(*getDefaultMemoryPool(), prefix, directory, false);
+		filename = file.getName();
+	}
+	catch (const Exception& ex)
+	{
+		if (status)
+		{
+			ex.stuffException(status);
+		}
+	}
+
+	return filename;
+}
+
+//
 // TempFile::init
 //
 // Creates temporary file with a unique filename
Modified: firebird/trunk/src/common/classes/TempFile.h
===================================================================
--- firebird/trunk/src/common/classes/TempFile.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/common/classes/TempFile.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -29,6 +29,8 @@
 
 namespace Firebird {
 
+class IStatus;
+
 class TempFile : public File
 {
 public:
@@ -66,6 +68,7 @@
 
 	static PathName getTempPath();
 	static PathName create(const PathName& prefix, const PathName& directory = "");
+	static PathName create(IStatus* status, const PathName& prefix, const PathName& directory = "");
 
 private:
 	void init(const PathName&, const PathName&);
Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp
===================================================================
--- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp	2014-01-15 13:02:08 UTC (rev 59039)
@@ -765,6 +765,12 @@
 	{
 		return -1;
 	}
+
+	virtual IUtl* FB_CARG getUtlInterface()
+	{
+		fb_assert(false);
+		return NULL;
+	}
 };
 
 
Modified: firebird/trunk/src/gpre/gpre.cpp
===================================================================
--- firebird/trunk/src/gpre/gpre.cpp	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/gpre/gpre.cpp	2014-01-15 13:02:08 UTC (rev 59039)
@@ -468,6 +468,18 @@
 			gpreGlob.database_name	= "gds_database";
 			break;
 
+		case IN_SW_GPRE_OCXX:
+			gen_routine = OBJ_CXX_action;
+			gpreGlob.sw_language	= lang_cxx;
+			gpreGlob.ident_pattern	= "fb_%d";
+			gpreGlob.long_ident_pattern	= "fb_%ld";
+			gpreGlob.utility_name	= "fbUtility";
+			gpreGlob.count_name		= "fbCount";
+			gpreGlob.slack_name		= "fbSlack";
+			gpreGlob.transaction_name = "fbTrans";
+			gpreGlob.database_name	= "fbDatabase";
+			break;
+
 		case IN_SW_GPRE_D:
 			// allocate database block and link to db chain
 
Modified: firebird/trunk/src/gpre/gpreswi.h
===================================================================
--- firebird/trunk/src/gpre/gpreswi.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/gpre/gpreswi.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -74,6 +74,7 @@
 	IN_SW_GPRE_D_FLOAT, // use blr_d_float for doubles
 	IN_SW_GPRE_CXX, 	// source is C++
 	IN_SW_GPRE_SCXX, 	// source is C++ with Saber extension
+	IN_SW_GPRE_OCXX,	// c++ with object API
 	IN_SW_GPRE_SQLDA, 	// use old or new SQLDA
 	IN_SW_GPRE_USER, 	// default username to use when attaching database
 	IN_SW_GPRE_PASSWORD, // default password to use in attaching database
@@ -167,6 +168,7 @@
 	{IN_SW_GPRE_M		, 0, "MANUAL"		, 0, 0, 0, false, 0, 0, "\t\tdo not automatically ATTACH to a database"},
 	{IN_SW_GPRE_N		, 0, "NO_LINES"		, 0, 0, 0, false, 0, 0, "\tdo not generate C debug lines"},
 	{IN_SW_GPRE_O		, 0, "OUTPUT"		, 0, 0, 0, false, 0, 0, "\t\tsend output to standard out"},
+	{IN_SW_GPRE_OCXX	, 0, "OCXX"			, 0, 0, 0, false, 0, 0, "\t\textended C++ program with objects API"},
 #ifdef GPRE_PASCAL
 	{IN_SW_GPRE_P		, 0, "PASCAL"		, 0, 0, 0, false, 0, 0, "\t\textended PASCAL program"},
 #endif
Modified: firebird/trunk/src/gpre/lang_proto.h
===================================================================
--- firebird/trunk/src/gpre/lang_proto.h	2014-01-15 00:31:23 UTC (rev 59038)
+++ firebird/trunk/src/gpre/lang_proto.h	2014-01-15 13:02:08 UTC (rev 59039)
@@ -38,6 +38,7 @@
 void	FTN_print_buffer(TEXT*);
 void	INT_action(const act*, int);
 void	INT_CXX_action(const act*, int);
+void	OBJ_CXX_action(const act*, int);
 void	PAS_action(const act*, int);
 //int		PLI_action(ACT, int);
 void	RMC_action(const act*, int);
Added: firebird/trunk/src/gpre/obj_cxx.cpp
===================================================================
--- firebird/trunk/src/gpre/obj_cxx.cpp	                        (rev 0)
+++ firebird/trunk/src/gpre/obj_cxx.cpp	2014-01-15 13:02:08 UTC (rev 59039)
@@ -0,0 +1,3975 @@
+//____________________________________________________________
+//
+//		PROGRAM:	C preprocess
+//		MODULE:		c_cxx.cpp
+//		DESCRIPTION:	C and C++ code generator
+//
+//  The contents of this file are subject to the Interbase Public
+//  License Version 1.0 (the "License"); you may not use this file
+//  except in compliance with the License. You may obtain a copy
+//  of the License at http://www.Inprise.com/IPL.html
+//
+//  Software distributed under the License is distributed on an
+//  "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
+//  or implied. See the License for the specific language governing
+//  rights and limitations under the License.
+//
+//  The Original Code was created by Inprise Corporation
+//  and its predecessors. Portions created by Inprise Corporation are
+//  Copyright (C) Inprise Corporation.
+//
+//  All Rights Reserved.
+//  Contributor(s): ______________________________________.16/09/2003
+//  TMN (Mike Nordell) 11.APR.2001 - Reduce compiler warnings
+//
+// 2002.10.28 Sean Leyne - Code cleanup, removed obsolete "DecOSF" port
+//
+//
+//____________________________________________________________
+//
+//
+
+#include "firebird.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+#include "../jrd/ibase.h"
+#include "../gpre/gpre.h"
+#include "../gpre/pat.h"
+#include "../gpre/msc_proto.h"
+#include "../gpre/cmp_proto.h"
+#include "../gpre/gpre_proto.h"
+#include "../gpre/lang_proto.h"
+#include "../gpre/pat_proto.h"
+#include "../common/prett_proto.h"
+#include "../yvalve/gds_proto.h"
+#include "../common/utils_proto.h"
+
+
+static void align(int);
+static void asgn_from(const act*, ref*, int);
+static void asgn_to(const act*, ref*, int);
+static void asgn_to_proc(const ref*, int);
+static void gen_any(const act*, int);
+static void gen_at_end(const act*, int);
+static void gen_based(const act*, int);
+static void gen_blob_close(const act*, USHORT);
+static void gen_blob_end(const act*, USHORT);
+static void gen_blob_for(const act*, USHORT);
+static void gen_blob_open(const act*, USHORT);
+static void gen_blr(void*, SSHORT, const char*);
+static void gen_clear_handles(int);
+//static void gen_compatibility_symbol(const TEXT*, const TEXT*, const TEXT*);
+static void gen_compile(const act*, int);
+static void gen_create_database(const act*, int);
+static int gen_cursor_close(const act*, const gpre_req*, int);
+static void gen_cursor_init(const act*, int);
+static int gen_cursor_open(const act*, const gpre_req*, int);
+static void gen_database(int);
+static void gen_ddl(const act*, int);
+static void gen_drop_database(const act*, int);
+static void gen_dyn_close(const act*, int);
+static void gen_dyn_declare(const act*, int);
+static void gen_dyn_describe(const act*, int, bool);
+static void gen_dyn_execute(const act*, int);
+static void gen_dyn_fetch(const act*, int);
+static void gen_dyn_immediate(const act*, int);
+static void gen_dyn_insert(const act*, int);
+static void gen_dyn_open(const act*, int);
+static void gen_dyn_prepare(const act*, int);
+static void gen_emodify(const act*, int);
+static void gen_estore(const act*, int);
+static void gen_endfor(const act*, int);
+static void gen_erase(const act*, int);
+static SSHORT gen_event_block(act*);
+static void gen_event_init(const act*, int);
+static void gen_event_wait(const act*, int);
+static void gen_fetch(const act*, int);
+static void gen_finish(const act*, int);
+static void gen_for(const act*, int);
+static void gen_function(const act*, int);
+static void gen_get_or_put_slice(const act*, const ref*, bool, int);
+static void gen_get_segment(const act*, int);
+static void gen_loop(const act*, int);
+static TEXT* gen_name(char* const, const ref*, bool);
+static void gen_on_error(const act*, USHORT);
+static void gen_procedure(const act*, int);
+static void gen_put_segment(const act*, int);
+static void gen_raw(const UCHAR*, int);
+static void gen_ready(const act*, int);
+static void gen_receive(const act*, int, const gpre_port*);
+static void gen_release(const act*, int);
+static void gen_request(const gpre_req*);
+static void gen_return_value(const act*, int);
+static void gen_routine(const act*, int);
+static void gen_s_end(const act*, int);
+static void gen_s_fetch(const act*, int);
+static void gen_s_start(const act*, int);
+static void gen_segment(const act*, int);
+static void gen_select(const act*, int);
+static void gen_send(const act*, const gpre_port*, int);
+static void gen_slice(const act*, const ref*, int);
+static void gen_start(const act*, const gpre_port*, int, bool);
+static void gen_store(const act*, int);
+static void gen_t_start(const act*, int);
+static void gen_tpb(const tpb*, int);
+static void gen_trans(const act*, int);
+static void gen_type(const act*, int);
+static void gen_update(const act*, int);
+static void gen_variable(const act*, int);
+static void gen_whenever(const swe*, int);
+static void make_array_declaration(ref*);
+static TEXT* make_name(TEXT* const, const gpre_sym*);
+static void make_ok_test(const act*, const gpre_req*, int);
+static void make_port(const gpre_port*, int);
+static void make_ready(const gpre_dbb*, const TEXT*, const TEXT*, USHORT, const gpre_req*);
+static void printa(int, const char*, ...) ATTRIBUTE_FORMAT(2,3);
+static void printb(const TEXT*, ...) ATTRIBUTE_FORMAT(1,2);
+static const TEXT* request_trans(const act*, const gpre_req*);
+static const TEXT* status_vector(const act*);
+static void t_start_auto(const act*, const gpre_req*, const TEXT*, int, bool);
+
+static bool global_first_flag = false;
+static const TEXT* global_status_name = 0;
+
+const int INDENT	= 3;
+
+static const char* const NULL_STRING	= "NULL";
+static const char* const NULL_STATUS	= "NULL";
+static const char* const NULL_SQLDA		= "NULL";
+
+#ifdef DARWIN
+static const char* const GDS_INCLUDE	= "<Firebird/ibase.h>";
+#else
+static const char* const GDS_INCLUDE	= "<ibase.h>";
+#endif
+
+static const char* const DCL_LONG	= "ISC_LONG";
+static const char* const DCL_QUAD	= "ISC_QUAD";
+
+static inline void begin(const int column)
+{
+	printa(column, "{");
+}
+
+static inline void endp(const int column)
+{
+	printa(column, "}");
+}
+
+static inline void set_sqlcode(const act* action, const int column)
+{
+	if (action->act_flags & ACT_sql)
+		printa(column, "SQLCODE = isc_sqlcode(%s->get());", global_status_name);
+}
+
+static inline void ObjectNotImplemented()
+{
+	CPR_error("Feature is not implemented for object API");
+	throw Firebird::LongJump();
+}
+
+//____________________________________________________________
+//
+//
+
+void OBJ_CXX_action(const act* action, int column)
+{
+
+	global_status_name = "fbStatus";
+
+	// Put leading braces where required
+
+	switch (action->act_type)
+	{
+	case ACT_alter_database:
+	case ACT_alter_domain:
+	case ACT_alter_index:
+	case ACT_alter_table:
+	case ACT_blob_close:
+	case ACT_blob_create:
+	case ACT_blob_for:
+	case ACT_blob_open:
+	case ACT_clear_handles:
+	case ACT_close:
+	case ACT_commit:
+	case ACT_commit_retain_context:
+	case ACT_create_database:
+	case ACT_create_domain:
+	case ACT_create_generator:
+	case ACT_create_index:
+	case ACT_create_shadow:
+	case ACT_create_table:
+	case ACT_create_view:
+	case ACT_declare_filter:
+	case ACT_declare_udf:
+	case ACT_disconnect:
+	case ACT_drop_database:
+	case ACT_drop_domain:
+	case ACT_drop_filter:
+	case ACT_drop_index:
+	case ACT_drop_shadow:
+	case ACT_drop_table:
+	case ACT_drop_udf:
+	case ACT_drop_view:
+	case ACT_dyn_close:
+	case ACT_dyn_cursor:
+	case ACT_dyn_describe:
+	case ACT_dyn_describe_input:
+	case ACT_dyn_execute:
+	case ACT_dyn_fetch:
+	case ACT_dyn_grant:
+	case ACT_dyn_immediate:
+	case ACT_dyn_insert:
+	case ACT_dyn_open:
+	case ACT_dyn_prepare:
+	case ACT_dyn_revoke:
+	case ACT_fetch:
+	case ACT_finish:
+	case ACT_for:
+	case ACT_get_segment:
+	case ACT_get_slice:
+	case ACT_insert:
+	case ACT_loop:
+	case ACT_modify:
+	case ACT_open:
+	case ACT_prepare:
+	case ACT_procedure:
+	case ACT_put_slice:
+	case ACT_ready:
+	case ACT_release:
+	case ACT_rfinish:
+	case ACT_rollback:
+	case ACT_rollback_retain_context:
+	case ACT_s_fetch:
+	case ACT_s_start:
+	case ACT_select:
+	case ACT_store:
+	case ACT_start:
+	case ACT_update:
+	case ACT_statistics:
+		begin(column);
+	}
+
+	switch (action->act_type)
+	{
+	case ACT_alter_database:
+	case ACT_alter_domain:
+	case ACT_alter_index:
+	case ACT_alter_table:
+		gen_ddl(action, column);
+		break;
+	case ACT_any:
+		gen_any(action, column);
+		return;
+	case ACT_at_end:
+		gen_at_end(action, column);
+		return;
+	case ACT_b_declare:
+		gen_database(column);
+		gen_routine(action, column);
+		return;
+	case ACT_basedon:
+		gen_based(action, column);
+		return;
+	case ACT_blob_cancel:
+		gen_blob_close(action, (USHORT) column);
+		return;
+	case ACT_blob_close:
+		gen_blob_close(action, (USHORT) column);
+		break;
+	case ACT_blob_create:
+		gen_blob_open(action, (USHORT) column);
+		break;
+	case ACT_blob_for:
+		gen_blob_for(action, (USHORT) column);
+		return;
+	case ACT_blob_handle:
+		gen_segment(action, column);
+		return;
+	case ACT_blob_open:
+		gen_blob_open(action, (USHORT) column);
+		break;
+	case ACT_clear_handles:
+		gen_clear_handles(column);
+		break;
+	case ACT_close:
+		gen_s_end(action, column);
+		break;
+	case ACT_commit:
+		gen_trans(action, column);
+		break;
+	case ACT_commit_retain_context:
+		gen_trans(action, column);
+		break;
+	case ACT_create_database:
+		gen_create_database(action, column);
+		break;
+	case ACT_create_domain:
+	case ACT_create_generator:
+	case ACT_create_index:
+	case ACT_create_shadow:
+	case ACT_create_table:
+	case ACT_create_view:
+		gen_ddl(action, column);
+		break;
+	case ACT_cursor:
+		gen_cursor_init(action, column);
+		return;
+	case ACT_database:
+		gen_database(column);
+		return;
+	case ACT_declare_filter:
+	case ACT_declare_udf:
+		gen_ddl(action, column);
+		break;
+	case ACT_disconnect:
+		gen_finish(action, column);
+		break;
+	case ACT_drop_database:
+		gen_drop_database(action, column);
+		break;
+	case ACT_drop_domain:
+	case ACT_drop_filter:
+	case ACT_drop_index:
+	case ACT_drop_shadow:
+	case ACT_drop_table:
+	case ACT_drop_udf:
+	case ACT_drop_view:
+		gen_ddl(action, column);
+		break;
+	case ACT_dyn_close:
+		gen_dyn_close(action, column);
+		break;
+	case ACT_dyn_cursor:
+		gen_dyn_declare(action, column);
+		break;
+	case ACT_dyn_describe:
+		gen_dyn_describe(action, column, false);
+		break;
+	case ACT_dyn_describe_input:
+		gen_dyn_describe(action, column, true);
+		break;
+	case ACT_dyn_execute:
+		gen_dyn_execute(action, column);
+		break;
+	case ACT_dyn_fetch:
+		gen_dyn_fetch(action, column);
+		break;
+	case ACT_dyn_grant:
+		gen_ddl(action, column);
+		break;
+	case ACT_dyn_immediate:
+		gen_dyn_immediate(action, column);
+		break;
+	case ACT_dyn_insert:
+		gen_dyn_insert(action, column);
+		break;
+	case ACT_dyn_open:
+		gen_dyn_open(action, column);
+		break;
+	case ACT_dyn_prepare:
+		gen_dyn_prepare(action, column);
+		break;
+	case ACT_dyn_revoke:
+		gen_ddl(action, column);
+		break;
+	case ACT_endblob:
+		gen_blob_end(action, (USHORT) column);
+		return;
+	case ACT_enderror:
+		column += INDENT;
+		endp(column);
+		column -= INDENT;
+		break;
+	case ACT_endfor:
+		gen_endfor(action, column);
+		break;
+	case ACT_endmodify:
+		gen_emodify(action, column);
+		break;
+	case ACT_endstore:
+		gen_estore(action, column);
+		break;
+	case ACT_erase:
+		gen_erase(action, column);
+		return;
+	case ACT_event_init:
+		gen_event_init(action, column);
+		break;
+	case ACT_event_wait:
+		gen_event_wait(action, column);
+		break;
+	case ACT_fetch:
+		gen_fetch(action, column);
+		break;
+	case ACT_finish:
+		gen_finish(action, column);
+		break;
+	case ACT_for:
+		gen_for(action, column);
+		return;
+	case ACT_function:
+		gen_function(action, column);
+		return;
+	case ACT_get_segment:
+		gen_get_segment(action, column);
+		break;
+	case ACT_get_slice:
+		gen_slice(action, 0, column);
+		break;
+	case ACT_hctef:
+		endp(column);
+		break;
+	case ACT_insert:
+		gen_s_start(action, column);
+		break;
+	case ACT_loop:
+		gen_loop(action, column);
+		break;
+	case ACT_on_error:
+		gen_on_error(action, (USHORT) column);
+		return;
+	case ACT_open:
+		gen_s_start(action, column);
+		break;
+	case ACT_prepare:
+		gen_trans(action, column);
+		break;
+	case ACT_procedure:
+		gen_procedure(action, column);
+		break;
+	case ACT_put_segment:
+		gen_put_segment(action, column);
+		break;
+	case ACT_put_slice:
+		gen_slice(action, 0, column);
+		break;
+	case ACT_ready:
+		gen_ready(action, column);
+		break;
+	case ACT_release:
+		gen_release(action, column);
+		break;
+	case ACT_rfinish:
+		gen_finish(action, column);
+		break;
+	case ACT_rollback:
+		gen_trans(action, column);
+		break;
+	case ACT_rollback_retain_context:
+		gen_trans(action, column);
+		break;
+	case ACT_routine:
+		gen_routine(action, column);
+		return;
+	case ACT_s_end:
+		gen_s_end(action, column);
+		return;
+	case ACT_s_fetch:
+		gen_s_fetch(action, column);
+		return;
+	case ACT_s_start:
+		gen_s_start(action, column);
+		break;
+	case ACT_segment:
+		gen_segment(action, column);
+		return;
+	case ACT_segment_length:
+		gen_segment(action, column);
+		return;
+	case ACT_select:
+		gen_select(action, column);
+		break;
+	case ACT_sql_dialect:
+		gpreGlob.sw_sql_dialect = ((set_dialect*) action->act_object)->sdt_dialect;
+		return;
+	case ACT_start:
+		gen_t_start(action, column);
+		break;
+	case ACT_statistics:
+		gen_ddl(action, column);
+		break;
+	case ACT_store:
+		gen_store(action, column);
+		return;
+	case ACT_store2:
+		gen_return_value(action, column);
+		return;
+	case ACT_type_number:
+		gen_type(action, column);
+		return;
+	case ACT_update:
+		gen_update(action, column);
+		break;
+	case ACT_variable:
+		gen_variable(action, column);
+		return;
+	default:
+		return;
+	}
+
+	// Put in a trailing brace for those actions still with us
+
+	if (action->act_flags & ACT_sql)
+		gen_whenever(action->act_whenever, column);
+
+	if (action->act_error)
+		fprintf(gpreGlob.out_file, ";");
+	else
+		endp(column);
+}
+
+
+//____________________________________________________________
+//
+//		Align output to a specific column for output.  If the
+//		column is negative, don't do anything.
+//
+
+static void align( int column)
+{
+	if (column < 0)
+		return;
+
+	putc('\n', gpreGlob.out_file);
+
+	for (int i = column / 8; i; --i)
+		putc('\t', gpreGlob.out_file);
+
+	for (int i = column % 8; i; --i)
+		putc(' ', gpreGlob.out_file);
+}
+
+
+//____________________________________________________________
+//
+//		Build an assignment from a host language variable to
+//		a port variable.   The string assignments are a little
+//		hairy because the normal mode is varying (null
+//		terminated) strings, but the fixed subtype makes the
+//		string a byte stream.  Furthering the complication, a
+//		single character byte stream is handled as a single byte,
+//		meaining that it is the byte, not the address of the
+//		byte.
+//
+
+static void asgn_from( const act* action, ref* reference, int column)
+{
+	TEXT name[MAX_REF_SIZE], variable[MAX_REF_SIZE], temp[MAX_REF_SIZE];
+
+	for (; reference; reference = reference->ref_next)
+	{
+		bool slice_flag = false;
+		const gpre_fld* field = reference->ref_field;
+		if (field->fld_array_info)
+		{
+		    act* slice_action;
+		    ref* source = reference->ref_friend;
+			if (source && (slice_action = (act*) source->ref_slice) && slice_action->act_object)
+			{
+				slice_flag = true;
+				slice_action->act_type = ACT_put_slice;
+				gen_slice(slice_action, 0, column);
+			}
+			else if (!(reference->ref_flags & REF_array_elem))
+			{
+				printa(column, "%s = fbBlobNull;", gen_name(name, reference, true));
+				gen_get_or_put_slice(action, reference, false, column);
+				continue;
+			}
+		}
+		if (!reference->ref_source && !reference->ref_value && !slice_flag)
+			continue;
+		align(column);
+		gen_name(variable, reference, true);
+		const TEXT* value;
+		if (slice_flag)
+			value = gen_name(temp, reference->ref_friend, true);
+		else if (reference->ref_source)
+			value = gen_name(temp, reference->ref_source, true);
+		else
+			value = reference->ref_value;
+
+		if (!slice_flag && reference->ref_value && (reference->ref_flags & REF_array_elem))
+		{
+			field = field->fld_array;
+		}
+		if (field && field->fld_dtype <= dtype_cstring)
+		{
+			if (field->fld_sub_type == 1)
+				if (field->fld_length == 1)
+					fprintf(gpreGlob.out_file, "%s = %s;", variable, value);
+				else
+					fprintf(gpreGlob.out_file, "isc_ftof (%s, sizeof(%s), %s, %d);", value,
+							   value, variable, field->fld_length);
+			else if (field->fld_flags & FLD_dbkey)
+				fprintf(gpreGlob.out_file, "isc_ftof (%s, %d, %s, %d);", value,
+						   field->fld_length, variable, field->fld_length);
+			else if (gpreGlob.sw_cstring)
+				fprintf(gpreGlob.out_file, isLangCpp(gpreGlob.sw_language) ?
+							"isc_vtov ((const char*) %s, (char*) %s, %d);" :
+							"isc_vtov ((char*) %s, (char*) %s, %d);",
+						value, variable, field->fld_length);
+			else if (reference->ref_source)
+				fprintf(gpreGlob.out_file, "isc_ftof (%s, sizeof(%s), %s, %d);",
+						   value, value, variable, field->fld_length);
+			else
+				fprintf(gpreGlob.out_file, "isc_vtof (%s, %s, %d);",
+						   value, variable, field->fld_length);
+		}
+		else if (!reference->ref_master || (reference->ref_flags & REF_literal))
+		{
+			fprintf(gpreGlob.out_file, "%s = %s;", variable, value);
+		}
+		else
+		{
+			fprintf(gpreGlob.out_file, "if (%s < 0)", value);
+			align(column + 4);
+			fprintf(gpreGlob.out_file, "%s = -1;", variable);
+			align(column);
+			fprintf(gpreGlob.out_file, "else");
+			align(column + 4);
+			fprintf(gpreGlob.out_file, "%s = 0;", variable);
+		}
+	}
+}
+
+//____________________________________________________________
+//
+//		Build an assignment to a host language variable from
+//		a port variable.
+//
+
+static void asgn_to( const act* action, ref* reference, int column)
+{
+	char s[MAX_REF_SIZE];
+
+	ref* source = reference->ref_friend;
+	const gpre_fld* field = source->ref_field;
+
+	if (field)
+	{
+	    act* slice_action;
+		if (field->fld_array_info && (slice_action = (act*) source->ref_slice))
+		{
+			source->ref_value = reference->ref_value;
+			if (slice_action->act_object)
+	...
 
[truncated message content] | 
| 
      
      
      From: <fir...@us...> - 2014-01-16 00:31:51
       | 
| Revision: 59040
          http://sourceforge.net/p/firebird/code/59040
Author:   firebirds
Date:     2014-01-16 00:31:47 +0000 (Thu, 16 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-15 13:02:08 UTC (rev 59039)
+++ firebird/trunk/ChangeLog	2014-01-16 00:31:47 UTC (rev 59040)
@@ -1,3 +1,44 @@
+ 2014-01-15 13:02  alexpeshkoff 
+   M builds/posix/make.rules
+   M builds/posix/prefix.linux_amd64
+   M src/auth/SecureRemotePassword/Message.h
+   M src/common/MsgMetadata.cpp
+   M src/common/MsgMetadata.h
+   M src/common/classes/ImplementHelper.h
+   M src/common/classes/TempFile.cpp
+   M src/common/classes/TempFile.h
+   M src/gpre/boot/gpre_meta_boot.cpp
+   M src/gpre/gpre.cpp
+   M src/gpre/gpreswi.h
+   M src/gpre/lang_proto.h
+   A src/gpre/obj_cxx.cpp
+   M src/include/firebird/Interface.h
+   M src/include/firebird/Provider.h
+   A src/include/firebird/Utl.h
+   M src/isql/extract.epp
+   M src/isql/isql.epp
+   M src/isql/isql.h
+   M src/isql/isql_proto.h
+   M src/isql/show.epp
+   M src/isql/show_proto.h
+   M src/msgs/facilities2.sql
+   M src/msgs/messages2.sql
+   M src/remote/client/BlrFromMessage.cpp
+   M src/yvalve/MasterImplementation.cpp
+   M src/yvalve/MasterImplementation.h
+   M src/yvalve/perf.cpp
+   M src/yvalve/prepa_proto.h
+   M src/yvalve/preparse.cpp
+   M src/yvalve/utl.cpp
+   M src/yvalve/utl_proto.h
+   M src/yvalve/why.cpp
+   M src/yvalve/why_proto.h
+Implemented CORE-4317: Make ISQL use new object API with 32-bit length for object sizes (messages, SQL statements, etc.)
+Implementation also includes changes in GPRE, but this utility is not complete - only commands, used in ISQL,
+are working in code generator for new API.
+New interface IUtl is added - it performs tasks, related with database objects (attachment, transaction, etc.),
+but not requiring routing in YValve, i.e. client only tasks.
+
  2014-01-14 15:03  asfernandes 
    M src/dsql/DdlNodes.epp
    M src/dsql/ExprNodes.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-15 13:02:08 UTC (rev 59039)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-16 00:31:47 UTC (rev 59040)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30837
+  FORMAL BUILD NUMBER:30838
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30837"
-#define FILE_VER_STRING "WI-T3.0.0.30837"
-#define LICENSE_VER_STRING "WI-T3.0.0.30837"
-#define FILE_VER_NUMBER 3, 0, 0, 30837
+#define PRODUCT_VER_STRING "3.0.0.30838"
+#define FILE_VER_STRING "WI-T3.0.0.30838"
+#define LICENSE_VER_STRING "WI-T3.0.0.30838"
+#define FILE_VER_NUMBER 3, 0, 0, 30838
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30837"
+#define FB_BUILD_NO "30838"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-15 13:02:08 UTC (rev 59039)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-16 00:31:47 UTC (rev 59040)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30837
+BuildNum=30838
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <hv...@us...> - 2014-01-16 11:41:51
       | 
| Revision: 59041
          http://sourceforge.net/p/firebird/code/59041
Author:   hvlad
Date:     2014-01-16 11:41:46 +0000 (Thu, 16 Jan 2014)
Log Message:
-----------
Adjusted MSVC10 build. 
Modified Paths:
--------------
    firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj
    firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters
    firebird/trunk/builds/win32/preprocess.bat
    firebird/trunk/src/common/utils.cpp
    firebird/trunk/src/common/utils_proto.h
    firebird/trunk/src/gpre/obj_cxx.cpp
    firebird/trunk/src/yvalve/MasterImplementation.cpp
    firebird/trunk/src/yvalve/perf.cpp
Modified: firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj
===================================================================
--- firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj	2014-01-16 11:41:46 UTC (rev 59041)
@@ -202,6 +202,7 @@
     <ClCompile Include="..\..\..\src\gpre\languages\rmc.cpp" />
     <ClCompile Include="..\..\..\src\gpre\movg.cpp" />
     <ClCompile Include="..\..\..\src\gpre\msc.cpp" />
+    <ClCompile Include="..\..\..\src\gpre\obj_cxx.cpp" />
     <ClCompile Include="..\..\..\src\gpre\par.cpp" />
     <ClCompile Include="..\..\..\src\gpre\pat.cpp" />
     <ClCompile Include="..\..\..\src\gpre\sqe.cpp" />
Modified: firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters
===================================================================
--- firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters	2014-01-16 11:41:46 UTC (rev 59041)
@@ -75,6 +75,9 @@
     <ClCompile Include="..\..\..\src\gpre\languages\rmc.cpp">
       <Filter>languages</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\..\src\gpre\obj_cxx.cpp">
+      <Filter>source</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\src\gpre\words.h">
Modified: firebird/trunk/builds/win32/preprocess.bat
===================================================================
--- firebird/trunk/builds/win32/preprocess.bat	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/builds/win32/preprocess.bat	2014-01-16 11:41:46 UTC (rev 59041)
@@ -59,7 +59,7 @@
 @for %%i in (metd, DdlNodes, PackageNodes) do @call :PREPROCESS dsql %%i -gds_cxx
 @for %%i in (gpre_meta) do @call :PREPROCESS gpre/std %%i
 @for %%i in (backup, restore, OdsDetection) do @call :PREPROCESS burp %%i
-@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i
+@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx
 @for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i
 
 @set GPRE=%FB_BIN_DIR%\gpre_boot
@@ -85,7 +85,7 @@
 @for %%i in (codes) do @call :PREPROCESS misc %%i
 @for %%i in (build_file) do @call :PREPROCESS msgs %%i
 @for %%i in (help, meta, proc, show) do @call :PREPROCESS qli %%i
-@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i
+@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx
 @for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i
 @for %%i in (stats) do @call :PREPROCESS utilities %%i
 @goto :EOF
Modified: firebird/trunk/src/common/utils.cpp
===================================================================
--- firebird/trunk/src/common/utils.cpp	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/src/common/utils.cpp	2014-01-16 11:41:46 UTC (rev 59041)
@@ -846,6 +846,34 @@
 #endif
 }
 
+
+// returns system and user time in milliseconds that process runs 
+void get_process_times(SINT64 &userTime, SINT64 &sysTime)
+{
+#if defined(WIN_NT)
+	FILETIME utime, stime;
+	if (GetProcessTimes(GetCurrentProcess(), NULL, NULL, &stime, &utime))
+	{
+		LARGE_INTEGER lint;
+
+		lint.HighPart = stime.dwHighDateTime;
+		lint.LowPart = stime.dwLowDateTime;
+		sysTime = lint.QuadPart / 10000;
+
+		lint.HighPart = utime.dwHighDateTime;
+		lint.LowPart = utime.dwLowDateTime;
+		userTime = lint.QuadPart / 10000;
+	}
+	else
+	{
+		sysTime = userTime = 0;
+	}
+#else
+	implement me !!!
+#endif
+}
+
+
 void exactNumericToStr(SINT64 value, int scale, Firebird::string& target, bool append)
 {
 	if (value == 0)
Modified: firebird/trunk/src/common/utils_proto.h
===================================================================
--- firebird/trunk/src/common/utils_proto.h	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/src/common/utils_proto.h	2014-01-16 11:41:46 UTC (rev 59041)
@@ -138,6 +138,8 @@
 	// Returns frequency of performance counter in Hz
 	SINT64 query_performance_frequency();
 
+	void get_process_times(SINT64 &userTime, SINT64 &sysTime);
+
 	void exactNumericToStr(SINT64 value, int scale, Firebird::string& target, bool append = false);
 
 	enum FB_DIR {
Modified: firebird/trunk/src/gpre/obj_cxx.cpp
===================================================================
--- firebird/trunk/src/gpre/obj_cxx.cpp	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/src/gpre/obj_cxx.cpp	2014-01-16 11:41:46 UTC (rev 59041)
@@ -3789,7 +3789,7 @@
 	// generate the attach database itself
 
 	const TEXT* dpb_size_ptr = "0";
-	const TEXT* dpb_ptr = "(char*) 0";
+	const TEXT* dpb_ptr = "NULL";
 
 	align(column);
 	if (filename)
Modified: firebird/trunk/src/yvalve/MasterImplementation.cpp
===================================================================
--- firebird/trunk/src/yvalve/MasterImplementation.cpp	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/src/yvalve/MasterImplementation.cpp	2014-01-16 11:41:46 UTC (rev 59041)
@@ -674,9 +674,10 @@
 
 namespace Why {
 
+	extern UtlInterface utlInterface;		// Implemented in utl.cpp
+
 	Firebird::IUtl* FB_CARG MasterImplementation::getUtlInterface()
 	{
-		extern UtlInterface utlInterface;		// Implemented in utl.cpp
 		return &utlInterface;
 	}
 
Modified: firebird/trunk/src/yvalve/perf.cpp
===================================================================
--- firebird/trunk/src/yvalve/perf.cpp	2014-01-16 00:31:47 UTC (rev 59040)
+++ firebird/trunk/src/yvalve/perf.cpp	2014-01-16 11:41:46 UTC (rev 59041)
@@ -459,6 +459,10 @@
 		UCHAR info[TOTAL_COUNTERS];		// will never use all, but do not care about few bytes
 		UCHAR* pinfo = info;
 
+#ifdef WIN_NT
+#define strtok_r strtok_s
+#endif
+
 		for (char* nm = strtok_r(set, delim, &save); nm; nm = strtok_r(NULL, delim, &save))
 		{
 			Firebird::NoCaseString name(nm);
@@ -483,14 +487,20 @@
 found:		;
 		}
 
+#ifdef WIN_NT
+#undef strtok_r 
+#endif
+
 		// Force reset counters
 		memset(counters, 0, n * sizeof(ISC_INT64));
 
 		// Fill time counters
 		if (typeMask & CNT_TIMER)
 		{
-			struct tms tus;
-			clock_t tr = times(&tus);
+			SINT64 tr = fb_utils::query_performance_counter() * 1000 / fb_utils::query_performance_frequency();
+			SINT64 uTime, sTime;
+			fb_utils::get_process_times(uTime, sTime);
+
 			for (unsigned i = 0; i < TOTAL_COUNTERS; ++i)
 			{
 				if (cntLink[i] == ~0u)
@@ -504,10 +514,10 @@
 						v = tr;
 						break;
 					case CNT_TIME_USER:
-						v = tus.tms_utime;
+						v = uTime;
 						break;
 					case CNT_TIME_SYSTEM:
-						v = tus.tms_stime;
+						v = sTime;
 						break;
 					default:
 						fb_assert(false);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-17 00:30:33
       | 
| Revision: 59045
          http://sourceforge.net/p/firebird/code/59045
Author:   firebirds
Date:     2014-01-17 00:30:31 +0000 (Fri, 17 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-16 14:52:18 UTC (rev 59044)
+++ firebird/trunk/ChangeLog	2014-01-17 00:30:31 UTC (rev 59045)
@@ -1,3 +1,32 @@
+ 2014-01-16 14:52  asfernandes 
+   M src/common/classes/TempFile.cpp
+   M src/gpre/gpreswi.h
+   M src/isql/extract.epp
+   M src/isql/isql.epp
+   M src/isql/isql.h
+Misc.
+
+ 2014-01-16 13:44  alexpeshkoff 
+   M src/isql/isql.epp
+Print 3 digits in times + fix for windows
+
+ 2014-01-16 13:07  alexpeshkoff 
+   M src/common/utils.cpp
+   M src/isql/isql.epp
+   M src/yvalve/perf.cpp
+Fixed posix build
+
+ 2014-01-16 11:41  hvlad 
+   M builds/win32/msvc10/gpre_common.vcxproj
+   M builds/win32/msvc10/gpre_common.vcxproj.filters
+   M builds/win32/preprocess.bat
+   M src/common/utils.cpp
+   M src/common/utils_proto.h
+   M src/gpre/obj_cxx.cpp
+   M src/yvalve/MasterImplementation.cpp
+   M src/yvalve/perf.cpp
+Adjusted MSVC10 build. 
+
  2014-01-15 13:02  alexpeshkoff 
    M builds/posix/make.rules
    M builds/posix/prefix.linux_amd64
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-16 14:52:18 UTC (rev 59044)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-17 00:30:31 UTC (rev 59045)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30838
+  FORMAL BUILD NUMBER:30842
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30838"
-#define FILE_VER_STRING "WI-T3.0.0.30838"
-#define LICENSE_VER_STRING "WI-T3.0.0.30838"
-#define FILE_VER_NUMBER 3, 0, 0, 30838
+#define PRODUCT_VER_STRING "3.0.0.30842"
+#define FILE_VER_STRING "WI-T3.0.0.30842"
+#define LICENSE_VER_STRING "WI-T3.0.0.30842"
+#define FILE_VER_NUMBER 3, 0, 0, 30842
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30838"
+#define FB_BUILD_NO "30842"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-16 14:52:18 UTC (rev 59044)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-17 00:30:31 UTC (rev 59045)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30838
+BuildNum=30842
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-18 00:33:09
       | 
| Revision: 59053
          http://sourceforge.net/p/firebird/code/59053
Author:   firebirds
Date:     2014-01-18 00:33:05 +0000 (Sat, 18 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-17 15:05:19 UTC (rev 59052)
+++ firebird/trunk/ChangeLog	2014-01-18 00:33:05 UTC (rev 59053)
@@ -1,3 +1,41 @@
+ 2014-01-17 15:05  asfernandes 
+   M src/isql/show.epp
+   M src/remote/server/server.cpp
+   M src/yvalve/perf.cpp
+   M src/yvalve/utl.cpp
+Misc. and fixes.
+
+ 2014-01-17 14:53  dimitr 
+   M src/jrd/opt.cpp
+Placed booleans closer to the retrieval for limited navigational scans. Hopefully, this shouldn't affect anything else.
+
+ 2014-01-17 14:17  alexpeshkoff 
+   M src/jrd/blb_proto.h
+Cleanup
+
+ 2014-01-17 14:09  alexpeshkoff 
+   M src/isql/isql.epp
+Misc postfixes for ISQL, thanks to Adriano
+
+ 2014-01-17 13:14  alexpeshkoff 
+   M src/remote/server/server.cpp
+misc
+
+ 2014-01-17 12:33  alexpeshkoff 
+   M src/dsql/dsql.cpp
+   M src/include/firebird/Provider.h
+   M src/jrd/EngineInterface.h
+   M src/jrd/jrd.cpp
+   M src/remote/client/interface.cpp
+   M src/remote/server/server.cpp
+   M src/yvalve/YObjects.h
+   M src/yvalve/why.cpp
+Fixed CORE-4286: "Statement already has a cursor assigned" error when trying to execute another SQL statement using different cursor name. Moved method setCursorName() from IStatement to IResultSet - it was my fault when splitting cursor from statement.
+
+ 2014-01-17 12:19  dimitr 
+   M src/dsql/ExprNodes.h
+Fixed CORE-4318: Predicates involving PSQL variables/parameters are not pushed inside the aggregation.
+
  2014-01-16 14:52  asfernandes 
    M src/common/classes/TempFile.cpp
    M src/gpre/gpreswi.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-17 15:05:19 UTC (rev 59052)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-18 00:33:05 UTC (rev 59053)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30842
+  FORMAL BUILD NUMBER:30849
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30842"
-#define FILE_VER_STRING "WI-T3.0.0.30842"
-#define LICENSE_VER_STRING "WI-T3.0.0.30842"
-#define FILE_VER_NUMBER 3, 0, 0, 30842
+#define PRODUCT_VER_STRING "3.0.0.30849"
+#define FILE_VER_STRING "WI-T3.0.0.30849"
+#define LICENSE_VER_STRING "WI-T3.0.0.30849"
+#define FILE_VER_NUMBER 3, 0, 0, 30849
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30842"
+#define FB_BUILD_NO "30849"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-17 15:05:19 UTC (rev 59052)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-18 00:33:05 UTC (rev 59053)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30842
+BuildNum=30849
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-20 00:28:25
       | 
| Revision: 59055
          http://sourceforge.net/p/firebird/code/59055
Author:   firebirds
Date:     2014-01-20 00:28:23 +0000 (Mon, 20 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-19 20:38:16 UTC (rev 59054)
+++ firebird/trunk/ChangeLog	2014-01-20 00:28:23 UTC (rev 59055)
@@ -1,3 +1,10 @@
+ 2014-01-19 20:38  asfernandes 
+   M src/common/utils.cpp
+   M src/jrd/jrd.cpp
+   M src/remote/server/server.cpp
+   M src/yvalve/why.cpp
+Misc.
+
  2014-01-17 15:05  asfernandes 
    M src/isql/show.epp
    M src/remote/server/server.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-19 20:38:16 UTC (rev 59054)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-20 00:28:23 UTC (rev 59055)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30849
+  FORMAL BUILD NUMBER:30850
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30849"
-#define FILE_VER_STRING "WI-T3.0.0.30849"
-#define LICENSE_VER_STRING "WI-T3.0.0.30849"
-#define FILE_VER_NUMBER 3, 0, 0, 30849
+#define PRODUCT_VER_STRING "3.0.0.30850"
+#define FILE_VER_STRING "WI-T3.0.0.30850"
+#define LICENSE_VER_STRING "WI-T3.0.0.30850"
+#define FILE_VER_NUMBER 3, 0, 0, 30850
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30849"
+#define FB_BUILD_NO "30850"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-19 20:38:16 UTC (rev 59054)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-20 00:28:23 UTC (rev 59055)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30849
+BuildNum=30850
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-21 00:32:29
       | 
| Revision: 59061
          http://sourceforge.net/p/firebird/code/59061
Author:   firebirds
Date:     2014-01-21 00:32:25 +0000 (Tue, 21 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-20 14:36:08 UTC (rev 59060)
+++ firebird/trunk/ChangeLog	2014-01-21 00:32:25 UTC (rev 59061)
@@ -1,3 +1,24 @@
+ 2014-01-20 14:36  alexpeshkoff 
+   M src/include/firebird/Utl.h
+   M src/isql/isql.epp
+   M src/isql/show.epp
+   M src/yvalve/utl.cpp
+   M src/yvalve/utl_proto.h
+Changes in IUtl, suggested by Adriano & Dmitry
+
+ 2014-01-20 13:08  alexpeshkoff 
+   A src/common/classes/AlignedBuffer.h
+   M src/isql/show.epp
+Fixed possible alignment issue
+
+ 2014-01-20 10:20  hvlad 
+   M src/jrd/trace/TraceObjects.cpp
+Fixed bug CORE-4319 : Engine crashes when trace config contains line "connection_id=NN" and we attempt to connect to non-existent database/alias
+
+ 2014-01-20 09:13  hvlad 
+   M src/common/utils.cpp
+Fixed bug CORE-4320 : Regression: isql crash when receiving statistics of execution of sql query
+
  2014-01-19 20:38  asfernandes 
    M src/common/utils.cpp
    M src/jrd/jrd.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-20 14:36:08 UTC (rev 59060)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-21 00:32:25 UTC (rev 59061)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30850
+  FORMAL BUILD NUMBER:30854
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30850"
-#define FILE_VER_STRING "WI-T3.0.0.30850"
-#define LICENSE_VER_STRING "WI-T3.0.0.30850"
-#define FILE_VER_NUMBER 3, 0, 0, 30850
+#define PRODUCT_VER_STRING "3.0.0.30854"
+#define FILE_VER_STRING "WI-T3.0.0.30854"
+#define LICENSE_VER_STRING "WI-T3.0.0.30854"
+#define FILE_VER_NUMBER 3, 0, 0, 30854
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30850"
+#define FB_BUILD_NO "30854"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-20 14:36:08 UTC (rev 59060)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-21 00:32:25 UTC (rev 59061)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30850
+BuildNum=30854
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-23 00:49:28
       | 
| Revision: 59065
          http://sourceforge.net/p/firebird/code/59065
Author:   firebirds
Date:     2014-01-23 00:49:25 +0000 (Thu, 23 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-22 11:21:51 UTC (rev 59064)
+++ firebird/trunk/ChangeLog	2014-01-23 00:49:25 UTC (rev 59065)
@@ -1,3 +1,7 @@
+ 2014-01-22 11:21  alexpeshkoff 
+   M src/isql/isql.epp
+Fixed CORE-4321: Regression: ISQL does not destroy the SQL statement
+
  2014-01-20 14:36  alexpeshkoff 
    M src/include/firebird/Utl.h
    M src/isql/isql.epp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-22 11:21:51 UTC (rev 59064)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-23 00:49:25 UTC (rev 59065)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30854
+  FORMAL BUILD NUMBER:30855
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30854"
-#define FILE_VER_STRING "WI-T3.0.0.30854"
-#define LICENSE_VER_STRING "WI-T3.0.0.30854"
-#define FILE_VER_NUMBER 3, 0, 0, 30854
+#define PRODUCT_VER_STRING "3.0.0.30855"
+#define FILE_VER_STRING "WI-T3.0.0.30855"
+#define LICENSE_VER_STRING "WI-T3.0.0.30855"
+#define FILE_VER_NUMBER 3, 0, 0, 30855
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30854"
+#define FB_BUILD_NO "30855"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-22 11:21:51 UTC (rev 59064)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-23 00:49:25 UTC (rev 59065)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30854
+BuildNum=30855
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-24 00:34:29
       | 
| Revision: 59071
          http://sourceforge.net/p/firebird/code/59071
Author:   firebirds
Date:     2014-01-24 00:34:27 +0000 (Fri, 24 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-23 18:35:29 UTC (rev 59070)
+++ firebird/trunk/ChangeLog	2014-01-24 00:34:27 UTC (rev 59071)
@@ -1,3 +1,17 @@
+ 2014-01-23 12:26  alexpeshkoff 
+   M src/common/classes/fb_tls.h
+   M src/isql/isql.epp
+Misc formattingsrc/common/classes/fb_tls.h
+
+ 2014-01-23 11:20  hvlad 
+   M src/jrd/cch.cpp
+Misc.
+
+ 2014-01-23 09:46  paulbeach 
+   M src/common/config/os/darwin/config_root.cpp
+   M src/common/os/darwin/mod_loader.cpp
+Darwin port for Firebird 3
+
  2014-01-22 11:21  alexpeshkoff 
    M src/isql/isql.epp
 Fixed CORE-4321: Regression: ISQL does not destroy the SQL statement
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-23 18:35:29 UTC (rev 59070)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-24 00:34:27 UTC (rev 59071)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30855
+  FORMAL BUILD NUMBER:30858
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30855"
-#define FILE_VER_STRING "WI-T3.0.0.30855"
-#define LICENSE_VER_STRING "WI-T3.0.0.30855"
-#define FILE_VER_NUMBER 3, 0, 0, 30855
+#define PRODUCT_VER_STRING "3.0.0.30858"
+#define FILE_VER_STRING "WI-T3.0.0.30858"
+#define LICENSE_VER_STRING "WI-T3.0.0.30858"
+#define FILE_VER_NUMBER 3, 0, 0, 30858
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30855"
+#define FB_BUILD_NO "30858"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-23 18:35:29 UTC (rev 59070)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-24 00:34:27 UTC (rev 59071)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30855
+BuildNum=30858
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-26 00:24:56
       | 
| Revision: 59076
          http://sourceforge.net/p/firebird/code/59076
Author:   firebirds
Date:     2014-01-26 00:24:53 +0000 (Sun, 26 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-25 09:05:04 UTC (rev 59075)
+++ firebird/trunk/ChangeLog	2014-01-26 00:24:53 UTC (rev 59076)
@@ -1,3 +1,7 @@
+ 2014-01-25 09:05  dimitr 
+   M src/dsql/Nodes.h
+Misc.
+
  2014-01-23 12:26  alexpeshkoff 
    M src/common/classes/fb_tls.h
    M src/isql/isql.epp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-25 09:05:04 UTC (rev 59075)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-26 00:24:53 UTC (rev 59076)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30858
+  FORMAL BUILD NUMBER:30859
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30858"
-#define FILE_VER_STRING "WI-T3.0.0.30858"
-#define LICENSE_VER_STRING "WI-T3.0.0.30858"
-#define FILE_VER_NUMBER 3, 0, 0, 30858
+#define PRODUCT_VER_STRING "3.0.0.30859"
+#define FILE_VER_STRING "WI-T3.0.0.30859"
+#define LICENSE_VER_STRING "WI-T3.0.0.30859"
+#define FILE_VER_NUMBER 3, 0, 0, 30859
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30858"
+#define FB_BUILD_NO "30859"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-25 09:05:04 UTC (rev 59075)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-26 00:24:53 UTC (rev 59076)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30858
+BuildNum=30859
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-27 00:42:05
       | 
| Revision: 59078
          http://sourceforge.net/p/firebird/code/59078
Author:   firebirds
Date:     2014-01-27 00:42:01 +0000 (Mon, 27 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-26 15:27:15 UTC (rev 59077)
+++ firebird/trunk/ChangeLog	2014-01-27 00:42:01 UTC (rev 59078)
@@ -1,3 +1,7 @@
+ 2014-01-26 15:27  dimitr 
+   M src/jrd/Optimizer.cpp
+Front-ported my recent commit re. possibly slow restore.
+
  2014-01-25 09:05  dimitr 
    M src/dsql/Nodes.h
 Misc.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-26 15:27:15 UTC (rev 59077)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-27 00:42:01 UTC (rev 59078)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30859
+  FORMAL BUILD NUMBER:30860
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30859"
-#define FILE_VER_STRING "WI-T3.0.0.30859"
-#define LICENSE_VER_STRING "WI-T3.0.0.30859"
-#define FILE_VER_NUMBER 3, 0, 0, 30859
+#define PRODUCT_VER_STRING "3.0.0.30860"
+#define FILE_VER_STRING "WI-T3.0.0.30860"
+#define LICENSE_VER_STRING "WI-T3.0.0.30860"
+#define FILE_VER_NUMBER 3, 0, 0, 30860
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30859"
+#define FB_BUILD_NO "30860"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-26 15:27:15 UTC (rev 59077)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-27 00:42:01 UTC (rev 59078)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30859
+BuildNum=30860
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <asf...@us...> - 2014-01-27 01:09:37
       | 
| Revision: 59080
          http://sourceforge.net/p/firebird/code/59080
Author:   asfernandes
Date:     2014-01-27 01:09:32 +0000 (Mon, 27 Jan 2014)
Log Message:
-----------
Fixed CORE-4322 - Engine crashes when use aggregate or window functions in recursive query. Vlad, please review.
Modified Paths:
--------------
    firebird/trunk/lang_helpers/gds_codes.ftn
    firebird/trunk/lang_helpers/gds_codes.pas
    firebird/trunk/src/dsql/DsqlCompilerScratch.cpp
    firebird/trunk/src/dsql/pass1.cpp
    firebird/trunk/src/include/gen/codetext.h
    firebird/trunk/src/include/gen/iberror.h
    firebird/trunk/src/include/gen/msgs.h
    firebird/trunk/src/include/gen/sql_code.h
    firebird/trunk/src/include/gen/sql_state.h
    firebird/trunk/src/msgs/facilities2.sql
    firebird/trunk/src/msgs/messages2.sql
    firebird/trunk/src/msgs/system_errors2.sql
Modified: firebird/trunk/lang_helpers/gds_codes.ftn
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.ftn	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/lang_helpers/gds_codes.ftn	2014-01-27 01:09:32 UTC (rev 59080)
@@ -2242,6 +2242,8 @@
       PARAMETER (GDS__dsql_grant_failed                = 336397319)
       INTEGER*4 GDS__dsql_revoke_failed              
       PARAMETER (GDS__dsql_revoke_failed               = 336397320)
+      INTEGER*4 GDS__dsql_cte_recursive_aggregate    
+      PARAMETER (GDS__dsql_cte_recursive_aggregate     = 336397321)
       INTEGER*4 GDS__gsec_cant_open_db               
       PARAMETER (GDS__gsec_cant_open_db                = 336723983)
       INTEGER*4 GDS__gsec_switches_error             
Modified: firebird/trunk/lang_helpers/gds_codes.pas
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.pas	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/lang_helpers/gds_codes.pas	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1128,6 +1128,7 @@
 	gds_dsql_alter_user_failed           = 336397318;
 	gds_dsql_grant_failed                = 336397319;
 	gds_dsql_revoke_failed               = 336397320;
+	gds_dsql_cte_recursive_aggregate     = 336397321;
 	gds_gsec_cant_open_db                = 336723983;
 	gds_gsec_switches_error              = 336723984;
 	gds_gsec_no_op_spec                  = 336723985;
Modified: firebird/trunk/src/dsql/DsqlCompilerScratch.cpp
===================================================================
--- firebird/trunk/src/dsql/DsqlCompilerScratch.cpp	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/dsql/DsqlCompilerScratch.cpp	2014-01-27 01:09:32 UTC (rev 59080)
@@ -667,8 +667,6 @@
 					Arg::Gds(isc_dsql_cte_wrong_clause) << input->alias <<
 														   Arg::Str("HAVING"));
 			}
-			// hvlad: we need also forbid any aggregate function here
-			// but for now i have no idea how to do it simple
 
 			if (!dsqlAll)
 			{
Modified: firebird/trunk/src/dsql/pass1.cpp
===================================================================
--- firebird/trunk/src/dsql/pass1.cpp	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/dsql/pass1.cpp	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1723,6 +1723,7 @@
 	string save_alias;
 	RseNode* rseNode = input->as<RseNode>();
 	const bool isRecursive = rseNode && (rseNode->dsqlFlags & RecordSourceNode::DFLAG_RECURSIVE);
+	AutoSetRestore<USHORT> autoScopeLevel(&dsqlScratch->scopeLevel, dsqlScratch->scopeLevel);
 
 	if (isRecursive)
 	{
@@ -1730,6 +1731,10 @@
 		save_alias = dsqlScratch->recursiveCtx->ctx_alias;
 
 		dsqlScratch->recursiveCtx->ctx_alias = *dsqlScratch->getNextCTEAlias();
+
+		// ASF: We need to reset the scope level to the same value found in the non-recursive
+		// part of the query, to verify usage of aggregate functions correctly. See CORE-4322.
+		dsqlScratch->scopeLevel = dsqlScratch->recursiveCtx->ctx_scope_level;
 	}
 
 	RseNode* ret = pass1_rse_impl(dsqlScratch, input, order, rows, updateLock, flags);
@@ -1877,12 +1882,34 @@
 	rse->dsqlSelectList = pass1_sel_list(dsqlScratch, selectList);
 	--dsqlScratch->inSelectList;
 
+	if (inputRse->dsqlFlags & RecordSourceNode::DFLAG_RECURSIVE)
+	{
+		if (Aggregate2Finder::find(dsqlScratch->scopeLevel, FIELD_MATCH_TYPE_EQUAL, false,
+				rse->dsqlSelectList))
+		{
+			// Recursive member of CTE cannot use aggregate function
+			ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
+					  Arg::Gds(isc_dsql_cte_recursive_aggregate));
+		}
+	}
+
 	// Process ORDER clause, if any
 	if (order)
 	{
 		++dsqlScratch->inOrderByClause;
 		rse->dsqlOrder = PASS1_sort(dsqlScratch, order, selectList);
 		--dsqlScratch->inOrderByClause;
+
+		if (inputRse->dsqlFlags & RecordSourceNode::DFLAG_RECURSIVE)
+		{
+			if (Aggregate2Finder::find(dsqlScratch->scopeLevel, FIELD_MATCH_TYPE_EQUAL, false,
+					rse->dsqlOrder))
+			{
+				// Recursive member of CTE cannot use aggregate function
+				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
+						  Arg::Gds(isc_dsql_cte_recursive_aggregate));
+			}
+		}
 	}
 
 	// A GROUP BY, HAVING, or any aggregate function in the select list
Modified: firebird/trunk/src/include/gen/codetext.h
===================================================================
--- firebird/trunk/src/include/gen/codetext.h	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/include/gen/codetext.h	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1117,6 +1117,7 @@
 	{"dsql_alter_user_failed", 336397318},
 	{"dsql_grant_failed", 336397319},
 	{"dsql_revoke_failed", 336397320},
+	{"dsql_cte_recursive_aggregate", 336397321},
 	{"gsec_cant_open_db", 336723983},
 	{"gsec_switches_error", 336723984},
 	{"gsec_no_op_spec", 336723985},
Modified: firebird/trunk/src/include/gen/iberror.h
===================================================================
--- firebird/trunk/src/include/gen/iberror.h	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/include/gen/iberror.h	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1151,6 +1151,7 @@
 const ISC_STATUS isc_dsql_alter_user_failed           = 336397318L;
 const ISC_STATUS isc_dsql_grant_failed                = 336397319L;
 const ISC_STATUS isc_dsql_revoke_failed               = 336397320L;
+const ISC_STATUS isc_dsql_cte_recursive_aggregate     = 336397321L;
 const ISC_STATUS isc_gsec_cant_open_db                = 336723983L;
 const ISC_STATUS isc_gsec_switches_error              = 336723984L;
 const ISC_STATUS isc_gsec_no_op_spec                  = 336723985L;
@@ -1252,7 +1253,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                          = 1196;
+const ISC_STATUS isc_err_max                          = 1197;
 
 #else /* c definitions */
 
@@ -2373,6 +2374,7 @@
 #define isc_dsql_alter_user_failed           336397318L
 #define isc_dsql_grant_failed                336397319L
 #define isc_dsql_revoke_failed               336397320L
+#define isc_dsql_cte_recursive_aggregate     336397321L
 #define isc_gsec_cant_open_db                336723983L
 #define isc_gsec_switches_error              336723984L
 #define isc_gsec_no_op_spec                  336723985L
@@ -2474,7 +2476,7 @@
 #define isc_trace_switch_param_miss          337182758L
 #define isc_trace_param_act_notcompat        337182759L
 #define isc_trace_mandatory_switch_miss      337182760L
-#define isc_err_max                          1196
+#define isc_err_max                          1197
 
 #endif
 
Modified: firebird/trunk/src/include/gen/msgs.h
===================================================================
--- firebird/trunk/src/include/gen/msgs.h	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/include/gen/msgs.h	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1120,6 +1120,7 @@
 	{336397318, "ALTER USER @1 failed"},		/* dsql_alter_user_failed */
 	{336397319, "GRANT failed"},		/* dsql_grant_failed */
 	{336397320, "REVOKE failed"},		/* dsql_revoke_failed */
+	{336397321, "Recursive member of CTE cannot use aggregate or window function"},		/* dsql_cte_recursive_aggregate */
 	{336723983, "unable to open database"},		/* gsec_cant_open_db */
 	{336723984, "error in switch specifications"},		/* gsec_switches_error */
 	{336723985, "no operation specified"},		/* gsec_no_op_spec */
Modified: firebird/trunk/src/include/gen/sql_code.h
===================================================================
--- firebird/trunk/src/include/gen/sql_code.h	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/include/gen/sql_code.h	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1116,6 +1116,7 @@
 	{336397318, -901}, /* 1030 dsql_alter_user_failed */
 	{336397319, -901}, /* 1031 dsql_grant_failed */
 	{336397320, -901}, /* 1032 dsql_revoke_failed */
+	{336397321, -104}, /* 1033 dsql_cte_recursive_aggregate */
 	{336723983, -901}, /*  15 gsec_cant_open_db */
 	{336723984, -901}, /*  16 gsec_switches_error */
 	{336723985, -901}, /*  17 gsec_no_op_spec */
Modified: firebird/trunk/src/include/gen/sql_state.h
===================================================================
--- firebird/trunk/src/include/gen/sql_state.h	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/include/gen/sql_state.h	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1116,6 +1116,7 @@
 	{336397318, "42000"}, // 1030 dsql_alter_user_failed
 	{336397319, "42000"}, // 1031 dsql_grant_failed
 	{336397320, "42000"}, // 1032 dsql_revoke_failed
+	{336397321, "42000"}, // 1033 dsql_cte_recursive_aggregate
 	{336723983, "00000"}, //  15 gsec_cant_open_db
 	{336723984, "00000"}, //  16 gsec_switches_error
 	{336723985, "00000"}, //  17 gsec_no_op_spec
Modified: firebird/trunk/src/msgs/facilities2.sql
===================================================================
--- firebird/trunk/src/msgs/facilities2.sql	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/msgs/facilities2.sql	2014-01-27 01:09:32 UTC (rev 59080)
@@ -10,7 +10,7 @@
 ('1996-11-07 13:39:40', 'INSTALL', 10, 1)
 ('1996-11-07 13:38:41', 'TEST', 11, 4)
 ('2012-06-23 05:40:21', 'GBAK', 12, 352)
-('2012-02-18 20:00:00', 'SQLERR', 13, 1033)
+('2014-01-26 23:00:00', 'SQLERR', 13, 1034)
 ('1996-11-07 13:38:42', 'SQLWARN', 14, 613)
 ('2006-09-10 03:04:31', 'JRD_BUGCHK', 15, 307)
 ('2014-01-13 15:41:16', 'ISQL', 17, 184)
Modified: firebird/trunk/src/msgs/messages2.sql
===================================================================
--- firebird/trunk/src/msgs/messages2.sql	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/msgs/messages2.sql	2014-01-27 01:09:32 UTC (rev 59080)
@@ -2551,6 +2551,7 @@
 ('dsql_alter_user_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1030, NULL, 'ALTER USER @1 failed', NULL, NULL);
 ('dsql_grant_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1031, NULL, 'GRANT failed', NULL, NULL);
 ('dsql_revoke_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1032, NULL, 'REVOKE failed', NULL, NULL);
+('dsql_cte_recursive_aggregate', 'pass1_rse_impl', 'dsql.cpp', NULL, 13, 1033, NULL, 'Recursive member of CTE cannot use aggregate or window function', NULL, NULL);
 -- SQLWARN
 (NULL, NULL, NULL, NULL, 14, 100, NULL, 'Row not found for fetch, update or delete, or the result of a query is an empty table.', NULL, NULL);
 (NULL, NULL, NULL, NULL, 14, 101, NULL, 'segment buffer length shorter than expected', NULL, NULL);
Modified: firebird/trunk/src/msgs/system_errors2.sql
===================================================================
--- firebird/trunk/src/msgs/system_errors2.sql	2014-01-27 01:09:05 UTC (rev 59079)
+++ firebird/trunk/src/msgs/system_errors2.sql	2014-01-27 01:09:32 UTC (rev 59080)
@@ -1110,6 +1110,7 @@
 (-901, '42', '000', 13, 1030, 'dsql_alter_user_failed', NULL, NULL);
 (-901, '42', '000', 13, 1031, 'dsql_grant_failed', NULL, NULL);
 (-901, '42', '000', 13, 1032, 'dsql_revoke_failed', NULL, NULL);
+(-104, '42', '000', 13, 1033, 'dsql_cte_recursive_aggregate', NULL, NULL)
 -- GSEC
 (-901, '00', '000', 18, 15, 'gsec_cant_open_db', NULL, NULL)
 (-901, '00', '000', 18, 16, 'gsec_switches_error', NULL, NULL)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-28 00:50:23
       | 
| Revision: 59083
          http://sourceforge.net/p/firebird/code/59083
Author:   firebirds
Date:     2014-01-28 00:50:20 +0000 (Tue, 28 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-27 16:47:43 UTC (rev 59082)
+++ firebird/trunk/ChangeLog	2014-01-28 00:50:20 UTC (rev 59083)
@@ -1,3 +1,33 @@
+ 2014-01-27 16:47  alexpeshkoff 
+   M src/include/firebird/Utl.h
+   M src/isql/show.epp
+   M src/yvalve/utl.cpp
+   M src/yvalve/utl_proto.h
+Renamed it once more
+
+ 2014-01-27 07:14  alexpeshkoff 
+   M doc/sql.extensions/README.user_management
+Doc enhancement
+
+ 2014-01-27 01:09  asfernandes 
+   M lang_helpers/gds_codes.ftn
+   M lang_helpers/gds_codes.pas
+   M src/dsql/DsqlCompilerScratch.cpp
+   M src/dsql/pass1.cpp
+   M src/include/gen/codetext.h
+   M src/include/gen/iberror.h
+   M src/include/gen/msgs.h
+   M src/include/gen/sql_code.h
+   M src/include/gen/sql_state.h
+   M src/msgs/facilities2.sql
+   M src/msgs/messages2.sql
+   M src/msgs/system_errors2.sql
+Fixed CORE-4322 - Engine crashes when use aggregate or window functions in recursive query. Vlad, please review.
+
+ 2014-01-27 01:09  asfernandes 
+   M src/jrd/idx.cpp
+Misc.
+
  2014-01-26 15:27  dimitr 
    M src/jrd/Optimizer.cpp
 Front-ported my recent commit re. possibly slow restore.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-27 16:47:43 UTC (rev 59082)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-28 00:50:20 UTC (rev 59083)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30860
+  FORMAL BUILD NUMBER:30864
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30860"
-#define FILE_VER_STRING "WI-T3.0.0.30860"
-#define LICENSE_VER_STRING "WI-T3.0.0.30860"
-#define FILE_VER_NUMBER 3, 0, 0, 30860
+#define PRODUCT_VER_STRING "3.0.0.30864"
+#define FILE_VER_STRING "WI-T3.0.0.30864"
+#define LICENSE_VER_STRING "WI-T3.0.0.30864"
+#define FILE_VER_NUMBER 3, 0, 0, 30864
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30860"
+#define FB_BUILD_NO "30864"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-27 16:47:43 UTC (rev 59082)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-28 00:50:20 UTC (rev 59083)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30860
+BuildNum=30864
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-30 00:45:07
       | 
| Revision: 59087
          http://sourceforge.net/p/firebird/code/59087
Author:   firebirds
Date:     2014-01-30 00:45:01 +0000 (Thu, 30 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-29 15:36:09 UTC (rev 59086)
+++ firebird/trunk/ChangeLog	2014-01-30 00:45:01 UTC (rev 59087)
@@ -1,3 +1,11 @@
+ 2014-01-29 15:36  asfernandes 
+   M src/jrd/UserManagement.cpp
+Fixed CORE-4301 - Non-ASCII data in SEC$USERS is not read correctly.
+
+ 2014-01-29 15:35  asfernandes 
+   M src/dsql/parse.y
+Misc.
+
  2014-01-27 16:47  alexpeshkoff 
    M src/include/firebird/Utl.h
    M src/isql/show.epp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-29 15:36:09 UTC (rev 59086)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-30 00:45:01 UTC (rev 59087)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30864
+  FORMAL BUILD NUMBER:30866
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30864"
-#define FILE_VER_STRING "WI-T3.0.0.30864"
-#define LICENSE_VER_STRING "WI-T3.0.0.30864"
-#define FILE_VER_NUMBER 3, 0, 0, 30864
+#define PRODUCT_VER_STRING "3.0.0.30866"
+#define FILE_VER_STRING "WI-T3.0.0.30866"
+#define LICENSE_VER_STRING "WI-T3.0.0.30866"
+#define FILE_VER_NUMBER 3, 0, 0, 30866
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30864"
+#define FB_BUILD_NO "30866"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-29 15:36:09 UTC (rev 59086)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-30 00:45:01 UTC (rev 59087)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30864
+BuildNum=30866
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-01-31 00:27:04
       | 
| Revision: 59091
          http://sourceforge.net/p/firebird/code/59091
Author:   firebirds
Date:     2014-01-31 00:26:57 +0000 (Fri, 31 Jan 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-30 14:53:19 UTC (rev 59090)
+++ firebird/trunk/ChangeLog	2014-01-31 00:26:57 UTC (rev 59091)
@@ -1,3 +1,11 @@
+ 2014-01-30 14:52  alexpeshkoff 
+   M src/qli/exe.cpp
+Fixed CORE-4327: Error in QLI when copying NULL blobs between databases
+
+ 2014-01-30 09:11  alexpeshkoff 
+   M src/dsql/parse.y
+Fixed CORE-4326: Keyword SET should not be required in ALTER USER statement
+
  2014-01-29 15:36  asfernandes 
    M src/jrd/UserManagement.cpp
 Fixed CORE-4301 - Non-ASCII data in SEC$USERS is not read correctly.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-30 14:53:19 UTC (rev 59090)
+++ firebird/trunk/src/jrd/build_no.h	2014-01-31 00:26:57 UTC (rev 59091)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30866
+  FORMAL BUILD NUMBER:30868
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30866"
-#define FILE_VER_STRING "WI-T3.0.0.30866"
-#define LICENSE_VER_STRING "WI-T3.0.0.30866"
-#define FILE_VER_NUMBER 3, 0, 0, 30866
+#define PRODUCT_VER_STRING "3.0.0.30868"
+#define FILE_VER_STRING "WI-T3.0.0.30868"
+#define LICENSE_VER_STRING "WI-T3.0.0.30868"
+#define FILE_VER_NUMBER 3, 0, 0, 30868
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30866"
+#define FB_BUILD_NO "30868"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-30 14:53:19 UTC (rev 59090)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-01-31 00:26:57 UTC (rev 59091)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30866
+BuildNum=30868
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <ale...@us...> - 2014-01-31 14:43:28
       | 
| Revision: 59094
          http://sourceforge.net/p/firebird/code/59094
Author:   alexpeshkoff
Date:     2014-01-31 14:43:25 +0000 (Fri, 31 Jan 2014)
Log Message:
-----------
Misc enhancements in .conf parser and *.conf.in files
Modified Paths:
--------------
    firebird/trunk/builds/install/misc/databases.conf.in
    firebird/trunk/builds/install/misc/firebird.conf.in
    firebird/trunk/src/common/config/config_file.cpp
    firebird/trunk/src/common/config/config_file.h
    firebird/trunk/src/common/os/path_utils.h
    firebird/trunk/src/common/os/posix/path_utils.cpp
    firebird/trunk/src/common/os/win32/path_utils.cpp
Modified: firebird/trunk/builds/install/misc/databases.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/databases.conf.in	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/builds/install/misc/databases.conf.in	2014-01-31 14:43:25 UTC (rev 59094)
@@ -17,14 +17,14 @@
 #
 # Example Database:
 #
-employee.fdb = $(dir_sampledb)/employee.fdb
-employee = $(dir_sampledb)/employee.fdb
+employee.fdb = $(dir_sampleDb)/employee.fdb
+employee = $(dir_sampleDb)/employee.fdb
 
 #
 # Master security database specific setup.
 # Do not remove it until you understand well what are you doing!
 #
-security.db = $(root)/security3.fdb
+security.db = $(dir_secDb)/security3.fdb
 {
 	RemoteAccess = false
 }
Modified: firebird/trunk/builds/install/misc/firebird.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/firebird.conf.in	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/builds/install/misc/firebird.conf.in	2014-01-31 14:43:25 UTC (rev 59094)
@@ -58,18 +58,20 @@
 # ------------------
 # There is a number of predefined macro commands, that can be used in config
 # files where directory name is needed. They are available using $(name) syntax.
-# The complete list of the as follows:
+# The complete list of them as follows:
 #	root - root directory of firebird instance
 #	install - directory where firebird is installed
 #	this - directory where current configuration file is located
 #	dir_conf - directory where firebird.conf and databases.conf are located
-#	dir_secdb - directory where default security database is located
+#	dir_secDb - directory where default security database is located
 #	dir_plugins - directory where plugins are located
 #	dir_udf - directory where UDFs are located by default
 #	dir_sample - directory where samples are located
-#	dir_sampledb - directory where sample DB (employee.fdb) is located
+#	dir_sampleDb - directory where sample DB (employee.fdb) is located
 #	dir_intl - directory where international modules are located
 #	dir_msg - directory where messages file (firebird.msg) is located
+# Like the rest of config internals macros are case-insensitive.
+# Capital letters here are used only for better human readability.
 #
 #
 # Includes
@@ -121,6 +123,24 @@
 
 
 # ----------------------------
+# Ability to access databases remotely
+#
+# RemoteAccess may be true or false (1/0, Yes/No) - it's boolean value.
+# By default RemoteAccess to all databases except security DB is enabled.
+# If you plan to use more than one dedicated security database it's
+# recommended to disable remote access to them in databases.conf.
+# However (as an additional method to have secure enhanced firebird
+# installation) one can disable remote access globally and re-enable
+# in databases.conf only for specific databases.
+#
+# Per-database configurable.
+#
+# Type: boolean
+#
+#RemoteAccess = true
+
+
+# ----------------------------
 # External File Paths/Directories
 #
 # ExternalFileAccess may be None, Full or Restrict. If you choose
@@ -727,7 +747,7 @@
 #
 # Type: string (pathname)
 #
-#SecurityDatabase = $(root)/security3.fdb
+#SecurityDatabase = $(dir_secDb)/security3.fdb
 
 
 # ==============================
Modified: firebird/trunk/src/common/config/config_file.cpp
===================================================================
--- firebird/trunk/src/common/config/config_file.cpp	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/src/common/config/config_file.cpp	2014-01-31 14:43:25 UTC (rev 59094)
@@ -262,7 +262,7 @@
  *	Parse line, taking quotes into account
  */
 
-ConfigFile::LineType ConfigFile::parseLine(const char* fileName, const String& input, KeyType& key, String& value)
+ConfigFile::LineType ConfigFile::parseLine(const char* fileName, const String& input, Parameter& par)
 {
 	int inString = 0;
 	String::size_type valStart = 0;
@@ -276,7 +276,7 @@
 		switch (input[n])
 		{
 		case '"':
-			if (key.isEmpty())		// quoted string to the left of = doesn't make sense
+			if (par.name.isEmpty())		// quoted string to the left of = doesn't make sense
 				return LINE_BAD;
 			if (inString >= 2)		// one more quote after quoted string doesn't make sense
 				return LINE_BAD;
@@ -284,11 +284,11 @@
 			break;
 
 		case '=':
-			if (key.isEmpty())
+			if (par.name.isEmpty())
 			{
-				key = input.substr(0, n).ToNoCaseString();
-				key.rtrim(" \t\r");
-				if (key.isEmpty())		// not good - no key
+				par.name = input.substr(0, n).ToNoCaseString();
+				par.name.rtrim(" \t\r");
+				if (par.name.isEmpty())		// not good - no key
 					return LINE_BAD;
 				valStart = n + 1;
 			}
@@ -306,15 +306,15 @@
 
 		case ' ':
 		case '\t':
-			if (n == incLen && key.isEmpty())
+			if (n == incLen && par.name.isEmpty())
 			{
 				KeyType inc = input.substr(0, n).ToNoCaseString();
 				if (inc == include)
 				{
-					value = input.substr(n);
-					value.alltrim(" \t\r");
+					par.value = input.substr(n);
+					par.value.alltrim(" \t\r");
 
-					if (!macroParse(value, fileName))
+					if (!macroParse(par.value, fileName))
 					{
 						return LINE_BAD;
 					}
@@ -331,9 +331,16 @@
 			{
 				if (inString != 1)
 				{
-					if (input[n] == '}')	// Subconf close mark not expected
+					if (input[n] == '}')
 					{
-						return LINE_BAD;
+						String s = input.substr(n + 1);
+						s.ltrim(" \t\r");
+						if (s.hasData() && s[0] != '#')
+						{
+							return LINE_BAD;
+						}
+						par.value = input.substr(0, n);
+						return LINE_END_SUB;
 					}
 
 					hasSub = true;
@@ -354,21 +361,21 @@
 	if (inString == 1)				// If we are still inside a string, it's error
 		return LINE_BAD;
 
-	if (key.isEmpty())
+	if (par.name.isEmpty())
 	{
-		key = input.substr(0, eol).ToNoCaseString();
-		key.rtrim(" \t\r");
-		value.erase();
+		par.name = input.substr(0, eol).ToNoCaseString();
+		par.name.rtrim(" \t\r");
+		par.value.erase();
 	}
 	else
 	{
-		value = input.substr(valStart, eol - valStart);
-		value.alltrim(" \t\r");
-		value.alltrim("\"");
+		par.value = input.substr(valStart, eol - valStart);
+		par.value.alltrim(" \t\r");
+		par.value.alltrim("\"");
 	}
 
 	// Now expand macros in value
-	if (!macroParse(value, fileName))
+	if (!macroParse(par.value, fileName))
 	{
 		return LINE_BAD;
 	}
@@ -399,6 +406,9 @@
 			++subTo;
 
 			// Avoid double slashes in pathnames
+			PathUtils::setDirIterator(value.begin());
+			PathUtils::setDirIterator(macro.begin());
+
 			if (subFrom > 0 && value[subFrom - 1] == PathUtils::dir_sep &&
 				macro.length() > 0 && macro[0] == PathUtils::dir_sep)
 			{
@@ -585,7 +595,7 @@
 		Parameter current;
 		current.line = line;
 
-		switch (parseLine(streamName, inputLine, current.name, current.value))
+		switch (parseLine(streamName, inputLine, current))
 		{
 		case LINE_BAD:
 			badLine(streamName, inputLine);
@@ -616,18 +626,23 @@
 				SubStream subStream(stream->getFileName());
 				while (stream->getLine(inputLine, line))
 				{
-					if (inputLine[0] == '}')
+					switch(parseLine(streamName, inputLine, current))
 					{
-						String s = inputLine.substr(1);
-						s.ltrim(" \t\r");
-						if (s.hasData() && s[0] != '#')
-						{
-							badLine(streamName, s);
-							return;
-						}
+					case LINE_END_SUB:
+						if (current.value.hasData())
+							subStream.putLine(current.value, line);
 						break;
+
+					//case LINE_START_SUB:	will be ignored at next level. Ignore here?
+					case LINE_BAD:
+						badLine(streamName, inputLine);
+						return;
+
+					default:
+						subStream.putLine(inputLine, line);
+						continue;
 					}
-					subStream.putLine(inputLine, line);
+					break;
 				}
 
 				previous->sub = FB_NEW(getPool())
Modified: firebird/trunk/src/common/config/config_file.h
===================================================================
--- firebird/trunk/src/common/config/config_file.h	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/src/common/config/config_file.h	2014-01-31 14:43:25 UTC (rev 59094)
@@ -124,7 +124,7 @@
 	bool macroParse(String& value, const char* fileName) const;
 
 private:
-	enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB, LINE_INCLUDE};
+	enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB, LINE_END_SUB, LINE_INCLUDE};
 
     Parameters parameters;
 	USHORT flags;
@@ -134,7 +134,7 @@
 
 	// utilities
 	void parse(Stream* stream);
-	LineType parseLine(const char* fileName, const String& input, KeyType& key, String& value);
+	LineType parseLine(const char* fileName, const String& input, Parameter& par);
 	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);
Modified: firebird/trunk/src/common/os/path_utils.h
===================================================================
--- firebird/trunk/src/common/os/path_utils.h	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/src/common/os/path_utils.h	2014-01-31 14:43:25 UTC (rev 59094)
@@ -162,6 +162,11 @@
 		dir_iterator being returned.
 	**/
 	static dir_iterator* newDirItr(MemoryPool&, const Firebird::PathName&);
+
+	/** setDirIterator converts all dir iterators to one required on current
+		platform.
+	**/
+	static void setDirIterator(char* path);
 };
 
 #endif // JRD_OS_PATH_UTILS_H
Modified: firebird/trunk/src/common/os/posix/path_utils.cpp
===================================================================
--- firebird/trunk/src/common/os/posix/path_utils.cpp	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/src/common/os/posix/path_utils.cpp	2014-01-31 14:43:25 UTC (rev 59094)
@@ -192,3 +192,11 @@
 	return access(path.c_str(), mode) == 0;
 }
 
+void PathUtils::setDirIterator(char* path)
+{
+	for (; *path; ++path)
+	{
+		if (*path == '\\')
+			*path = '/';
+	}
+}
Modified: firebird/trunk/src/common/os/win32/path_utils.cpp
===================================================================
--- firebird/trunk/src/common/os/win32/path_utils.cpp	2014-01-31 00:55:25 UTC (rev 59093)
+++ firebird/trunk/src/common/os/win32/path_utils.cpp	2014-01-31 14:43:25 UTC (rev 59094)
@@ -186,3 +186,12 @@
 	return _access(path.c_str(), mode) == 0;
 }
 
+void PathUtils::setDirIterator(char* path)
+{
+	for (; *path; ++path)
+	{
+		if (*path == '/')
+			*path = '\\';
+	}
+}
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2014-02-01 00:28:32
       | 
| Revision: 59095
          http://sourceforge.net/p/firebird/code/59095
Author:   firebirds
Date:     2014-02-01 00:28:28 +0000 (Sat, 01 Feb 2014)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2014-01-31 14:43:25 UTC (rev 59094)
+++ firebird/trunk/ChangeLog	2014-02-01 00:28:28 UTC (rev 59095)
@@ -1,3 +1,13 @@
+ 2014-01-31 14:43  alexpeshkoff 
+   M builds/install/misc/databases.conf.in
+   M builds/install/misc/firebird.conf.in
+   M src/common/config/config_file.cpp
+   M src/common/config/config_file.h
+   M src/common/os/path_utils.h
+   M src/common/os/posix/path_utils.cpp
+   M src/common/os/win32/path_utils.cpp
+Misc enhancements in .conf parser and *.conf.in files
+
  2014-01-30 14:52  alexpeshkoff 
    M src/qli/exe.cpp
 Fixed CORE-4327: Error in QLI when copying NULL blobs between databases
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2014-01-31 14:43:25 UTC (rev 59094)
+++ firebird/trunk/src/jrd/build_no.h	2014-02-01 00:28:28 UTC (rev 59095)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30868
+  FORMAL BUILD NUMBER:30869
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30868"
-#define FILE_VER_STRING "WI-T3.0.0.30868"
-#define LICENSE_VER_STRING "WI-T3.0.0.30868"
-#define FILE_VER_NUMBER 3, 0, 0, 30868
+#define PRODUCT_VER_STRING "3.0.0.30869"
+#define FILE_VER_STRING "WI-T3.0.0.30869"
+#define LICENSE_VER_STRING "WI-T3.0.0.30869"
+#define FILE_VER_NUMBER 3, 0, 0, 30869
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30868"
+#define FB_BUILD_NO "30869"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Alpha 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2014-01-31 14:43:25 UTC (rev 59094)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2014-02-01 00:28:28 UTC (rev 59095)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30868
+BuildNum=30869
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |