|
From: <asf...@us...> - 2015-03-18 21:38:55
|
Revision: 61008
http://sourceforge.net/p/firebird/code/61008
Author: asfernandes
Date: 2015-03-18 21:38:52 +0000 (Wed, 18 Mar 2015)
Log Message:
-----------
Feature CORE-4714 - Aggregate statistical functions stddev_pop, stddev_samp, var_pop and var_samp - contributed by Hajime Nakagami.
Modified Paths:
--------------
firebird/trunk/src/dsql/AggNodes.cpp
firebird/trunk/src/dsql/AggNodes.h
firebird/trunk/src/dsql/parse.y
firebird/trunk/src/jrd/blp.h
firebird/trunk/src/jrd/blr.h
firebird/trunk/src/jrd/val.h
firebird/trunk/src/yvalve/keywords.cpp
Added Paths:
-----------
firebird/trunk/doc/sql.extensions/README.statistical_functions.txt
Added: firebird/trunk/doc/sql.extensions/README.statistical_functions.txt
===================================================================
--- firebird/trunk/doc/sql.extensions/README.statistical_functions.txt (rev 0)
+++ firebird/trunk/doc/sql.extensions/README.statistical_functions.txt 2015-03-18 21:38:52 UTC (rev 61008)
@@ -0,0 +1,26 @@
+---------------------
+Statistical Functions
+---------------------
+
+By the SQL specification, some statistical functions are defined.
+Function about variance and standard deviation are bellow.
+
+VAR_POP: return the population variance.
+VAR_SAMP: return the sample variance.
+STDDEV_SAMP: return the sample standard deviation .
+STDDEV_POP: return the population standard deviation.
+
+VAR_POP(<expr>) is equivalent to (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / COUNT(<expr>).
+VAR_SAMP(<expr>) is equivalent to (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / (COUNT(<expr>) - 1).
+STDDEV_POP(<expr>) is equivalent to SQRT(VAR_POP(<expr>)).
+STDDEV_SAMP(<expr>) is equivalent to SQRT(VAR_SAMP(<expr)).
+
+Author:
+ Hajime Nakagami <nak...@gm...>
+
+Syntax:
+ <statistical function> ::= <statistical function name>(<expr>)
+ <statistical function name> := { VAR_POP | VAR_SAMP | STDDEV_POP | STDDEV_SAMP }
+
+Example:
+ SELECT STDDEV_SAMP(salary) FROM employees;
Property changes on: firebird/trunk/doc/sql.extensions/README.statistical_functions.txt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: firebird/trunk/src/dsql/AggNodes.cpp
===================================================================
--- firebird/trunk/src/dsql/AggNodes.cpp 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/dsql/AggNodes.cpp 2015-03-18 21:38:52 UTC (rev 61008)
@@ -40,6 +40,7 @@
#include "../dsql/pass1_proto.h"
#include "../dsql/utld_proto.h"
#include "../jrd/DataTypeUtil.h"
+#include <math.h>
using namespace Firebird;
using namespace Jrd;
@@ -1169,4 +1170,147 @@
}
+//--------------------
+
+
+static AggNode::Register<StdDevAggNode> stdDevSampAggInfo("STDDEV_SAMP", blr_agg_stddev_samp);
+static AggNode::Register<StdDevAggNode> stdDevPopAggInfo("STDDEV_POP", blr_agg_stddev_pop);
+static AggNode::Register<StdDevAggNode> varSampAggInfo("VAR_SAMP", blr_agg_var_samp);
+static AggNode::Register<StdDevAggNode> varPopAggInfo("VAR_POP", blr_agg_var_pop);
+
+StdDevAggNode::StdDevAggNode(MemoryPool& pool, StdDevType aType, ValueExprNode* aArg)
+ : AggNode(pool,
+ (aType == StdDevAggNode::TYPE_STDDEV_SAMP ? stdDevSampAggInfo :
+ aType == StdDevAggNode::TYPE_STDDEV_POP ? stdDevPopAggInfo :
+ aType == StdDevAggNode::TYPE_VAR_SAMP ? varSampAggInfo :
+ varPopAggInfo),
+ false, false, aArg),
+ type(aType),
+ impure2Offset(0)
+{
+}
+
+void StdDevAggNode::aggPostRse(thread_db* tdbb, CompilerScratch* csb)
+{
+ AggNode::aggPostRse(tdbb, csb);
+ impure2Offset = CMP_impure(csb, sizeof(StdDevImpure));
+}
+
+DmlNode* StdDevAggNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp)
+{
+ StdDevType type;
+
+ switch (blrOp)
+ {
+ case blr_agg_stddev_samp:
+ type = TYPE_STDDEV_SAMP;
+ break;
+
+ case blr_agg_stddev_pop:
+ type = TYPE_STDDEV_POP;
+ break;
+
+ case blr_agg_var_samp:
+ type = TYPE_VAR_SAMP;
+ break;
+
+ case blr_agg_var_pop:
+ type = TYPE_VAR_POP;
+ break;
+
+ default:
+ fb_assert(false);
+ }
+
+ return FB_NEW(pool) StdDevAggNode(pool, type, PAR_parse_value(tdbb, csb));
+}
+
+void StdDevAggNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
+{
+ desc->makeDouble();
+ desc->setNullable(true);
+}
+
+void StdDevAggNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc)
+{
+ desc->makeDouble();
+}
+
+ValueExprNode* StdDevAggNode::copy(thread_db* tdbb, NodeCopier& copier) const
+{
+ StdDevAggNode* node = FB_NEW(*tdbb->getDefaultPool()) StdDevAggNode(*tdbb->getDefaultPool(), type);
+ node->nodScale = nodScale;
+ node->arg = copier.copy(tdbb, arg);
+ return node;
+}
+
+void StdDevAggNode::aggInit(thread_db* tdbb, jrd_req* request) const
+{
+ AggNode::aggInit(tdbb, request);
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ impure->make_double(0);
+
+ StdDevImpure* impure2 = request->getImpure<StdDevImpure>(impure2Offset);
+ impure2->x = impure2->x2 = 0.0;
+}
+
+void StdDevAggNode::aggPass(thread_db* tdbb, jrd_req* request, dsc* desc) const
+{
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ ++impure->vlux_count;
+
+ const double d = MOV_get_double(desc);
+
+ StdDevImpure* impure2 = request->getImpure<StdDevImpure>(impure2Offset);
+ impure2->x += d;
+ impure2->x2 += d * d;
+}
+
+dsc* StdDevAggNode::aggExecute(thread_db* tdbb, jrd_req* request) const
+{
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ StdDevImpure* impure2 = request->getImpure<StdDevImpure>(impure2Offset);
+ double d;
+
+ switch (type)
+ {
+ case TYPE_STDDEV_SAMP:
+ case TYPE_VAR_SAMP:
+ if (impure->vlux_count < 2)
+ return NULL;
+
+ d = (impure2->x2 - impure2->x * impure2->x / impure->vlux_count) /
+ (impure->vlux_count - 1);
+
+ if (type == TYPE_STDDEV_SAMP)
+ d = sqrt(d);
+ break;
+
+ case TYPE_STDDEV_POP:
+ case TYPE_VAR_POP:
+ if (impure->vlux_count == 0)
+ return NULL;
+
+ d = (impure2->x2 - impure2->x * impure2->x / impure->vlux_count) /
+ impure->vlux_count;
+
+ if (type == TYPE_STDDEV_POP)
+ d = sqrt(d);
+ break;
+ }
+
+ dsc temp;
+ temp.makeDouble(&d);
+ EVL_make_value(tdbb, &temp, impure);
+
+ return &impure->vlu_desc;
+}
+
+AggNode* StdDevAggNode::dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/
+{
+ return FB_NEW(getPool()) StdDevAggNode(getPool(), type, doDsqlPass(dsqlScratch, arg));
+}
+
+
} // namespace Jrd
Modified: firebird/trunk/src/dsql/AggNodes.h
===================================================================
--- firebird/trunk/src/dsql/AggNodes.h 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/dsql/AggNodes.h 2015-03-18 21:38:52 UTC (rev 61008)
@@ -153,7 +153,45 @@
const MaxMinType type;
};
+class StdDevAggNode : public AggNode
+{
+public:
+ enum StdDevType
+ {
+ TYPE_STDDEV_SAMP,
+ TYPE_STDDEV_POP,
+ TYPE_VAR_SAMP,
+ TYPE_VAR_POP
+ };
+ struct StdDevImpure
+ {
+ double x, x2;
+ };
+
+ explicit StdDevAggNode(MemoryPool& pool, StdDevType aType, ValueExprNode* aArg = NULL);
+ virtual void aggPostRse(thread_db* tdbb, CompilerScratch* csb);
+
+ static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
+
+ virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
+ virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc);
+ virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const;
+
+ virtual void aggInit(thread_db* tdbb, jrd_req* request) const;
+ virtual void aggPass(thread_db* tdbb, jrd_req* request, dsc* desc) const;
+ virtual dsc* aggExecute(thread_db* tdbb, jrd_req* request) const;
+
+protected:
+ virtual AggNode* dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/;
+
+public:
+ const StdDevType type;
+
+private:
+ ULONG impure2Offset;
+};
+
} // namespace
#endif // DSQL_AGG_NODES_H
Modified: firebird/trunk/src/dsql/parse.y
===================================================================
--- firebird/trunk/src/dsql/parse.y 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/dsql/parse.y 2015-03-18 21:38:52 UTC (rev 61008)
@@ -572,6 +572,10 @@
%token <metaNamePtr> TRUSTED
%token <metaNamePtr> ROW
%token <metaNamePtr> OFFSET
+%token <metaNamePtr> STDDEV_SAMP
+%token <metaNamePtr> STDDEV_POP
+%token <metaNamePtr> VAR_SAMP
+%token <metaNamePtr> VAR_POP
// precedence declarations for expression evaluation
@@ -3819,8 +3823,12 @@
| ROW
| SCROLL
| SQLSTATE
+ | STDDEV_SAMP
+ | STDDEV_POP
| KW_TRUE
| UNKNOWN
+ | VAR_SAMP
+ | VAR_POP
;
col_opt
@@ -6789,6 +6797,14 @@
{ $$ = newNode<ListAggNode>(false, $4, $5); }
| LIST '(' DISTINCT value delimiter_opt ')'
{ $$ = newNode<ListAggNode>(true, $4, $5); }
+ | STDDEV_SAMP '(' value ')'
+ { $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_STDDEV_SAMP, $3); }
+ | STDDEV_POP '(' value ')'
+ { $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_STDDEV_POP, $3); }
+ | VAR_SAMP '(' value ')'
+ { $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_VAR_SAMP, $3); }
+ | VAR_POP '(' value ')'
+ { $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_VAR_POP, $3); }
;
%type <aggNode> window_function
Modified: firebird/trunk/src/jrd/blp.h
===================================================================
--- firebird/trunk/src/jrd/blp.h 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/jrd/blp.h 2015-03-18 21:38:52 UTC (rev 61008)
@@ -241,5 +241,9 @@
{"subfunc", function},
{"record_version2", byte_line},
{"gen_id2", gen_id2}, // 210
+ {"agg_stddev_samp", one},
+ {"agg_stddev_pop", one},
+ {"agg_var_samp", one},
+ {"agg_var_pop", one},
{0, 0}
};
Modified: firebird/trunk/src/jrd/blr.h
===================================================================
--- firebird/trunk/src/jrd/blr.h 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/jrd/blr.h 2015-03-18 21:38:52 UTC (rev 61008)
@@ -407,4 +407,9 @@
#define blr_record_version2 (unsigned char) 209
#define blr_gen_id2 (unsigned char) 210 // NEXT VALUE FOR generator
+#define blr_agg_stddev_samp (unsigned char) 211
+#define blr_agg_stddev_pop (unsigned char) 212
+#define blr_agg_var_samp (unsigned char) 213
+#define blr_agg_var_pop (unsigned char) 214
+
#endif // JRD_BLR_H
Modified: firebird/trunk/src/jrd/val.h
===================================================================
--- firebird/trunk/src/jrd/val.h 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/jrd/val.h 2015-03-18 21:38:52 UTC (rev 61008)
@@ -93,6 +93,7 @@
void make_long(const SLONG val, const signed char scale = 0);
void make_int64(const SINT64 val, const signed char scale = 0);
+ void make_double(const double val);
};
// Do not use these methods where dsc_sub_type is not explicitly set to zero.
@@ -116,12 +117,23 @@
this->vlu_desc.dsc_address = reinterpret_cast<UCHAR*>(&this->vlu_misc.vlu_int64);
}
+inline void impure_value::make_double(const double val)
+{
+ this->vlu_misc.vlu_double = val;
+ this->vlu_desc.dsc_dtype = DEFAULT_DOUBLE;
+ this->vlu_desc.dsc_length = sizeof(double);
+ this->vlu_desc.dsc_scale = 0;
+ this->vlu_desc.dsc_sub_type = 0;
+ this->vlu_desc.dsc_address = reinterpret_cast<UCHAR*>(&this->vlu_misc.vlu_double);
+}
+
struct impure_value_ex : public impure_value
{
SINT64 vlux_count;
blb* vlu_blob;
};
+
const int VLU_computed = 1; // An invariant sub-query has been computed
const int VLU_null = 2; // An invariant sub-query computed to null
const int VLU_checked = 4; // Constraint already checked in first read or assignment to argument/variable
Modified: firebird/trunk/src/yvalve/keywords.cpp
===================================================================
--- firebird/trunk/src/yvalve/keywords.cpp 2015-03-18 19:48:56 UTC (rev 61007)
+++ firebird/trunk/src/yvalve/keywords.cpp 2015-03-18 21:38:52 UTC (rev 61008)
@@ -389,6 +389,8 @@
{STARTING, "STARTS", 1, false}, // Alias of STARTING
{STATEMENT, "STATEMENT", 2, true},
{STATISTICS, "STATISTICS", 1, false},
+ {STDDEV_POP, "STDDEV_POP", 2, false},
+ {STDDEV_SAMP, "STDDEV_SAMP", 2, false},
{SUBSTRING, "SUBSTRING", 2, true},
{SUB_TYPE, "SUB_TYPE", 1, false},
{SUM, "SUM", 1, false},
@@ -426,6 +428,8 @@
{UUID_TO_CHAR, "UUID_TO_CHAR", 2, false},
{KW_VALUE, "VALUE", 1, false},
{VALUES, "VALUES", 1, false},
+ {VAR_POP, "VAR_POP", 2, false},
+ {VAR_SAMP, "VAR_SAMP", 2, false},
{VARCHAR, "VARCHAR", 1, false},
{VARIABLE, "VARIABLE", 1, false},
{VARYING, "VARYING", 1, false},
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-03-19 00:14:40
|
Revision: 61009
http://sourceforge.net/p/firebird/code/61009
Author: firebirds
Date: 2015-03-19 00:14:37 +0000 (Thu, 19 Mar 2015)
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 2015-03-18 21:38:52 UTC (rev 61008)
+++ firebird/trunk/ChangeLog 2015-03-19 00:14:37 UTC (rev 61009)
@@ -1,3 +1,33 @@
+ 2015-03-18 21:38 asfernandes
+ A doc/sql.extensions/README.statistical_functions.txt
+ M src/dsql/AggNodes.cpp
+ M src/dsql/AggNodes.h
+ M src/dsql/parse.y
+ M src/jrd/blp.h
+ M src/jrd/blr.h
+ M src/jrd/val.h
+ M src/yvalve/keywords.cpp
+Feature CORE-4714 - Aggregate statistical functions stddev_pop, stddev_samp, var_pop and var_samp - contributed by Hajime Nakagami.
+
+ 2015-03-18 17:28 dimitr
+ M src/burp/restore.epp
+Complement my recent changes in this module.
+
+ 2015-03-18 17:26 hvlad
+ M src/jrd/vio.cpp
+Fixed bug CORE-4713 : "BLOB not found" error at rollback after insert into table with expression index
+
+ 2015-03-18 17:22 dimitr
+ M doc/WhatsNew
+Updated the docs for Beta 2.
+
+ 2015-03-18 02:03 asfernandes
+ M src/include/firebird/FirebirdInterface.idl
+ M src/include/firebird/IdlFbInterfaces.h
+ M src/yvalve/YObjects.h
+ M src/yvalve/utl.cpp
+Added IUtil::formatStatus.
+
2015-03-17 21:44 asfernandes
M src/auth/SecurityDatabase/LegacyManagement.epp
M src/auth/SecurityDatabase/LegacyServer.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-18 21:38:52 UTC (rev 61008)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-19 00:14:37 UTC (rev 61009)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31714
+ FORMAL BUILD NUMBER:31719
*/
-#define PRODUCT_VER_STRING "3.0.0.31714"
-#define FILE_VER_STRING "WI-T3.0.0.31714"
-#define LICENSE_VER_STRING "WI-T3.0.0.31714"
-#define FILE_VER_NUMBER 3, 0, 0, 31714
+#define PRODUCT_VER_STRING "3.0.0.31719"
+#define FILE_VER_STRING "WI-T3.0.0.31719"
+#define LICENSE_VER_STRING "WI-T3.0.0.31719"
+#define FILE_VER_NUMBER 3, 0, 0, 31719
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31714"
+#define FB_BUILD_NO "31719"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-18 21:38:52 UTC (rev 61008)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-19 00:14:37 UTC (rev 61009)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31714
+BuildNum=31719
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ego...@us...> - 2015-03-19 11:34:07
|
Revision: 61014
http://sourceforge.net/p/firebird/code/61014
Author: egorpugin
Date: 2015-03-19 11:34:04 +0000 (Thu, 19 Mar 2015)
Log Message:
-----------
[build] [cmake] Add some iOS ifdefs. Hide wrong include dir during crosscompiling.
Modified Paths:
--------------
firebird/trunk/CMakeLists.txt
firebird/trunk/builds/cmake/Configure.cmake
firebird/trunk/src/isql/InputDevices.cpp
firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp
Modified: firebird/trunk/CMakeLists.txt
===================================================================
--- firebird/trunk/CMakeLists.txt 2015-03-19 07:09:49 UTC (rev 61013)
+++ firebird/trunk/CMakeLists.txt 2015-03-19 11:34:04 UTC (rev 61014)
@@ -228,8 +228,8 @@
if (APPLE)
set(OS_DIR darwin)
- include_directories(/opt/local/include)
if (NOT CMAKE_CROSSCOMPILING)
+ include_directories(/opt/local/include)
link_directories(/opt/local/lib)
endif()
Modified: firebird/trunk/builds/cmake/Configure.cmake
===================================================================
--- firebird/trunk/builds/cmake/Configure.cmake 2015-03-19 07:09:49 UTC (rev 61013)
+++ firebird/trunk/builds/cmake/Configure.cmake 2015-03-19 11:34:04 UTC (rev 61014)
@@ -66,7 +66,7 @@
endif()
if (IOS)
- set(CMAKE_SYSTEM_PROCESSOR "arm") # armv7 ?
+ set(CMAKE_SYSTEM_PROCESSOR "armv7")
add_definitions(-D__arm__)
endif()
Modified: firebird/trunk/src/isql/InputDevices.cpp
===================================================================
--- firebird/trunk/src/isql/InputDevices.cpp 2015-03-19 07:09:49 UTC (rev 61013)
+++ firebird/trunk/src/isql/InputDevices.cpp 2015-03-19 11:34:04 UTC (rev 61014)
@@ -22,7 +22,7 @@
*/
#include "firebird.h"
-#ifdef DARWIN
+#if defined(DARWIN) && !defined(IOS)
#if defined(i386) || defined(__x86_64__)
#include <architecture/i386/io.h>
#else
Modified: firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp
===================================================================
--- firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp 2015-03-19 07:09:49 UTC (rev 61013)
+++ firebird/trunk/src/yvalve/config/os/darwin/config_root.cpp 2015-03-19 11:34:04 UTC (rev 61014)
@@ -37,7 +37,9 @@
#include "../common/os/path_utils.h"
#include "../common/file_params.h"
+#ifndef IOS
#include <CoreServices/CoreServices.h>
+#endif
#include <CoreFoundation/CFBundle.h>
#include <CoreFoundation/CFURL.h>
#include <mach-o/dyld.h>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-03-20 00:14:34
|
Revision: 61030
http://sourceforge.net/p/firebird/code/61030
Author: firebirds
Date: 2015-03-20 00:14:26 +0000 (Fri, 20 Mar 2015)
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 2015-03-19 20:56:03 UTC (rev 61029)
+++ firebird/trunk/ChangeLog 2015-03-20 00:14:26 UTC (rev 61030)
@@ -1,3 +1,15 @@
+ 2015-03-19 11:34 egorpugin
+ M CMakeLists.txt
+ M builds/cmake/Configure.cmake
+ M src/isql/InputDevices.cpp
+ M src/yvalve/config/os/darwin/config_root.cpp
+[build] [cmake] Add some iOS ifdefs. Hide wrong include dir during crosscompiling.
+
+ 2015-03-19 07:09 dimitr
+ M doc/WhatsNew
+ A doc/sql.extensions/README.scrollable_cursors.txt
+Updated the docs.
+
2015-03-18 21:38 asfernandes
A doc/sql.extensions/README.statistical_functions.txt
M src/dsql/AggNodes.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-19 20:56:03 UTC (rev 61029)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-20 00:14:26 UTC (rev 61030)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31719
+ FORMAL BUILD NUMBER:31721
*/
-#define PRODUCT_VER_STRING "3.0.0.31719"
-#define FILE_VER_STRING "WI-T3.0.0.31719"
-#define LICENSE_VER_STRING "WI-T3.0.0.31719"
-#define FILE_VER_NUMBER 3, 0, 0, 31719
+#define PRODUCT_VER_STRING "3.0.0.31721"
+#define FILE_VER_STRING "WI-T3.0.0.31721"
+#define LICENSE_VER_STRING "WI-T3.0.0.31721"
+#define FILE_VER_NUMBER 3, 0, 0, 31721
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31719"
+#define FB_BUILD_NO "31721"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-19 20:56:03 UTC (rev 61029)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-20 00:14:26 UTC (rev 61030)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31719
+BuildNum=31721
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...> - 2015-03-21 00:15:36
|
Revision: 61035
http://sourceforge.net/p/firebird/code/61035
Author: firebirds
Date: 2015-03-21 00:15:33 +0000 (Sat, 21 Mar 2015)
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 2015-03-20 18:03:51 UTC (rev 61034)
+++ firebird/trunk/ChangeLog 2015-03-21 00:15:33 UTC (rev 61035)
@@ -1,3 +1,97 @@
+ 2015-03-20 18:03 alexpeshkoff
+ A src/common/SimpleStatusVector.h
+Oops - added forgotten file
+
+ 2015-03-20 18:02 alexpeshkoff
+ M src/auth/AuthDbg.cpp
+ M src/auth/SecureRemotePassword/Message.h
+ M src/auth/SecureRemotePassword/manage/SrpManagement.cpp
+ M src/auth/SecureRemotePassword/server/SrpServer.cpp
+ M src/auth/SecurityDatabase/LegacyServer.cpp
+ A src/common/DynamicStrings.cpp
+ A src/common/DynamicStrings.h
+ M src/common/MsgMetadata.cpp
+ M src/common/StatementMetadata.cpp
+ M src/common/StatusArg.cpp
+ M src/common/StatusArg.h
+ M src/common/StatusHolder.cpp
+ M src/common/StatusHolder.h
+ M src/common/UtilSvc.cpp
+ M src/common/UtilSvc.h
+ M src/common/classes/GetPlugins.h
+ M src/common/fb_exception.cpp
+ M src/common/isc.cpp
+ M src/common/isc_proto.h
+ M src/common/sdl.cpp
+ M src/common/sdl_proto.h
+ M src/common/utils.cpp
+ M src/common/utils_proto.h
+ M src/dsql/DdlNodes.h
+ M src/dsql/StmtNodes.cpp
+ M src/dsql/dsql.cpp
+ M src/dsql/errd.cpp
+ M src/dsql/errd_proto.h
+ M src/dsql/utld.cpp
+ M src/dsql/utld_proto.h
+ M src/include/fb_exception.h
+ M src/include/fb_types.h
+ M src/include/firebird/FirebirdInterface.idl
+ M src/include/firebird/IdlFbInterfaces.h
+ M src/include/firebird/Interface.h
+ M src/isql/isql.epp
+ M src/jrd/CryptoManager.cpp
+ M src/jrd/CryptoManager.h
+ M src/jrd/Database.cpp
+ M src/jrd/DbCreators.cpp
+ M src/jrd/ExtEngineManager.cpp
+ M src/jrd/GlobalRWLock.cpp
+ M src/jrd/Mapping.cpp
+ M src/jrd/Routine.cpp
+ M src/jrd/blob_filter.cpp
+ M src/jrd/cch.cpp
+ M src/jrd/cch_proto.h
+ M src/jrd/dfw.epp
+ M src/jrd/err.cpp
+ M src/jrd/err_proto.h
+ M src/jrd/exe.cpp
+ M src/jrd/exe.h
+ M src/jrd/extds/ExtDS.cpp
+ M src/jrd/extds/ExtDS.h
+ M src/jrd/extds/InternalDS.cpp
+ M src/jrd/extds/InternalDS.h
+ M src/jrd/extds/IscDS.cpp
+ M src/jrd/extds/IscDS.h
+ M src/jrd/fun.epp
+ M src/jrd/idx.cpp
+ M src/jrd/jrd.cpp
+ M src/jrd/jrd.h
+ M src/jrd/nbak.cpp
+ M src/jrd/nbak.h
+ M src/jrd/os/pio_proto.h
+ M src/jrd/os/posix/unix.cpp
+ M src/jrd/os/win32/winnt.cpp
+ M src/jrd/pag.cpp
+ M src/jrd/par.cpp
+ D src/jrd/status.cpp
+ M src/jrd/status.h
+ M src/jrd/svc.cpp
+ M src/jrd/svc.h
+ M src/jrd/tra.cpp
+ M src/jrd/trace/TraceConfigStorage.cpp
+ M src/jrd/trace/TraceManager.cpp
+ M src/jrd/trace/TraceObjects.cpp
+ M src/jrd/trace/TraceObjects.h
+ M src/jrd/validation.cpp
+ M src/jrd/vio.cpp
+ M src/plugins/udr_engine/UdrEngine.cpp
+ M src/remote/client/BlrFromMessage.cpp
+ M src/remote/client/interface.cpp
+ M src/remote/inet.cpp
+ M src/remote/server/server.cpp
+ M src/yvalve/PluginManager.cpp
+ M src/yvalve/utl.cpp
+Avoid limits on size of status vector in engine. Ensure that status is always clean on entry to interface methods.
+
2015-03-19 11:34 egorpugin
M CMakeLists.txt
M builds/cmake/Configure.cmake
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-20 18:03:51 UTC (rev 61034)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-21 00:15:33 UTC (rev 61035)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31721
+ FORMAL BUILD NUMBER:31723
*/
-#define PRODUCT_VER_STRING "3.0.0.31721"
-#define FILE_VER_STRING "WI-T3.0.0.31721"
-#define LICENSE_VER_STRING "WI-T3.0.0.31721"
-#define FILE_VER_NUMBER 3, 0, 0, 31721
+#define PRODUCT_VER_STRING "3.0.0.31723"
+#define FILE_VER_STRING "WI-T3.0.0.31723"
+#define LICENSE_VER_STRING "WI-T3.0.0.31723"
+#define FILE_VER_NUMBER 3, 0, 0, 31723
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31721"
+#define FB_BUILD_NO "31723"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-20 18:03:51 UTC (rev 61034)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-21 00:15:33 UTC (rev 61035)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31721
+BuildNum=31723
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...> - 2015-03-22 00:12:38
|
Revision: 61048
http://sourceforge.net/p/firebird/code/61048
Author: firebirds
Date: 2015-03-22 00:12:30 +0000 (Sun, 22 Mar 2015)
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 2015-03-21 18:39:06 UTC (rev 61047)
+++ firebird/trunk/ChangeLog 2015-03-22 00:12:30 UTC (rev 61048)
@@ -1,3 +1,25 @@
+ 2015-03-21 18:39 asfernandes
+ M src/common/DynamicStrings.h
+Fix clang build.
+
+ 2015-03-21 18:38 asfernandes
+ M src/jrd/extds/ExtDS.cpp
+ M src/jrd/extds/IscDS.cpp
+ M src/jrd/status.h
+ M src/jrd/trace/TraceObjects.h
+Corrections.
+
+ 2015-03-21 05:15 dimitr
+ M doc/sql.extensions/README.scrollable_cursors.txt
+Fixed a mistake.
+
+ 2015-03-21 03:01 robocop
+ M builds/win32/msvc10/common.vcxproj
+ M builds/win32/msvc10/common.vcxproj.filters
+ M builds/win32/msvc10/engine.vcxproj
+ M builds/win32/msvc10/engine.vcxproj.filters
+Modified the MSVC10 build according to Alex's changes but still can't compile.
+
2015-03-20 18:03 alexpeshkoff
A src/common/SimpleStatusVector.h
Oops - added forgotten file
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-21 18:39:06 UTC (rev 61047)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-22 00:12:30 UTC (rev 61048)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31723
+ FORMAL BUILD NUMBER:31727
*/
-#define PRODUCT_VER_STRING "3.0.0.31723"
-#define FILE_VER_STRING "WI-T3.0.0.31723"
-#define LICENSE_VER_STRING "WI-T3.0.0.31723"
-#define FILE_VER_NUMBER 3, 0, 0, 31723
+#define PRODUCT_VER_STRING "3.0.0.31727"
+#define FILE_VER_STRING "WI-T3.0.0.31727"
+#define LICENSE_VER_STRING "WI-T3.0.0.31727"
+#define FILE_VER_NUMBER 3, 0, 0, 31727
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31723"
+#define FB_BUILD_NO "31727"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-21 18:39:06 UTC (rev 61047)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-22 00:12:30 UTC (rev 61048)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31723
+BuildNum=31727
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...> - 2015-03-23 00:12:46
|
Revision: 61057
http://sourceforge.net/p/firebird/code/61057
Author: firebirds
Date: 2015-03-23 00:12:39 +0000 (Mon, 23 Mar 2015)
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 2015-03-22 22:43:12 UTC (rev 61056)
+++ firebird/trunk/ChangeLog 2015-03-23 00:12:39 UTC (rev 61057)
@@ -1,3 +1,38 @@
+ 2015-03-22 22:43 hvlad
+ M src/jrd/os/win32/winnt.cpp
+ M src/remote/SockAddr.h
+ M src/remote/os/win32/wnet.cpp
+Fixed Windows build
+
+ 2015-03-22 22:42 hvlad
+ M builds/win32/msvc10/qli.vcxproj
+ M builds/win32/msvc10/qli.vcxproj.filters
+Update MSVC10 build after recent changes
+
+ 2015-03-22 22:40 hvlad
+ M builds/win32/msvc12/common.vcxproj
+ M builds/win32/msvc12/common.vcxproj.filters
+ M builds/win32/msvc12/engine.vcxproj
+ M builds/win32/msvc12/engine.vcxproj.filters
+ M builds/win32/msvc12/qli.vcxproj
+ M builds/win32/msvc12/qli.vcxproj.filters
+Update MSVC12 build after recent changes
+
+ 2015-03-22 14:27 mkubecek
+ M src/common/config/config.cpp
+fix default security database location
+
+ 2015-03-22 14:26 mkubecek
+ M src/remote/SockAddr.h
+class SockAddr code cleanup
+
+ 2015-03-22 00:23 robocop
+ M src/include/firebird/Interface.h
+ M src/jrd/Routine.cpp
+ M src/jrd/extds/IscDS.cpp
+ M src/jrd/svc.cpp
+Misc.
+
2015-03-21 18:39 asfernandes
M src/common/DynamicStrings.h
Fix clang build.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-22 22:43:12 UTC (rev 61056)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-23 00:12:39 UTC (rev 61057)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31727
+ FORMAL BUILD NUMBER:31733
*/
-#define PRODUCT_VER_STRING "3.0.0.31727"
-#define FILE_VER_STRING "WI-T3.0.0.31727"
-#define LICENSE_VER_STRING "WI-T3.0.0.31727"
-#define FILE_VER_NUMBER 3, 0, 0, 31727
+#define PRODUCT_VER_STRING "3.0.0.31733"
+#define FILE_VER_STRING "WI-T3.0.0.31733"
+#define LICENSE_VER_STRING "WI-T3.0.0.31733"
+#define FILE_VER_NUMBER 3, 0, 0, 31733
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31727"
+#define FB_BUILD_NO "31733"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-22 22:43:12 UTC (rev 61056)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-23 00:12:39 UTC (rev 61057)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31727
+BuildNum=31733
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...> - 2015-03-23 02:55:44
|
Revision: 61059
http://sourceforge.net/p/firebird/code/61059
Author: asfernandes
Date: 2015-03-23 02:55:42 +0000 (Mon, 23 Mar 2015)
Log Message:
-----------
Feature CORE-4717 - Aggregate statistical functions COVAR_SAMP, COVAR_POP and CORR - contributed by Hajime Nakagami.
Modified Paths:
--------------
firebird/trunk/doc/WhatsNew
firebird/trunk/doc/sql.extensions/README.statistical_functions.txt
firebird/trunk/src/dsql/AggNodes.cpp
firebird/trunk/src/dsql/AggNodes.h
firebird/trunk/src/dsql/parse.y
firebird/trunk/src/jrd/blp.h
firebird/trunk/src/jrd/blr.h
firebird/trunk/src/yvalve/keywords.cpp
Modified: firebird/trunk/doc/WhatsNew
===================================================================
--- firebird/trunk/doc/WhatsNew 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/doc/WhatsNew 2015-03-23 02:55:42 UTC (rev 61059)
@@ -291,6 +291,14 @@
Contributor(s):
Alex Peshkov <peshkoff at mail.ru>
+ * New feature CORE-4717
+ Aggregate statistical functions COVAR_SAMP, COVAR_POP and CORR
+ See also:
+ /doc/sql.extensions/README.statistical_functions.txt
+ Contributor(s):
+ Hajime Nakagami <nakagami at gmail.com>
+ Adriano dos Santos Fernandes <adrianosf at gmail.com>
+
* New feature CORE-4714
Aggregate statistical functions STDDEV_POP, STDDEV_SAMP, VAR_POP and VAR_SAMP
See also:
Modified: firebird/trunk/doc/sql.extensions/README.statistical_functions.txt
===================================================================
--- firebird/trunk/doc/sql.extensions/README.statistical_functions.txt 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/doc/sql.extensions/README.statistical_functions.txt 2015-03-23 02:55:42 UTC (rev 61059)
@@ -5,22 +5,40 @@
By the SQL specification, some statistical functions are defined.
Function about variance and standard deviation are bellow.
+VAR_SAMP: return the sample variance.
+ eq. (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / (COUNT(<expr>) - 1)
+
VAR_POP: return the population variance.
-VAR_SAMP: return the sample variance.
-STDDEV_SAMP: return the sample standard deviation .
+ eq. (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / COUNT(<expr>)
+
+STDDEV_SAMP: return the sample standard deviation.
+ eq. SQRT(VAR_SAMP(<expr))
+
STDDEV_POP: return the population standard deviation.
+ eq. SQRT(VAR_POP(<expr>))
-VAR_POP(<expr>) is equivalent to (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / COUNT(<expr>).
-VAR_SAMP(<expr>) is equivalent to (SUM(<expr> ^ 2) - SUM(<expr>) ^ 2 / COUNT(<expr>)) / (COUNT(<expr>) - 1).
-STDDEV_POP(<expr>) is equivalent to SQRT(VAR_POP(<expr>)).
-STDDEV_SAMP(<expr>) is equivalent to SQRT(VAR_SAMP(<expr)).
+COVAR_SAMP: return the sample population.
+ eq. (SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / (COUNT(*) - 1)
+COVAR_POP: return the population covariance.
+ eq. (SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / COUNT(*)
+
+CORR: returns the coefficient of correlation.
+ eq. COVAR_POP(<expr1>, <expr2>) / (STDDEV_POP(<expr2>) * STDDEV_POP(<expr1>))
+
Author:
Hajime Nakagami <nak...@gm...>
Syntax:
- <statistical function> ::= <statistical function name>(<expr>)
- <statistical function name> := { VAR_POP | VAR_SAMP | STDDEV_POP | STDDEV_SAMP }
+ <single param statistical function> ::= <single param statistical function name>(<expr>)
+ <single param statistical function name> := { VAR_POP | VAR_SAMP | STDDEV_POP | STDDEV_SAMP }
+ <dual param statistical function> ::= <dual param statistical function name>(<expr1>, <expr2>)
+ <dual param statistical function name> := { COVAR_POP | COVAR_SAMP | CORR }
+
+Note:
+ If VAR_SAMP, STDDEV_SAMP, COVAR_SAMP and result count is 0 or 1, return NULL.
+ If VAR_POP, STDDEV_POP, COVAR_POP, CORR and result count is 0, return NULL.
+
Example:
SELECT STDDEV_SAMP(salary) FROM employees;
Modified: firebird/trunk/src/dsql/AggNodes.cpp
===================================================================
--- firebird/trunk/src/dsql/AggNodes.cpp 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/dsql/AggNodes.cpp 2015-03-23 02:55:42 UTC (rev 61059)
@@ -1313,4 +1313,179 @@
}
+//--------------------
+
+
+static AggNode::Register<CorrAggNode> coVarSampAggInfo("COVAR_SAMP", blr_agg_covar_samp);
+static AggNode::Register<CorrAggNode> coVarPopAggInfo("COVAR_POP", blr_agg_covar_pop);
+static AggNode::Register<CorrAggNode> corrAggInfo("CORR", blr_agg_corr);
+
+CorrAggNode::CorrAggNode(MemoryPool& pool, CorrType aType, ValueExprNode* aArg, ValueExprNode* aArg2)
+ : AggNode(pool,
+ (aType == CorrAggNode::TYPE_COVAR_SAMP ? coVarSampAggInfo :
+ aType == CorrAggNode::TYPE_COVAR_POP ? coVarPopAggInfo :
+ corrAggInfo),
+ false, false, aArg),
+ type(aType),
+ arg2(aArg2),
+ impure2Offset(0)
+{
+ addChildNode(arg2, arg2);
+}
+
+void CorrAggNode::aggPostRse(thread_db* tdbb, CompilerScratch* csb)
+{
+ AggNode::aggPostRse(tdbb, csb);
+ impure2Offset = CMP_impure(csb, sizeof(CorrImpure));
+}
+
+DmlNode* CorrAggNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp)
+{
+ CorrType type;
+
+ switch (blrOp)
+ {
+ case blr_agg_covar_samp:
+ type = TYPE_COVAR_SAMP;
+ break;
+
+ case blr_agg_covar_pop:
+ type = TYPE_COVAR_POP;
+ break;
+
+ case blr_agg_corr:
+ type = TYPE_CORR;
+ break;
+
+ default:
+ fb_assert(false);
+ }
+
+ ValueExprNode* a1 = PAR_parse_value(tdbb, csb);
+ ValueExprNode* a2 = PAR_parse_value(tdbb, csb);
+ return FB_NEW(pool) CorrAggNode(pool, type, a1, a2);
+}
+
+void CorrAggNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
+{
+ desc->makeDouble();
+ desc->setNullable(true);
+}
+
+void CorrAggNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc)
+{
+ desc->makeDouble();
+}
+
+ValueExprNode* CorrAggNode::copy(thread_db* tdbb, NodeCopier& copier) const
+{
+ CorrAggNode* node = FB_NEW(*tdbb->getDefaultPool()) CorrAggNode(*tdbb->getDefaultPool(), type);
+ node->nodScale = nodScale;
+ node->arg = copier.copy(tdbb, arg);
+ node->arg2 = copier.copy(tdbb, arg2);
+ return node;
+}
+
+void CorrAggNode::aggInit(thread_db* tdbb, jrd_req* request) const
+{
+ AggNode::aggInit(tdbb, request);
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ impure->make_double(0);
+
+ CorrImpure* impure2 = request->getImpure<CorrImpure>(impure2Offset);
+ impure2->x = impure2->x2 = impure2->y = impure2->y2 = impure2->xy = 0.0;
+}
+
+bool CorrAggNode::aggPass(thread_db* tdbb, jrd_req* request) const
+{
+ dsc* desc = NULL;
+ dsc* desc2 = NULL;
+
+ desc = EVL_expr(tdbb, request, arg);
+ if (request->req_flags & req_null)
+ return false;
+
+ desc2 = EVL_expr(tdbb, request, arg2);
+ if (request->req_flags & req_null)
+ return false;
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ ++impure->vlux_count;
+
+ const double y = MOV_get_double(desc);
+ const double x = MOV_get_double(desc2);
+
+ CorrImpure* impure2 = request->getImpure<CorrImpure>(impure2Offset);
+ impure2->x += x;
+ impure2->x2 += x * x;
+ impure2->y += y;
+ impure2->y2 += y * y;
+ impure2->xy += x * y;
+
+ return true;
+}
+
+void CorrAggNode::aggPass(thread_db* /*tdbb*/, jrd_req* /*request*/, dsc* /*desc*/) const
+{
+ fb_assert(false);
+}
+
+dsc* CorrAggNode::aggExecute(thread_db* tdbb, jrd_req* request) const
+{
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ CorrImpure* impure2 = request->getImpure<CorrImpure>(impure2Offset);
+ double d;
+
+ switch (type)
+ {
+ case TYPE_COVAR_SAMP:
+ if (impure->vlux_count < 2)
+ return NULL;
+ d = (impure2->xy - impure2->y * impure2->x / impure->vlux_count) / (impure->vlux_count - 1);
+ break;
+
+ case TYPE_COVAR_POP:
+ if (impure->vlux_count == 0)
+ return NULL;
+ d = (impure2->xy - impure2->y * impure2->x / impure->vlux_count) / impure->vlux_count;
+ break;
+
+ case TYPE_CORR:
+ {
+ // COVAR_POP(Y, X) / (STDDEV_POP(X) * STDDEV_POP(Y))
+ if (impure->vlux_count == 0)
+ return NULL;
+
+ const double covarPop = (impure2->xy - impure2->y * impure2->x / impure->vlux_count) /
+ impure->vlux_count;
+ const double varPopX = (impure2->x2 - impure2->x * impure2->x / impure->vlux_count) /
+ impure->vlux_count;
+ const double varPopY = (impure2->y2 - impure2->y * impure2->y / impure->vlux_count) /
+ impure->vlux_count;
+ const double divisor = sqrt(varPopX) * sqrt(varPopY);
+
+ if (divisor == 0.0)
+ return NULL;
+
+ d = covarPop / divisor;
+ break;
+ }
+ }
+
+ dsc temp;
+ temp.makeDouble(&d);
+
+ EVL_make_value(tdbb, &temp, impure);
+
+ return &impure->vlu_desc;
+}
+
+AggNode* CorrAggNode::dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/
+{
+ return FB_NEW(getPool()) CorrAggNode(getPool(), type,
+ doDsqlPass(dsqlScratch, arg), doDsqlPass(dsqlScratch, arg2));
+}
+
+
} // namespace Jrd
Modified: firebird/trunk/src/dsql/AggNodes.h
===================================================================
--- firebird/trunk/src/dsql/AggNodes.h 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/dsql/AggNodes.h 2015-03-23 02:55:42 UTC (rev 61059)
@@ -192,6 +192,48 @@
ULONG impure2Offset;
};
+class CorrAggNode : public AggNode
+{
+public:
+ enum CorrType
+ {
+ TYPE_COVAR_SAMP,
+ TYPE_COVAR_POP,
+ TYPE_CORR
+ };
+
+ struct CorrImpure
+ {
+ double x, x2, y, y2, xy;
+ };
+
+ explicit CorrAggNode(MemoryPool& pool, CorrType aType,
+ ValueExprNode* aArg = NULL, ValueExprNode* aArg2 = NULL);
+
+ virtual void aggPostRse(thread_db* tdbb, CompilerScratch* csb);
+
+ static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
+
+ virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
+ virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc);
+ virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const;
+
+ virtual void aggInit(thread_db* tdbb, jrd_req* request) const;
+ virtual bool aggPass(thread_db* tdbb, jrd_req* request) const;
+ virtual void aggPass(thread_db* tdbb, jrd_req* request, dsc* desc) const;
+ virtual dsc* aggExecute(thread_db* tdbb, jrd_req* request) const;
+
+protected:
+ virtual AggNode* dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/;
+
+public:
+ const CorrType type;
+ NestConst<ValueExprNode> arg2;
+
+private:
+ ULONG impure2Offset;
+};
+
} // namespace
#endif // DSQL_AGG_NODES_H
Modified: firebird/trunk/src/dsql/parse.y
===================================================================
--- firebird/trunk/src/dsql/parse.y 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/dsql/parse.y 2015-03-23 02:55:42 UTC (rev 61059)
@@ -576,6 +576,9 @@
%token <metaNamePtr> STDDEV_POP
%token <metaNamePtr> VAR_SAMP
%token <metaNamePtr> VAR_POP
+%token <metaNamePtr> COVAR_SAMP
+%token <metaNamePtr> COVAR_POP
+%token <metaNamePtr> CORR
// precedence declarations for expression evaluation
@@ -3814,6 +3817,9 @@
| START
| SIMILAR // added in FB 2.5
| KW_BOOLEAN // added in FB 3.0
+ | CORR
+ | COVAR_POP
+ | COVAR_SAMP
| DETERMINISTIC
| KW_FALSE
| OFFSET
@@ -6805,6 +6811,12 @@
{ $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_VAR_SAMP, $3); }
| VAR_POP '(' value ')'
{ $$ = newNode<StdDevAggNode>(StdDevAggNode::TYPE_VAR_POP, $3); }
+ | COVAR_SAMP '(' value ',' value ')'
+ { $$ = newNode<CorrAggNode>(CorrAggNode::TYPE_COVAR_SAMP, $3, $5); }
+ | COVAR_POP '(' value ',' value ')'
+ { $$ = newNode<CorrAggNode>(CorrAggNode::TYPE_COVAR_POP, $3, $5); }
+ | CORR '(' value ',' value ')'
+ { $$ = newNode<CorrAggNode>(CorrAggNode::TYPE_CORR, $3, $5); }
;
%type <aggNode> window_function
Modified: firebird/trunk/src/jrd/blp.h
===================================================================
--- firebird/trunk/src/jrd/blp.h 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/jrd/blp.h 2015-03-23 02:55:42 UTC (rev 61059)
@@ -245,5 +245,8 @@
{"agg_stddev_pop", one},
{"agg_var_samp", one},
{"agg_var_pop", one},
+ {"agg_covar_samp", two},
+ {"agg_covar_pop", two},
+ {"agg_corr", two},
{0, 0}
};
Modified: firebird/trunk/src/jrd/blr.h
===================================================================
--- firebird/trunk/src/jrd/blr.h 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/jrd/blr.h 2015-03-23 02:55:42 UTC (rev 61059)
@@ -411,5 +411,8 @@
#define blr_agg_stddev_pop (unsigned char) 212
#define blr_agg_var_samp (unsigned char) 213
#define blr_agg_var_pop (unsigned char) 214
+#define blr_agg_covar_samp (unsigned char) 215
+#define blr_agg_covar_pop (unsigned char) 216
+#define blr_agg_corr (unsigned char) 217
#endif // JRD_BLR_H
Modified: firebird/trunk/src/yvalve/keywords.cpp
===================================================================
--- firebird/trunk/src/yvalve/keywords.cpp 2015-03-23 00:20:24 UTC (rev 61058)
+++ firebird/trunk/src/yvalve/keywords.cpp 2015-03-23 02:55:42 UTC (rev 61059)
@@ -129,10 +129,13 @@
{CONSTRAINT, "CONSTRAINT", 1, false},
{CONTAINING, "CONTAINING", 1, false},
{CONTINUE, "CONTINUE", 2, true},
+ {CORR, "CORR", 2, false},
{COS, "COS", 2, false},
{COSH, "COSH", 2, false},
{COT, "COT", 2, false},
{COUNT, "COUNT", 1, false},
+ {COVAR_POP, "COVAR_POP", 2, false},
+ {COVAR_SAMP, "COVAR_SAMP", 2, false},
{CREATE, "CREATE", 1, false},
{CROSS, "CROSS", 2, false},
{CSTRING, "CSTRING", 1, false},
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-03-24 00:12:47
|
Revision: 61071
http://sourceforge.net/p/firebird/code/61071
Author: firebirds
Date: 2015-03-24 00:12:40 +0000 (Tue, 24 Mar 2015)
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 2015-03-23 15:52:30 UTC (rev 61070)
+++ firebird/trunk/ChangeLog 2015-03-24 00:12:40 UTC (rev 61071)
@@ -1,3 +1,55 @@
+ 2015-03-23 15:52 alexpeshkoff
+ M src/remote/remot_proto.h
+ M src/remote/remote.cpp
+Cleanup
+
+ 2015-03-23 11:06 alexpeshkoff
+ M src/dsql/dsql.cpp
+ M src/jrd/CryptoManager.cpp
+ M src/jrd/DbCreators.cpp
+ M src/jrd/Mapping.cpp
+ M src/jrd/cch.cpp
+ M src/jrd/dfw.epp
+ M src/jrd/exe.cpp
+ M src/jrd/extds/ExtDS.cpp
+ M src/jrd/extds/InternalDS.cpp
+ M src/jrd/extds/IscDS.cpp
+ M src/jrd/jrd.cpp
+ M src/jrd/jrd.h
+ M src/jrd/nbak.cpp
+ M src/jrd/pag.cpp
+ M src/jrd/status.h
+ M src/jrd/svc.cpp
+ M src/jrd/svc.h
+ M src/jrd/vio.cpp
+Cleanup - avoid automatic type conversion in FbLocalStatus as suggested by Claudio
+
+ 2015-03-23 09:06 alexpeshkoff
+ M src/common/DynamicStrings.cpp
+ M src/common/DynamicStrings.h
+ M src/common/StatusHolder.h
+ M src/common/fb_exception.cpp
+Misc
+
+ 2015-03-23 08:17 alexpeshkoff
+ M src/common/StatusArg.cpp
+Fixed potential BOF - thanks to Claudio
+
+ 2015-03-23 04:29 robocop
+ M src/remote/SockAddr.h
+Misc.
+
+ 2015-03-23 02:55 asfernandes
+ M doc/WhatsNew
+ M doc/sql.extensions/README.statistical_functions.txt
+ M src/dsql/AggNodes.cpp
+ M src/dsql/AggNodes.h
+ M src/dsql/parse.y
+ M src/jrd/blp.h
+ M src/jrd/blr.h
+ M src/yvalve/keywords.cpp
+Feature CORE-4717 - Aggregate statistical functions COVAR_SAMP, COVAR_POP and CORR - contributed by Hajime Nakagami.
+
2015-03-22 22:43 hvlad
M src/jrd/os/win32/winnt.cpp
M src/remote/SockAddr.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-23 15:52:30 UTC (rev 61070)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-24 00:12:40 UTC (rev 61071)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31733
+ FORMAL BUILD NUMBER:31739
*/
-#define PRODUCT_VER_STRING "3.0.0.31733"
-#define FILE_VER_STRING "WI-T3.0.0.31733"
-#define LICENSE_VER_STRING "WI-T3.0.0.31733"
-#define FILE_VER_NUMBER 3, 0, 0, 31733
+#define PRODUCT_VER_STRING "3.0.0.31739"
+#define FILE_VER_STRING "WI-T3.0.0.31739"
+#define LICENSE_VER_STRING "WI-T3.0.0.31739"
+#define FILE_VER_NUMBER 3, 0, 0, 31739
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31733"
+#define FB_BUILD_NO "31739"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-23 15:52:30 UTC (rev 61070)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-24 00:12:40 UTC (rev 61071)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31733
+BuildNum=31739
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...> - 2015-03-25 00:12:44
|
Revision: 61077
http://sourceforge.net/p/firebird/code/61077
Author: firebirds
Date: 2015-03-25 00:12:42 +0000 (Wed, 25 Mar 2015)
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 2015-03-24 13:18:04 UTC (rev 61076)
+++ firebird/trunk/ChangeLog 2015-03-25 00:12:42 UTC (rev 61077)
@@ -1,3 +1,7 @@
+ 2015-03-24 01:30 robocop
+ M src/jrd/vio.cpp
+Misc.
+
2015-03-23 15:52 alexpeshkoff
M src/remote/remot_proto.h
M src/remote/remote.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-24 13:18:04 UTC (rev 61076)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-25 00:12:42 UTC (rev 61077)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31739
+ FORMAL BUILD NUMBER:31740
*/
-#define PRODUCT_VER_STRING "3.0.0.31739"
-#define FILE_VER_STRING "WI-T3.0.0.31739"
-#define LICENSE_VER_STRING "WI-T3.0.0.31739"
-#define FILE_VER_NUMBER 3, 0, 0, 31739
+#define PRODUCT_VER_STRING "3.0.0.31740"
+#define FILE_VER_STRING "WI-T3.0.0.31740"
+#define LICENSE_VER_STRING "WI-T3.0.0.31740"
+#define FILE_VER_NUMBER 3, 0, 0, 31740
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31739"
+#define FB_BUILD_NO "31740"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-24 13:18:04 UTC (rev 61076)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-25 00:12:42 UTC (rev 61077)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31739
+BuildNum=31740
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...> - 2015-03-25 17:52:02
|
Revision: 61081
http://sourceforge.net/p/firebird/code/61081
Author: asfernandes
Date: 2015-03-25 17:51:54 +0000 (Wed, 25 Mar 2015)
Log Message:
-----------
Feature CORE-4722 - Aggregate linear regression functions.
Modified Paths:
--------------
firebird/trunk/doc/WhatsNew
firebird/trunk/src/dsql/AggNodes.cpp
firebird/trunk/src/dsql/AggNodes.h
firebird/trunk/src/dsql/parse.y
firebird/trunk/src/jrd/blp.h
firebird/trunk/src/jrd/blr.h
firebird/trunk/src/yvalve/keywords.cpp
Added Paths:
-----------
firebird/trunk/doc/sql.extensions/README.regr_functions.txt
Modified: firebird/trunk/doc/WhatsNew
===================================================================
--- firebird/trunk/doc/WhatsNew 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/doc/WhatsNew 2015-03-25 17:51:54 UTC (rev 61081)
@@ -291,6 +291,14 @@
Contributor(s):
Alex Peshkov <peshkoff at mail.ru>
+ * New feature CORE-4722
+ Aggregate linear regression functions
+ See also:
+ /doc/sql.extensions/README.regr_functions.txt
+ Contributor(s):
+ Hajime Nakagami <nakagami at gmail.com>
+ Adriano dos Santos Fernandes <adrianosf at gmail.com>
+
* New feature CORE-4717
Aggregate statistical functions COVAR_SAMP, COVAR_POP and CORR
See also:
Added: firebird/trunk/doc/sql.extensions/README.regr_functions.txt
===================================================================
--- firebird/trunk/doc/sql.extensions/README.regr_functions.txt (rev 0)
+++ firebird/trunk/doc/sql.extensions/README.regr_functions.txt 2015-03-25 17:51:54 UTC (rev 61081)
@@ -0,0 +1,38 @@
+---------------------------
+Linear Regression Functions
+---------------------------
+
+REGR_* functions analyze relationshitp of the 2 numeric set of data.
+These functions calculate with records that both of 2 set are not NULL.
+
+Syntax:
+
+ <regr function> ::= <function name>(<expr1>, <expr2>)
+ <function name> := { REGR_AVGX | REGR_AVGY | REGR_COUNT | REGR_INTERCEPT |
+ REGR_R2 | REGR_SLOPE | REGR_SXX | REGR_SXY | REGR_SYY }
+
+Formula use bellow variable.
+
+Y: <expr1> (<expr1> IS NOT NULL AND <expr2> IS NOT NULL).
+X: <expr2> (<expr1> IS NOT NULL AND <expr2> IS NOT NULL).
+N: COUNT of recordset except <expr1> IS NULL OR <expr2> IS NULL.
+
+Formula:
+
+ REGR_AVGX(Y, X) = SUM(X) / N
+ REGR_AVGY(Y, X) = SUM(Y) / N
+ REGR_COUNT(Y, X) = N
+ REGR_INTERCEPT(Y, X) = REGR_AVGY(Y, X) - REGR_SLOPE(Y, X) * REGR_AVG_X(Y, X)
+ REGR_R2(Y, X) = POWER(CORR(Y, X),2)
+ REGR_SLOPE(Y, X) = COVAR_POP(Y, X)
+ REGR_SXX(Y, X) = N * VAR_POP(X)
+ REGR_SXY(Y, X) = N * COVAR_POP(Y, X)
+ REGR_SYY(Y, X) = N * VAR_POP(Y)
+
+Author:
+
+ Hajime Nakagami <nak...@gm...>
+
+Note:
+
+ Function return NULL if N = 0 except of REGR_COUNT().
Property changes on: firebird/trunk/doc/sql.extensions/README.regr_functions.txt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: firebird/trunk/src/dsql/AggNodes.cpp
===================================================================
--- firebird/trunk/src/dsql/AggNodes.cpp 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/dsql/AggNodes.cpp 2015-03-25 17:51:54 UTC (rev 61081)
@@ -1220,6 +1220,7 @@
default:
fb_assert(false);
+ return NULL;
}
return FB_NEW(pool) StdDevAggNode(pool, type, PAR_parse_value(tdbb, csb));
@@ -1359,6 +1360,7 @@
default:
fb_assert(false);
+ return NULL;
}
ValueExprNode* a1 = PAR_parse_value(tdbb, csb);
@@ -1488,4 +1490,322 @@
}
+//--------------------
+
+static AggNode::Register<RegrAggNode> regrAvgxAggInfo("REGR_AVGX", blr_agg_regr_avgx);
+static AggNode::Register<RegrAggNode> regrAvgyAggInfo("REGR_AVGY", blr_agg_regr_avgy);
+static AggNode::Register<RegrAggNode> regrInterceptAggInfo("REGR_INTERCEPT", blr_agg_regr_intercept);
+static AggNode::Register<RegrAggNode> regrR2AggInfo("REGR_R2", blr_agg_regr_r2);
+static AggNode::Register<RegrAggNode> regrSlopeAggInfo("REGR_SLOPE", blr_agg_regr_slope);
+static AggNode::Register<RegrAggNode> regrSxxAggInfo("REGR_SXX", blr_agg_regr_sxx);
+static AggNode::Register<RegrAggNode> regrSxyAggInfo("REGR_SXY", blr_agg_regr_sxy);
+static AggNode::Register<RegrAggNode> regrSyyAggInfo("REGR_SYY", blr_agg_regr_syy);
+
+RegrAggNode::RegrAggNode(MemoryPool& pool, RegrType aType, ValueExprNode* aArg, ValueExprNode* aArg2)
+ : AggNode(pool,
+ (aType == RegrAggNode::TYPE_REGR_AVGX ? regrAvgxAggInfo :
+ aType == RegrAggNode::TYPE_REGR_AVGY ? regrAvgyAggInfo :
+ aType == RegrAggNode::TYPE_REGR_INTERCEPT ? regrInterceptAggInfo :
+ aType == RegrAggNode::TYPE_REGR_R2 ? regrR2AggInfo :
+ aType == RegrAggNode::TYPE_REGR_SLOPE ? regrSlopeAggInfo :
+ aType == RegrAggNode::TYPE_REGR_SXX ? regrSxxAggInfo :
+ aType == RegrAggNode::TYPE_REGR_SXY ? regrSxyAggInfo :
+ aType == RegrAggNode::TYPE_REGR_SYY ? regrSyyAggInfo :
+ regrSyyAggInfo),
+ false, false, aArg),
+ type(aType),
+ arg2(aArg2),
+ impure2Offset(0)
+{
+ addChildNode(arg2, arg2);
+}
+
+void RegrAggNode::aggPostRse(thread_db* tdbb, CompilerScratch* csb)
+{
+ AggNode::aggPostRse(tdbb, csb);
+ impure2Offset = CMP_impure(csb, sizeof(RegrImpure));
+}
+
+DmlNode* RegrAggNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp)
+{
+ RegrType type;
+
+ switch (blrOp)
+ {
+ case blr_agg_regr_avgx:
+ type = TYPE_REGR_AVGX;
+ break;
+
+ case blr_agg_regr_avgy:
+ type = TYPE_REGR_AVGY;
+ break;
+
+ case blr_agg_regr_intercept:
+ type = TYPE_REGR_INTERCEPT;
+ break;
+
+ case blr_agg_regr_r2:
+ type = TYPE_REGR_R2;
+ break;
+
+ case blr_agg_regr_slope:
+ type = TYPE_REGR_SLOPE;
+ break;
+
+ case blr_agg_regr_sxx:
+ type = TYPE_REGR_SXX;
+ break;
+
+ case blr_agg_regr_sxy:
+ type = TYPE_REGR_SXY;
+ break;
+
+ case blr_agg_regr_syy:
+ type = TYPE_REGR_SYY;
+ break;
+
+ default:
+ fb_assert(false);
+ return NULL;
+ }
+
+ ValueExprNode* a1 = PAR_parse_value(tdbb, csb);
+ ValueExprNode* a2 = PAR_parse_value(tdbb, csb);
+ return FB_NEW(pool) RegrAggNode(pool, type, a1, a2);
+}
+
+void RegrAggNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
+{
+ desc->makeDouble();
+ desc->setNullable(true);
+}
+
+void RegrAggNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc)
+{
+ desc->makeDouble();
+}
+
+ValueExprNode* RegrAggNode::copy(thread_db* tdbb, NodeCopier& copier) const
+{
+ RegrAggNode* node = FB_NEW(*tdbb->getDefaultPool()) RegrAggNode(*tdbb->getDefaultPool(), type);
+ node->nodScale = nodScale;
+ node->arg = copier.copy(tdbb, arg);
+ node->arg2 = copier.copy(tdbb, arg2);
+ return node;
+}
+
+void RegrAggNode::aggInit(thread_db* tdbb, jrd_req* request) const
+{
+ AggNode::aggInit(tdbb, request);
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ impure->make_double(0);
+
+ RegrImpure* impure2 = request->getImpure<RegrImpure>(impure2Offset);
+ impure2->x = impure2->x2 = impure2->y = impure2->y2 = impure2->xy = 0.0;
+}
+
+bool RegrAggNode::aggPass(thread_db* tdbb, jrd_req* request) const
+{
+ dsc* desc = NULL;
+ dsc* desc2 = NULL;
+
+ desc = EVL_expr(tdbb, request, arg);
+ if (request->req_flags & req_null)
+ return false;
+
+ desc2 = EVL_expr(tdbb, request, arg2);
+ if (request->req_flags & req_null)
+ return false;
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ ++impure->vlux_count;
+
+ const double y = MOV_get_double(desc);
+ const double x = MOV_get_double(desc2);
+
+ RegrImpure* impure2 = request->getImpure<RegrImpure>(impure2Offset);
+ impure2->x += x;
+ impure2->x2 += x * x;
+ impure2->y += y;
+ impure2->y2 += y * y;
+ impure2->xy += x * y;
+
+ return true;
+}
+
+void RegrAggNode::aggPass(thread_db* /*tdbb*/, jrd_req* /*request*/, dsc* /*desc*/) const
+{
+ fb_assert(false);
+}
+
+dsc* RegrAggNode::aggExecute(thread_db* tdbb, jrd_req* request) const
+{
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ RegrImpure* impure2 = request->getImpure<RegrImpure>(impure2Offset);
+
+ if (impure->vlux_count == 0)
+ return NULL;
+
+ const double varPopX = (impure2->x2 - impure2->x * impure2->x / impure->vlux_count) / impure->vlux_count;
+ const double varPopY = (impure2->y2 - impure2->y * impure2->y / impure->vlux_count) / impure->vlux_count;
+ const double covarPop = (impure2->xy - impure2->y * impure2->x / impure->vlux_count) / impure->vlux_count;
+ const double avgX = impure2->x / impure->vlux_count;
+ const double avgY = impure2->y / impure->vlux_count;
+ const double slope = covarPop / varPopX;
+ const double sq = sqrt(varPopX) * sqrt(varPopY);
+ const double corr = covarPop / sq;
+
+ double d;
+
+ switch (type)
+ {
+ case TYPE_REGR_AVGX:
+ d = avgX;
+ break;
+
+ case TYPE_REGR_AVGY:
+ d = avgY;
+ break;
+
+ case TYPE_REGR_INTERCEPT:
+ if (varPopX == 0.0)
+ return NULL;
+ else
+ d = avgY - slope * avgX;
+ break;
+
+ case TYPE_REGR_R2:
+ if (varPopX == 0.0)
+ return NULL;
+ else if (varPopY == 0.0)
+ d = 1.0;
+ else if (sq == 0.0)
+ return NULL;
+ else
+ d = corr * corr;
+ break;
+
+ case TYPE_REGR_SLOPE:
+ if (varPopX == 0.0)
+ return NULL;
+ else
+ d = covarPop / varPopX;
+ break;
+
+ case TYPE_REGR_SXX:
+ d = impure->vlux_count * varPopX;
+ break;
+
+ case TYPE_REGR_SXY:
+ d = impure->vlux_count * covarPop;
+ break;
+
+ case TYPE_REGR_SYY:
+ d = impure->vlux_count * varPopY;
+ break;
+ }
+
+ dsc temp;
+ temp.makeDouble(&d);
+
+ EVL_make_value(tdbb, &temp, impure);
+
+ return &impure->vlu_desc;
+}
+
+AggNode* RegrAggNode::dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/
+{
+ return FB_NEW(getPool()) RegrAggNode(getPool(), type,
+ doDsqlPass(dsqlScratch, arg), doDsqlPass(dsqlScratch, arg2));
+}
+
+
+//--------------------
+
+
+static AggNode::Register<RegrCountAggNode> regrCountAggInfo("REGR_COUNT", blr_agg_regr_count);
+
+RegrCountAggNode::RegrCountAggNode(MemoryPool& pool, ValueExprNode* aArg, ValueExprNode* aArg2)
+ : AggNode(pool, regrCountAggInfo, false, false, aArg),
+ arg2(aArg2)
+{
+ addChildNode(arg2, arg2);
+}
+
+DmlNode* RegrCountAggNode::parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp)
+{
+ ValueExprNode* a1 = PAR_parse_value(tdbb, csb);
+ ValueExprNode* a2 = PAR_parse_value(tdbb, csb);
+ return FB_NEW(pool) RegrCountAggNode(pool, a1, a2);
+}
+
+void RegrCountAggNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
+{
+ desc->makeInt64(0);
+}
+
+void RegrCountAggNode::getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc)
+{
+ desc->makeInt64(0);
+}
+
+ValueExprNode* RegrCountAggNode::copy(thread_db* tdbb, NodeCopier& copier) const
+{
+ RegrCountAggNode* node = FB_NEW(*tdbb->getDefaultPool()) RegrCountAggNode(*tdbb->getDefaultPool());
+ node->nodScale = nodScale;
+ node->arg = copier.copy(tdbb, arg);
+ node->arg2 = copier.copy(tdbb, arg2);
+ return node;
+}
+
+void RegrCountAggNode::aggInit(thread_db* tdbb, jrd_req* request) const
+{
+ AggNode::aggInit(tdbb, request);
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ impure->make_int64(0);
+}
+
+bool RegrCountAggNode::aggPass(thread_db* tdbb, jrd_req* request) const
+{
+ dsc* desc = NULL;
+ dsc* desc2 = NULL;
+
+ desc = EVL_expr(tdbb, request, arg);
+ if (request->req_flags & req_null)
+ return false;
+
+ desc2 = EVL_expr(tdbb, request, arg2);
+ if (request->req_flags & req_null)
+ return false;
+
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+ ++impure->vlu_misc.vlu_int64;
+
+ return true;
+}
+
+void RegrCountAggNode::aggPass(thread_db* /*tdbb*/, jrd_req* /*request*/, dsc* /*desc*/) const
+{
+ fb_assert(false);
+}
+
+dsc* RegrCountAggNode::aggExecute(thread_db* tdbb, jrd_req* request) const
+{
+ impure_value_ex* impure = request->getImpure<impure_value_ex>(impureOffset);
+
+ if (!impure->vlu_desc.dsc_dtype)
+ return NULL;
+
+ return &impure->vlu_desc;
+}
+
+AggNode* RegrCountAggNode::dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/
+{
+ return FB_NEW(getPool()) RegrCountAggNode(getPool(),
+ doDsqlPass(dsqlScratch, arg), doDsqlPass(dsqlScratch, arg2));
+}
+
+
} // namespace Jrd
Modified: firebird/trunk/src/dsql/AggNodes.h
===================================================================
--- firebird/trunk/src/dsql/AggNodes.h 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/dsql/AggNodes.h 2015-03-25 17:51:54 UTC (rev 61081)
@@ -234,6 +234,77 @@
ULONG impure2Offset;
};
+class RegrAggNode : public AggNode
+{
+public:
+ enum RegrType
+ {
+ TYPE_REGR_AVGX,
+ TYPE_REGR_AVGY,
+ TYPE_REGR_INTERCEPT,
+ TYPE_REGR_R2,
+ TYPE_REGR_SLOPE,
+ TYPE_REGR_SXX,
+ TYPE_REGR_SXY,
+ TYPE_REGR_SYY
+ };
+
+ struct RegrImpure
+ {
+ double x, x2, y, y2, xy;
+ };
+
+ explicit RegrAggNode(MemoryPool& pool, RegrType aType,
+ ValueExprNode* aArg = NULL, ValueExprNode* aArg2 = NULL);
+
+ virtual void aggPostRse(thread_db* tdbb, CompilerScratch* csb);
+
+ static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
+
+ virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
+ virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc);
+ virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const;
+
+ virtual void aggInit(thread_db* tdbb, jrd_req* request) const;
+ virtual bool aggPass(thread_db* tdbb, jrd_req* request) const;
+ virtual void aggPass(thread_db* tdbb, jrd_req* request, dsc* desc) const;
+ virtual dsc* aggExecute(thread_db* tdbb, jrd_req* request) const;
+
+protected:
+ virtual AggNode* dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/;
+
+public:
+ const RegrType type;
+ NestConst<ValueExprNode> arg2;
+
+private:
+ ULONG impure2Offset;
+};
+
+class RegrCountAggNode : public AggNode
+{
+public:
+ explicit RegrCountAggNode(MemoryPool& pool,
+ ValueExprNode* aArg = NULL, ValueExprNode* aArg2 = NULL);
+
+ static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
+
+ virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
+ virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc);
+ virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const;
+
+ virtual void aggInit(thread_db* tdbb, jrd_req* request) const;
+ virtual bool aggPass(thread_db* tdbb, jrd_req* request) const;
+ virtual void aggPass(thread_db* tdbb, jrd_req* request, dsc* desc) const;
+ virtual dsc* aggExecute(thread_db* tdbb, jrd_req* request) const;
+
+protected:
+ virtual AggNode* dsqlCopy(DsqlCompilerScratch* dsqlScratch) /*const*/;
+
+public:
+ NestConst<ValueExprNode> arg2;
+};
+
} // namespace
#endif // DSQL_AGG_NODES_H
Modified: firebird/trunk/src/dsql/parse.y
===================================================================
--- firebird/trunk/src/dsql/parse.y 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/dsql/parse.y 2015-03-25 17:51:54 UTC (rev 61081)
@@ -579,6 +579,15 @@
%token <metaNamePtr> COVAR_SAMP
%token <metaNamePtr> COVAR_POP
%token <metaNamePtr> CORR
+%token <metaNamePtr> REGR_AVGX
+%token <metaNamePtr> REGR_AVGY
+%token <metaNamePtr> REGR_COUNT
+%token <metaNamePtr> REGR_INTERCEPT
+%token <metaNamePtr> REGR_R2
+%token <metaNamePtr> REGR_SLOPE
+%token <metaNamePtr> REGR_SXX
+%token <metaNamePtr> REGR_SXY
+%token <metaNamePtr> REGR_SYY
// precedence declarations for expression evaluation
@@ -3824,6 +3833,15 @@
| KW_FALSE
| OFFSET
| OVER
+ | REGR_AVGX
+ | REGR_AVGY
+ | REGR_COUNT
+ | REGR_INTERCEPT
+ | REGR_R2
+ | REGR_SLOPE
+ | REGR_SXX
+ | REGR_SXY
+ | REGR_SYY
| RETURN
| RDB_RECORD_VERSION
| ROW
@@ -6817,6 +6835,24 @@
{ $$ = newNode<CorrAggNode>(CorrAggNode::TYPE_COVAR_POP, $3, $5); }
| CORR '(' value ',' value ')'
{ $$ = newNode<CorrAggNode>(CorrAggNode::TYPE_CORR, $3, $5); }
+ | REGR_AVGX '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_AVGX, $3, $5); }
+ | REGR_AVGY '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_AVGY, $3, $5); }
+ | REGR_COUNT '(' value ',' value ')'
+ { $$ = newNode<RegrCountAggNode>($3, $5); }
+ | REGR_INTERCEPT '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_INTERCEPT, $3, $5); }
+ | REGR_R2 '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_R2, $3, $5); }
+ | REGR_SLOPE '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_SLOPE, $3, $5); }
+ | REGR_SXX '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_SXX, $3, $5); }
+ | REGR_SXY '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_SXY, $3, $5); }
+ | REGR_SYY '(' value ',' value ')'
+ { $$ = newNode<RegrAggNode>(RegrAggNode::TYPE_REGR_SYY, $3, $5); }
;
%type <aggNode> window_function
Modified: firebird/trunk/src/jrd/blp.h
===================================================================
--- firebird/trunk/src/jrd/blp.h 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/jrd/blp.h 2015-03-25 17:51:54 UTC (rev 61081)
@@ -248,5 +248,14 @@
{"agg_covar_samp", two},
{"agg_covar_pop", two},
{"agg_corr", two},
+ {"blr_agg_regr_avgx", two},
+ {"blr_agg_regr_avgy", two},
+ {"blr_agg_regr_count", two},
+ {"blr_agg_regr_intercept", two},
+ {"blr_agg_regr_r2", two},
+ {"blr_agg_regr_slope", two},
+ {"blr_agg_regr_sxx", two},
+ {"blr_agg_regr_sxy", two},
+ {"blr_agg_regr_syy", two},
{0, 0}
};
Modified: firebird/trunk/src/jrd/blr.h
===================================================================
--- firebird/trunk/src/jrd/blr.h 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/jrd/blr.h 2015-03-25 17:51:54 UTC (rev 61081)
@@ -414,5 +414,14 @@
#define blr_agg_covar_samp (unsigned char) 215
#define blr_agg_covar_pop (unsigned char) 216
#define blr_agg_corr (unsigned char) 217
+#define blr_agg_regr_avgx (unsigned char) 218
+#define blr_agg_regr_avgy (unsigned char) 219
+#define blr_agg_regr_count (unsigned char) 220
+#define blr_agg_regr_intercept (unsigned char) 221
+#define blr_agg_regr_r2 (unsigned char) 222
+#define blr_agg_regr_slope (unsigned char) 223
+#define blr_agg_regr_sxx (unsigned char) 224
+#define blr_agg_regr_sxy (unsigned char) 225
+#define blr_agg_regr_syy (unsigned char) 226
#endif // JRD_BLR_H
Modified: firebird/trunk/src/yvalve/keywords.cpp
===================================================================
--- firebird/trunk/src/yvalve/keywords.cpp 2015-03-25 11:15:20 UTC (rev 61080)
+++ firebird/trunk/src/yvalve/keywords.cpp 2015-03-25 17:51:54 UTC (rev 61081)
@@ -333,6 +333,15 @@
{RECREATE, "RECREATE", 2, false},
{RECURSIVE, "RECURSIVE", 2, false},
{REFERENCES, "REFERENCES", 1, false},
+ {REGR_AVGX, "REGR_AVGX", 2, false},
+ {REGR_AVGY, "REGR_AVGY", 2, false},
+ {REGR_COUNT, "REGR_COUNT", 2, false},
+ {REGR_INTERCEPT, "REGR_INTERCEPT", 2, false},
+ {REGR_R2, "REGR_R2", 2, false},
+ {REGR_SLOPE, "REGR_SLOPE", 2, false},
+ {REGR_SXX, "REGR_SXX", 2, false},
+ {REGR_SXY, "REGR_SXY", 2, false},
+ {REGR_SYY, "REGR_SYY", 2, false},
{KW_RELATIVE, "RELATIVE", 2, true},
{RELEASE, "RELEASE", 2, false},
{REPLACE, "REPLACE", 2, false},
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-03-26 00:13:10
|
Revision: 61087
http://sourceforge.net/p/firebird/code/61087
Author: firebirds
Date: 2015-03-26 00:13:01 +0000 (Thu, 26 Mar 2015)
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 2015-03-25 20:16:02 UTC (rev 61086)
+++ firebird/trunk/ChangeLog 2015-03-26 00:13:01 UTC (rev 61087)
@@ -1,3 +1,23 @@
+ 2015-03-25 17:52 asfernandes
+ M src/dsql/AggNodes.cpp
+ M src/dsql/AggNodes.h
+ M src/dsql/Nodes.h
+ M src/dsql/WinNodes.cpp
+ M src/jrd/blp.h
+ M src/jrd/blr.h
+Rework new aggregate functions so that they use the single blr_agg_function BLR verb.
+
+ 2015-03-25 17:51 asfernandes
+ M doc/WhatsNew
+ A doc/sql.extensions/README.regr_functions.txt
+ M src/dsql/AggNodes.cpp
+ M src/dsql/AggNodes.h
+ M src/dsql/parse.y
+ M src/jrd/blp.h
+ M src/jrd/blr.h
+ M src/yvalve/keywords.cpp
+Feature CORE-4722 - Aggregate linear regression functions.
+
2015-03-24 01:30 robocop
M src/jrd/vio.cpp
Misc.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-25 20:16:02 UTC (rev 61086)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-26 00:13:01 UTC (rev 61087)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31740
+ FORMAL BUILD NUMBER:31742
*/
-#define PRODUCT_VER_STRING "3.0.0.31740"
-#define FILE_VER_STRING "WI-T3.0.0.31740"
-#define LICENSE_VER_STRING "WI-T3.0.0.31740"
-#define FILE_VER_NUMBER 3, 0, 0, 31740
+#define PRODUCT_VER_STRING "3.0.0.31742"
+#define FILE_VER_STRING "WI-T3.0.0.31742"
+#define LICENSE_VER_STRING "WI-T3.0.0.31742"
+#define FILE_VER_NUMBER 3, 0, 0, 31742
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31740"
+#define FB_BUILD_NO "31742"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-25 20:16:02 UTC (rev 61086)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-26 00:13:01 UTC (rev 61087)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31740
+BuildNum=31742
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...> - 2015-03-28 00:14:58
|
Revision: 61120
http://sourceforge.net/p/firebird/code/61120
Author: firebirds
Date: 2015-03-28 00:14:56 +0000 (Sat, 28 Mar 2015)
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 2015-03-27 22:10:02 UTC (rev 61119)
+++ firebird/trunk/ChangeLog 2015-03-28 00:14:56 UTC (rev 61120)
@@ -1,3 +1,132 @@
+ 2015-03-27 17:51 alexpeshkoff
+ M src/alice/alice.cpp
+ M src/alice/main/aliceMain.cpp
+ M src/auth/SecurityDatabase/LegacyServer.cpp
+ M src/burp/burp.cpp
+ M src/burp/main/burpMain.cpp
+ M src/common/IntlParametersBlock.cpp
+ M src/common/SimpleStatusVector.h
+ M src/common/StatusArg.h
+ M src/common/StatusHolder.cpp
+ M src/common/classes/init.cpp
+ M src/common/fb_exception.cpp
+ M src/common/isc.cpp
+ M src/common/unicode_util.cpp
+ M src/common/utils.cpp
+ M src/common/utils_proto.h
+ M src/dsql/ExprNodes.cpp
+ M src/dsql/StmtNodes.cpp
+ M src/include/fb_exception.h
+ M src/jrd/CryptoManager.cpp
+ M src/jrd/Function.epp
+ M src/jrd/JrdStatement.cpp
+ M src/jrd/TempSpace.cpp
+ M src/jrd/btr.cpp
+ M src/jrd/cch.cpp
+ M src/jrd/cmp.cpp
+ M src/jrd/dfw.epp
+ M src/jrd/err.cpp
+ M src/jrd/exe.cpp
+ M src/jrd/extds/ExtDS.cpp
+ M src/jrd/fun.epp
+ M src/jrd/jrd.cpp
+ M src/jrd/met.epp
+ M src/jrd/nbak.cpp
+ M src/jrd/sdw.cpp
+ M src/jrd/svc.cpp
+ M src/jrd/tra.cpp
+ M src/jrd/trace/TraceService.cpp
+ M src/jrd/validation.cpp
+ M src/jrd/vio.cpp
+ M src/lock/print.cpp
+ M src/remote/client/interface.cpp
+ M src/remote/protocol.cpp
+ M src/remote/remote.cpp
+ M src/remote/server/os/posix/inet_server.cpp
+ M src/remote/server/server.cpp
+ M src/utilities/fbsvcmgr/fbsvcmgr.cpp
+ M src/utilities/fbtracemgr/traceMgrMain.cpp
+ M src/utilities/gsec/gsec.cpp
+ M src/utilities/gsec/main/gsecMain.cpp
+ M src/utilities/gstat/dba.epp
+ M src/utilities/gstat/main/gstatMain.cpp
+ M src/utilities/nbackup/nbackup.cpp
+ M src/utilities/ntrace/TracePluginImpl.cpp
+ M src/yvalve/user_dsql.cpp
+ M src/yvalve/utl.cpp
+ M src/yvalve/why.cpp
+Be more consistent putting IStatus into fast inline wrapper. Also some syntax sugar as suggested by Dmitry
+
+ 2015-03-27 15:41 hvlad
+ M src/jrd/os/win32/ibinitdll.cpp
+ M src/remote/server/os/win32/srvr_w32.cpp
+Fixed Windows build
+
+ 2015-03-27 14:36 alexpeshkoff
+ M src/alice/alice.cpp
+ M src/alice/exe.cpp
+ M src/alice/main/aliceMain.cpp
+ M src/auth/SecurityDatabase/LegacyServer.cpp
+ M src/burp/burp.cpp
+ M src/burp/canonical.cpp
+ M src/burp/main/burpMain.cpp
+ M src/common/SimpleStatusVector.h
+ M src/common/StatusArg.cpp
+ M src/common/StatusArg.h
+ M src/common/StatusHolder.cpp
+ M src/common/StatusHolder.h
+ M src/common/classes/init.cpp
+ M src/common/fb_exception.cpp
+ M src/common/isc.cpp
+ M src/common/isc_proto.h
+ M src/common/isc_s_proto.h
+ M src/common/isc_sync.cpp
+ M src/common/sdl.cpp
+ M src/common/sdl_proto.h
+ M src/common/utils.cpp
+ M src/dsql/ExprNodes.cpp
+ M src/dsql/Nodes.h
+ M src/dsql/StmtNodes.cpp
+ M src/gpre/boot/gpre_meta_boot.cpp
+ M src/include/fb_exception.h
+ M src/include/firebird/FirebirdInterface.idl
+ M src/include/firebird/IdlFbInterfaces.h
+ M src/include/firebird/Interface.h
+ M src/jrd/Function.epp
+ M src/jrd/Monitoring.cpp
+ M src/jrd/TempSpace.cpp
+ M src/jrd/event.cpp
+ M src/jrd/jrd.cpp
+ M src/jrd/lck.cpp
+ M src/jrd/met.epp
+ M src/jrd/status.h
+ M src/jrd/svc.cpp
+ M src/jrd/trace/TraceService.cpp
+ M src/lock/lock.cpp
+ M src/lock/lock_proto.h
+ M src/lock/print.cpp
+ M src/remote/protocol.cpp
+ M src/remote/server/os/posix/inet_server.cpp
+ M src/utilities/fbsvcmgr/fbsvcmgr.cpp
+ M src/utilities/fbtracemgr/traceMgrMain.cpp
+ M src/utilities/gsec/gsec.cpp
+ M src/utilities/gsec/main/gsecMain.cpp
+ M src/utilities/gstat/dba.epp
+ M src/utilities/gstat/main/gstatMain.cpp
+ M src/utilities/nbackup/nbackup.cpp
+ M src/utilities/ntrace/TracePluginImpl.cpp
+ M src/yvalve/MasterImplementation.cpp
+ M src/yvalve/MasterImplementation.h
+ M src/yvalve/alt.cpp
+ M src/yvalve/preparse.cpp
+ M src/yvalve/user_dsql.cpp
+ M src/yvalve/utl.cpp
+ M src/yvalve/utl_proto.h
+ M src/yvalve/why.cpp
+Use status interface instead plain status vector when working with exceptions.
+Avoid use of circullar allocation for strings in status vector (except when unavoidable for ISC API backward compatibility).
+Use TLS for circullar allocation buffer instead manually working with threads' list.
+
2015-03-25 17:52 asfernandes
M src/dsql/AggNodes.cpp
M src/dsql/AggNodes.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-27 22:10:02 UTC (rev 61119)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-28 00:14:56 UTC (rev 61120)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31742
+ FORMAL BUILD NUMBER:31745
*/
-#define PRODUCT_VER_STRING "3.0.0.31742"
-#define FILE_VER_STRING "WI-T3.0.0.31742"
-#define LICENSE_VER_STRING "WI-T3.0.0.31742"
-#define FILE_VER_NUMBER 3, 0, 0, 31742
+#define PRODUCT_VER_STRING "3.0.0.31745"
+#define FILE_VER_STRING "WI-T3.0.0.31745"
+#define LICENSE_VER_STRING "WI-T3.0.0.31745"
+#define FILE_VER_NUMBER 3, 0, 0, 31745
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31742"
+#define FB_BUILD_NO "31745"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-27 22:10:02 UTC (rev 61119)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-28 00:14:56 UTC (rev 61120)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31742
+BuildNum=31745
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...> - 2015-03-29 00:13:05
|
Revision: 61128
http://sourceforge.net/p/firebird/code/61128
Author: firebirds
Date: 2015-03-29 00:13:03 +0000 (Sun, 29 Mar 2015)
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 2015-03-28 22:34:04 UTC (rev 61127)
+++ firebird/trunk/ChangeLog 2015-03-29 00:13:03 UTC (rev 61128)
@@ -1,3 +1,52 @@
+ 2015-03-28 15:02 mapopa
+ M builds/posix/Makefile.in
+Cleanup comments
+
+ 2015-03-28 13:55 mapopa
+ M builds/posix/Makefile.in.examples
+Sync code with firebird 2.5.x tree and libreoffice patch , even if is commented
+
+ 2015-03-28 00:40 asfernandes
+ M doc/sql.extensions/README.regr_functions.txt
+Corrections, thanks to Simonov Denis.
+
+ 2015-03-28 00:36 asfernandes
+ M src/auth/SecureRemotePassword/Message.h
+ M src/auth/SecureRemotePassword/server/SrpServer.cpp
+ M src/auth/SecurityDatabase/LegacyManagement.epp
+ M src/common/DynamicStrings.cpp
+ M src/common/SimpleStatusVector.h
+ M src/common/StatusHolder.h
+ M src/common/fb_exception.cpp
+ M src/common/utils.cpp
+ M src/dsql/dsql.cpp
+ M src/include/fb_exception.h
+ M src/jrd/CryptoManager.cpp
+ M src/jrd/err.cpp
+ M src/jrd/exe.cpp
+ M src/jrd/extds/ExtDS.cpp
+ M src/jrd/extds/IscDS.cpp
+ M src/jrd/extds/IscDS.h
+ M src/jrd/idx.cpp
+ M src/jrd/jrd.cpp
+ M src/jrd/nbak.cpp
+ M src/jrd/status.h
+ M src/jrd/svc.cpp
+ M src/jrd/trace/TraceConfigStorage.cpp
+ M src/jrd/val.h
+ M src/jrd/vio.cpp
+ M src/remote/client/interface.cpp
+ M src/remote/inet.cpp
+ M src/remote/os/win32/wnet.cpp
+ M src/remote/os/win32/xnet.cpp
+ M src/remote/server/server.cpp
+ M src/utilities/nbackup/nbackup.cpp
+ M src/utilities/ntrace/TracePluginImpl.cpp
+ M src/yvalve/PluginManager.cpp
+ M src/yvalve/utl.cpp
+ M src/yvalve/utl_proto.h
+Misc.
+
2015-03-27 17:51 alexpeshkoff
M src/alice/alice.cpp
M src/alice/main/aliceMain.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-28 22:34:04 UTC (rev 61127)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-29 00:13:03 UTC (rev 61128)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31745
+ FORMAL BUILD NUMBER:31749
*/
-#define PRODUCT_VER_STRING "3.0.0.31745"
-#define FILE_VER_STRING "WI-T3.0.0.31745"
-#define LICENSE_VER_STRING "WI-T3.0.0.31745"
-#define FILE_VER_NUMBER 3, 0, 0, 31745
+#define PRODUCT_VER_STRING "3.0.0.31749"
+#define FILE_VER_STRING "WI-T3.0.0.31749"
+#define LICENSE_VER_STRING "WI-T3.0.0.31749"
+#define FILE_VER_NUMBER 3, 0, 0, 31749
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31745"
+#define FB_BUILD_NO "31749"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-28 22:34:04 UTC (rev 61127)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-29 00:13:03 UTC (rev 61128)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31745
+BuildNum=31749
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...> - 2015-03-30 00:11:56
|
Revision: 61149
http://sourceforge.net/p/firebird/code/61149
Author: firebirds
Date: 2015-03-30 00:11:49 +0000 (Mon, 30 Mar 2015)
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 2015-03-29 22:32:25 UTC (rev 61148)
+++ firebird/trunk/ChangeLog 2015-03-30 00:11:49 UTC (rev 61149)
@@ -1,3 +1,52 @@
+ 2015-03-29 19:25 mapopa
+ M builds/install/posix-common/posixLibrary.sh.in
+Cleanup editors battle comment
+
+ 2015-03-29 19:11 mapopa
+ M builds/install/posix-common/preinstall.sh.in
+Cleanup preinstall script
+
+ 2015-03-29 18:19 mapopa
+ M builds/posix/Makefile.in
+Cleanup comments gds*f and gds*ada header files are in the old cvs tree
+
+ 2015-03-29 18:08 mapopa
+ M builds/posix/Makefile.in
+Cleanup old comments, GDSLIB_OBJECTS are no more
+
+ 2015-03-29 16:44 mapopa
+ M extern/editline/ChangeLog
+ M extern/editline/src/chared.c
+ M extern/editline/src/chared.h
+ M extern/editline/src/chartype.c
+ M extern/editline/src/chartype.h
+ M extern/editline/src/el.c
+ M extern/editline/src/eln.c
+ M extern/editline/src/filecomplete.c
+ M extern/editline/src/hist.h
+ M extern/editline/src/histedit.h
+ M extern/editline/src/history.c
+ M extern/editline/src/map.c
+ M extern/editline/src/map.h
+ M extern/editline/src/parse.c
+ M extern/editline/src/read.c
+ M extern/editline/src/readline.c
+ M extern/editline/src/tty.c
+ M extern/editline/src/tty.h
+ M extern/editline/src/unvis.c
+ M extern/editline/src/vi.c
+ M extern/editline/src/vis.c
+ M extern/editline/src/vis.h
+Update libedit
+
+ 2015-03-29 15:07 alexpeshkoff
+ M src/isql/isql.epp
+Fixed CORE-4719: Message "Statement failed, SQLSTATE = 00000 + unknown ISC error 0" appears when issuing REVOKE ALL ON ALL FROM <existing_user>
+
+ 2015-03-29 12:01 mapopa
+ M src/include/fb_types.h
+cleanup comments : old bad SCHAR definition
+
2015-03-28 15:02 mapopa
M builds/posix/Makefile.in
Cleanup comments
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-29 22:32:25 UTC (rev 61148)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-30 00:11:49 UTC (rev 61149)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31749
+ FORMAL BUILD NUMBER:31756
*/
-#define PRODUCT_VER_STRING "3.0.0.31749"
-#define FILE_VER_STRING "WI-T3.0.0.31749"
-#define LICENSE_VER_STRING "WI-T3.0.0.31749"
-#define FILE_VER_NUMBER 3, 0, 0, 31749
+#define PRODUCT_VER_STRING "3.0.0.31756"
+#define FILE_VER_STRING "WI-T3.0.0.31756"
+#define LICENSE_VER_STRING "WI-T3.0.0.31756"
+#define FILE_VER_NUMBER 3, 0, 0, 31756
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31749"
+#define FB_BUILD_NO "31756"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-29 22:32:25 UTC (rev 61148)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-30 00:11:49 UTC (rev 61149)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31749
+BuildNum=31756
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...> - 2015-03-30 11:12:29
|
Revision: 61155
http://sourceforge.net/p/firebird/code/61155
Author: alexpeshkoff
Date: 2015-03-30 11:12:27 +0000 (Mon, 30 Mar 2015)
Log Message:
-----------
Added check for SOCK_CLOEXEC
Modified Paths:
--------------
firebird/trunk/configure.ac
firebird/trunk/src/remote/inet.cpp
Modified: firebird/trunk/configure.ac
===================================================================
--- firebird/trunk/configure.ac 2015-03-30 10:39:06 UTC (rev 61154)
+++ firebird/trunk/configure.ac 2015-03-30 11:12:27 UTC (rev 61155)
@@ -726,7 +726,6 @@
AC_CHECK_HEADERS(aio.h)
AC_CHECK_HEADERS(mntent.h mnttab.h sys/mntent.h sys/mnttab.h)
AC_CHECK_HEADERS(sys/ipc.h sys/file.h)
-AC_CHECK_HEADERS(socket.h sys/socket.h sys/sockio.h winsock2.h)
AC_CHECK_HEADERS(sys/resource.h)
AC_CHECK_HEADERS(sys/sem.h)
AC_CHECK_HEADERS(semaphore.h)
@@ -739,6 +738,22 @@
AC_CHECK_HEADERS(libio.h)
AC_CHECK_HEADERS(linux/falloc.h)
+AC_CHECK_HEADERS(socket.h sys/socket.h sys/sockio.h winsock2.h)
+AC_CHECK_DECLS(SOCK_CLOEXEC,,,[[
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_SOCKET_H
+#include <socket.h>
+#endif
+#ifdef HAVE_SYS_SOCKIO_H
+#include <sys/sockio.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+]])
+
dnl check for compression
if test "$COMPRESSION" = "Y"; then
AC_CHECK_HEADERS(zlib.h,,AC_MSG_ERROR(zlib header not found - please install development zlib package))
Modified: firebird/trunk/src/remote/inet.cpp
===================================================================
--- firebird/trunk/src/remote/inet.cpp 2015-03-30 10:39:06 UTC (rev 61154)
+++ firebird/trunk/src/remote/inet.cpp 2015-03-30 11:12:27 UTC (rev 61155)
@@ -3058,11 +3058,13 @@
return ::socket(domain, type, protocol);
#else
int fd;
+#if HAVE_DECL_SOCK_CLOEXEC
do {
fd = ::socket(domain, type | SOCK_CLOEXEC, protocol);
} while (fd < 0 && SYSCALL_INTERRUPTED(errno));
if (fd < 0 && errno == EINVAL) // probably O_CLOEXEC not accepted
+#endif
{
do {
fd = ::socket(domain, type, protocol);
@@ -3081,20 +3083,18 @@
return ::accept(sockfd, addr, addrlen);
#else
int fd;
-#ifdef HAVE_ACCEPT4
+#if defined(HAVE_ACCEPT4) && HAVE_DECL_SOCK_CLOEXEC
do {
fd = ::accept4(sockfd, addr, addrlen, SOCK_CLOEXEC);
} while (fd < 0 && SYSCALL_INTERRUPTED(errno));
if (fd < 0 && errno == EINVAL) // probably O_CLOEXEC not accepted
+#endif
{
-#endif
do {
fd = ::accept(sockfd, addr, addrlen);
} while (fd < 0 && SYSCALL_INTERRUPTED(errno));
-#ifdef HAVE_ACCEPT4
}
-#endif
setCloseOnExec(fd);
return fd;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ego...@us...> - 2015-03-30 14:34:35
|
Revision: 61162
http://sourceforge.net/p/firebird/code/61162
Author: egorpugin
Date: 2015-03-30 14:34:28 +0000 (Mon, 30 Mar 2015)
Log Message:
-----------
[build] [cmake] Search for accept4 and SOCK_CLOEXEC symbols during configuration step.
Modified Paths:
--------------
firebird/trunk/builds/cmake/Configure.cmake
firebird/trunk/src/include/gen/autoconfig.h.in
Modified: firebird/trunk/builds/cmake/Configure.cmake
===================================================================
--- firebird/trunk/builds/cmake/Configure.cmake 2015-03-30 13:49:30 UTC (rev 61161)
+++ firebird/trunk/builds/cmake/Configure.cmake 2015-03-30 14:34:28 UTC (rev 61162)
@@ -47,7 +47,20 @@
endfunction(check_type_alignment)
#######################################
+# FUNCTION check_symbol
+#######################################
+function(check_symbol symbol var)
+ foreach(f ${ARGN})
+ if (NOT ${var})
+ unset(${var} CACHE)
+ message(STATUS "Looking for ${symbol} - ${f}")
+ check_symbol_exists(${symbol} ${f} ${var})
+ endif()
+ endforeach()
+endfunction(check_symbol)
+#######################################
+
include(CheckCSourceCompiles)
include(CheckCSourceRuns)
include(CheckCXXSourceCompiles)
@@ -181,6 +194,7 @@
#fi
set(functions_list
+ accept4
AO_compare_and_swap_full
clock_gettime
dirname
@@ -259,6 +273,7 @@
test_big_endian(WORDS_BIGENDIAN)
check_symbol_exists(INFINITY math.h HAVE_INFINITY)
check_symbol_exists(va_copy stdarg.h HAVE_VA_COPY)
+check_symbol(SOCK_CLOEXEC HAVE_DECL_SOCK_CLOEXEC socket.h sys/socket.h)
set(CMAKE_EXTRA_INCLUDE_FILES Windows.h)
check_type_size("char[MAX_PATH]" MAXPATHLEN)
Modified: firebird/trunk/src/include/gen/autoconfig.h.in
===================================================================
--- firebird/trunk/src/include/gen/autoconfig.h.in 2015-03-30 13:49:30 UTC (rev 61161)
+++ firebird/trunk/src/include/gen/autoconfig.h.in 2015-03-30 14:34:28 UTC (rev 61162)
@@ -393,6 +393,9 @@
* Functions
*
******************************************************************************/
+
+/* Define to 1 if you have the `accept4' function. */
+#cmakedefine HAVE_ACCEPT4 1
/* Define to 1 if you have the `AO_compare_and_swap_full' function. */
#cmakedefine HAVE_AO_COMPARE_AND_SWAP_FULL 1
@@ -624,6 +627,9 @@
/* Define this if va_copy() is defined in stdarg.h */
#cmakedefine HAVE_VA_COPY 1
+/* Define this if SOCK_CLOEXEC is defined in socket.h */
+#cmakedefine HAVE_DECL_SOCK_CLOEXEC 1
+
/* Number of bits in a file offset, on hosts where this is settable. */
#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-03-31 00:14:45
|
Revision: 61176
http://sourceforge.net/p/firebird/code/61176
Author: firebirds
Date: 2015-03-31 00:14:42 +0000 (Tue, 31 Mar 2015)
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 2015-03-30 20:18:18 UTC (rev 61175)
+++ firebird/trunk/ChangeLog 2015-03-31 00:14:42 UTC (rev 61176)
@@ -1,3 +1,34 @@
+ 2015-03-30 17:39 alexpeshkoff
+ M src/common/unicode_util.cpp
+Fixed CORE-4583: FB 3 embedded tries to load ICU DLLs from PATH folders
+
+ 2015-03-30 14:35 egorpugin
+ M src/jrd/jrd.cpp
+[build] Fix duplicate symbol error on AppleClang while building for iOS.
+
+ 2015-03-30 14:34 egorpugin
+ M builds/cmake/Configure.cmake
+ M src/include/gen/autoconfig.h.in
+[build] [cmake] Search for accept4 and SOCK_CLOEXEC symbols during configuration step.
+
+ 2015-03-30 13:49 alexpeshkoff
+ M src/auth/SecurityDatabase/LegacyServer.cpp
+Fixed CORE-4712: Messages "Error in isc_release_request() ... when working with legacy security database" appear in firebird.log for CLASSIC server when connecting with legacy auth
+
+ 2015-03-30 12:03 alexpeshkoff
+ M src/common/isc_s_proto.h
+ M src/common/isc_sync.cpp
+Fixed compilation on Mac
+
+ 2015-03-30 11:12 alexpeshkoff
+ M configure.ac
+ M src/remote/inet.cpp
+Added check for SOCK_CLOEXEC
+
+ 2015-03-30 09:34 alexpeshkoff
+ M src/remote/inet.cpp
+Use better flag name for sockets
+
2015-03-29 19:25 mapopa
M builds/install/posix-common/posixLibrary.sh.in
Cleanup editors battle comment
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-30 20:18:18 UTC (rev 61175)
+++ firebird/trunk/src/jrd/build_no.h 2015-03-31 00:14:42 UTC (rev 61176)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31756
+ FORMAL BUILD NUMBER:31763
*/
-#define PRODUCT_VER_STRING "3.0.0.31756"
-#define FILE_VER_STRING "WI-T3.0.0.31756"
-#define LICENSE_VER_STRING "WI-T3.0.0.31756"
-#define FILE_VER_NUMBER 3, 0, 0, 31756
+#define PRODUCT_VER_STRING "3.0.0.31763"
+#define FILE_VER_STRING "WI-T3.0.0.31763"
+#define LICENSE_VER_STRING "WI-T3.0.0.31763"
+#define FILE_VER_NUMBER 3, 0, 0, 31763
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31756"
+#define FB_BUILD_NO "31763"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-30 20:18:18 UTC (rev 61175)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-03-31 00:14:42 UTC (rev 61176)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31756
+BuildNum=31763
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ro...@us...> - 2015-03-31 02:10:45
|
Revision: 61178
http://sourceforge.net/p/firebird/code/61178
Author: robocop
Date: 2015-03-31 02:10:38 +0000 (Tue, 31 Mar 2015)
Log Message:
-----------
Misc.
Modified Paths:
--------------
firebird/trunk/doc/sql.extensions/README.regr_functions.txt
firebird/trunk/src/common/StatusHolder.h
firebird/trunk/src/common/unicode_util.cpp
firebird/trunk/src/isql/isql.epp
Modified: firebird/trunk/doc/sql.extensions/README.regr_functions.txt
===================================================================
--- firebird/trunk/doc/sql.extensions/README.regr_functions.txt 2015-03-31 00:21:15 UTC (rev 61177)
+++ firebird/trunk/doc/sql.extensions/README.regr_functions.txt 2015-03-31 02:10:38 UTC (rev 61178)
@@ -11,7 +11,7 @@
<function name> := { REGR_AVGX | REGR_AVGY | REGR_COUNT | REGR_INTERCEPT |
REGR_R2 | REGR_SLOPE | REGR_SXX | REGR_SXY | REGR_SYY }
-Formula use bellow variable.
+Formula use below variable.
Y: <expr1> (<expr1> IS NOT NULL AND <expr2> IS NOT NULL).
X: <expr2> (<expr1> IS NOT NULL AND <expr2> IS NOT NULL).
Modified: firebird/trunk/src/common/StatusHolder.h
===================================================================
--- firebird/trunk/src/common/StatusHolder.h 2015-03-31 00:21:15 UTC (rev 61177)
+++ firebird/trunk/src/common/StatusHolder.h 2015-03-31 02:10:38 UTC (rev 61178)
@@ -124,7 +124,7 @@
return SimpleStatusVector<S>::begin();
}
- const unsigned length() const
+ unsigned length() const
{
return SimpleStatusVector<S>::getCount();
}
Modified: firebird/trunk/src/common/unicode_util.cpp
===================================================================
--- firebird/trunk/src/common/unicode_util.cpp 2015-03-31 00:21:15 UTC (rev 61177)
+++ firebird/trunk/src/common/unicode_util.cpp 2015-03-31 02:10:38 UTC (rev 61178)
@@ -1131,7 +1131,7 @@
if ((convIcu = ImplementConversionICU::create(favMaj, favMin)))
return *convIcu;
}
- catch (const Exception& ex)
+ catch (const Exception&)
{ }
// Do a regular search
Modified: firebird/trunk/src/isql/isql.epp
===================================================================
--- firebird/trunk/src/isql/isql.epp 2015-03-31 00:21:15 UTC (rev 61177)
+++ firebird/trunk/src/isql/isql.epp 2015-03-31 02:10:38 UTC (rev 61178)
@@ -8214,11 +8214,11 @@
if (!setValues.global_Cols.find(var.alias, &pad[i]) && setValues.global_Col_default)
pad[i] = setValues.global_Col_default;
disp_length = pad[i];
+
+ if (var.charSet == 4)
+ disp_length *= 4;
}
- if ((type == SQL_TEXT || type == SQL_VARYING) && var.charSet == 4)
- disp_length *= 4;
-
// The total line length
linelength += disp_length + 1;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-04-01 00:14:08
|
Revision: 61194
http://sourceforge.net/p/firebird/code/61194
Author: firebirds
Date: 2015-04-01 00:14:05 +0000 (Wed, 01 Apr 2015)
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 2015-03-31 21:47:59 UTC (rev 61193)
+++ firebird/trunk/ChangeLog 2015-04-01 00:14:05 UTC (rev 61194)
@@ -1,3 +1,22 @@
+ 2015-03-31 17:22 alexpeshkoff
+ M src/include/gen/ids.h
+ M src/jrd/Monitoring.cpp
+ M src/jrd/fields.h
+ M src/jrd/names.h
+ M src/jrd/relations.h
+Fixed CORE-4729: Add a flag to mon$database helping to decide what type of security database is used - default, self or other
+
+ 2015-03-31 09:57 mapopa
+ M src/common/common.h
+Comments cleanup
+
+ 2015-03-31 02:10 robocop
+ M doc/sql.extensions/README.regr_functions.txt
+ M src/common/StatusHolder.h
+ M src/common/unicode_util.cpp
+ M src/isql/isql.epp
+Misc.
+
2015-03-30 17:39 alexpeshkoff
M src/common/unicode_util.cpp
Fixed CORE-4583: FB 3 embedded tries to load ICU DLLs from PATH folders
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-03-31 21:47:59 UTC (rev 61193)
+++ firebird/trunk/src/jrd/build_no.h 2015-04-01 00:14:05 UTC (rev 61194)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31763
+ FORMAL BUILD NUMBER:31766
*/
-#define PRODUCT_VER_STRING "3.0.0.31763"
-#define FILE_VER_STRING "WI-T3.0.0.31763"
-#define LICENSE_VER_STRING "WI-T3.0.0.31763"
-#define FILE_VER_NUMBER 3, 0, 0, 31763
+#define PRODUCT_VER_STRING "3.0.0.31766"
+#define FILE_VER_STRING "WI-T3.0.0.31766"
+#define LICENSE_VER_STRING "WI-T3.0.0.31766"
+#define FILE_VER_NUMBER 3, 0, 0, 31766
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31763"
+#define FB_BUILD_NO "31766"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-03-31 21:47:59 UTC (rev 61193)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-04-01 00:14:05 UTC (rev 61194)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31763
+BuildNum=31766
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...> - 2015-04-02 00:14:21
|
Revision: 61203
http://sourceforge.net/p/firebird/code/61203
Author: firebirds
Date: 2015-04-02 00:14:14 +0000 (Thu, 02 Apr 2015)
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 2015-04-01 20:15:41 UTC (rev 61202)
+++ firebird/trunk/ChangeLog 2015-04-02 00:14:14 UTC (rev 61203)
@@ -1,3 +1,7 @@
+ 2015-04-01 15:10 alexpeshkoff
+ M src/jrd/vio.cpp
+Fixes assertion in DFW, caused by uninitialized descriptor
+
2015-03-31 17:22 alexpeshkoff
M src/include/gen/ids.h
M src/jrd/Monitoring.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-04-01 20:15:41 UTC (rev 61202)
+++ firebird/trunk/src/jrd/build_no.h 2015-04-02 00:14:14 UTC (rev 61203)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31766
+ FORMAL BUILD NUMBER:31767
*/
-#define PRODUCT_VER_STRING "3.0.0.31766"
-#define FILE_VER_STRING "WI-T3.0.0.31766"
-#define LICENSE_VER_STRING "WI-T3.0.0.31766"
-#define FILE_VER_NUMBER 3, 0, 0, 31766
+#define PRODUCT_VER_STRING "3.0.0.31767"
+#define FILE_VER_STRING "WI-T3.0.0.31767"
+#define LICENSE_VER_STRING "WI-T3.0.0.31767"
+#define FILE_VER_NUMBER 3, 0, 0, 31767
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31766"
+#define FB_BUILD_NO "31767"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-04-01 20:15:41 UTC (rev 61202)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-04-02 00:14:14 UTC (rev 61203)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31766
+BuildNum=31767
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...> - 2015-04-02 02:26:54
|
Revision: 61204
http://sourceforge.net/p/firebird/code/61204
Author: asfernandes
Date: 2015-04-02 02:26:46 +0000 (Thu, 02 Apr 2015)
Log Message:
-----------
Changes related to CORE-1180: change syntax and semantics to the standard SQL, and also manage RDB$RELATION_CONSTRAINTS records correctly.
Modified Paths:
--------------
firebird/trunk/doc/sql.extensions/README.ddl.txt
firebird/trunk/src/dsql/DdlNodes.epp
firebird/trunk/src/dsql/parse.y
Modified: firebird/trunk/doc/sql.extensions/README.ddl.txt
===================================================================
--- firebird/trunk/doc/sql.extensions/README.ddl.txt 2015-04-02 00:14:14 UTC (rev 61203)
+++ firebird/trunk/doc/sql.extensions/README.ddl.txt 2015-04-02 02:26:46 UTC (rev 61204)
@@ -357,9 +357,9 @@
Nullability of a table field or a domain can now be changed with the ALTER command. Syntax:
-ALTER TABLE <table name> ALTER <field name> [NOT] NULL
+ALTER TABLE <table name> ALTER <field name> {DROP | SET} NOT NULL
-ALTER DOMAIN <domain name> [NOT] NULL
+ALTER DOMAIN <domain name> {DROP | SET} NOT NULL
A change in a table from NULL to NOT NULL is subject to a full data validation on the table.
A change in a domain changes and validates all the tables using the domain.
Modified: firebird/trunk/src/dsql/DdlNodes.epp
===================================================================
--- firebird/trunk/src/dsql/DdlNodes.epp 2015-04-02 00:14:14 UTC (rev 61203)
+++ firebird/trunk/src/dsql/DdlNodes.epp 2015-04-02 02:26:46 UTC (rev 61204)
@@ -7159,10 +7159,6 @@
const AlterColNullClause* clause =
static_cast<const AlterColNullClause*>(i->getObject());
- //// FIXME: This clause allows inconsistencies like setting a field with a
- //// not null CONSTRAINT as nullable, or setting a field based on a not null
- //// domain as nullable (while ISQL shows it as not null).
-
AutoRequest request;
bool found = false;
@@ -7174,13 +7170,44 @@
found = true;
MODIFY RFL
+ {
if (!clause->notNullFlag && !RFL.RDB$GENERATOR_NAME.NULL)
{
// msg 274: Identity column @1 of table @2 cannot be changed to NULLable
status_exception::raise(Arg::PrivateDyn(274) << clause->name << name);
}
- RFL.RDB$NULL_FLAG = SSHORT(clause->notNullFlag);
+ if (clause->notNullFlag)
+ {
+ RFL.RDB$NULL_FLAG.NULL = FALSE;
+ RFL.RDB$NULL_FLAG = TRUE;
+
+ Constraint nullConstraint(*tdbb->getDefaultPool());
+ nullConstraint.type = Constraint::TYPE_NOT_NULL;
+ nullConstraint.columns.add(clause->name);
+ defineConstraint(tdbb, dsqlScratch, transaction, nullConstraint);
+ }
+ else
+ {
+ RFL.RDB$NULL_FLAG.NULL = TRUE;
+
+ AutoRequest request2;
+
+ FOR(REQUEST_HANDLE request2 TRANSACTION_HANDLE transaction)
+ RCL IN RDB$RELATION_CONSTRAINTS CROSS
+ CHK IN RDB$CHECK_CONSTRAINTS
+ WITH RCL.RDB$RELATION_NAME EQ name.c_str() AND
+ RCL.RDB$CONSTRAINT_TYPE EQ NOT_NULL_CNSTRT AND
+ CHK.RDB$CONSTRAINT_NAME EQ RCL.RDB$CONSTRAINT_NAME AND
+ CHK.RDB$TRIGGER_NAME EQ clause->name.c_str()
+ {
+ // ASF: Record in RDB$CHECK_CONSTRAINTS is deleted by a
+ // system trigger.
+ ERASE RCL;
+ }
+ END_FOR
+ }
+ }
END_MODIFY
}
END_FOR
Modified: firebird/trunk/src/dsql/parse.y
===================================================================
--- firebird/trunk/src/dsql/parse.y 2015-04-02 00:14:14 UTC (rev 61203)
+++ firebird/trunk/src/dsql/parse.y 2015-04-02 02:26:46 UTC (rev 61204)
@@ -3647,10 +3647,10 @@
{ setClause($alterDomainNode->dropDefault, "DOMAIN DROP DEFAULT"); }
| DROP CONSTRAINT
{ setClause($alterDomainNode->dropConstraint, "DOMAIN DROP CONSTRAINT"); }
- | KW_NULL
- { setClause($alterDomainNode->notNullFlag, "[NOT] NULL", false); }
- | NOT KW_NULL
- { setClause($alterDomainNode->notNullFlag, "[NOT] NULL", true); }
+ | DROP NOT KW_NULL
+ { setClause($alterDomainNode->notNullFlag, "{SET | DROP} NOT NULL", false); }
+ | SET NOT KW_NULL
+ { setClause($alterDomainNode->notNullFlag, "{SET | DROP} NOT NULL", true); }
| TO symbol_column_name
{ setClause($alterDomainNode->renameTo, "DOMAIN NAME", *$2); }
| KW_TYPE non_array_type
@@ -3700,14 +3700,14 @@
clause->toName = *$4;
$relationNode->clauses.add(clause);
}
- | col_opt alter_column_name KW_NULL
+ | col_opt alter_column_name DROP NOT KW_NULL
{
RelationNode::AlterColNullClause* clause = newNode<RelationNode::AlterColNullClause>();
clause->name = *$2;
clause->notNullFlag = false;
$relationNode->clauses.add(clause);
}
- | col_opt alter_column_name NOT KW_NULL
+ | col_opt alter_column_name SET NOT KW_NULL
{
RelationNode::AlterColNullClause* clause = newNode<RelationNode::AlterColNullClause>();
clause->name = *$2;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-04-03 00:14:12
|
Revision: 61218
http://sourceforge.net/p/firebird/code/61218
Author: firebirds
Date: 2015-04-03 00:14:05 +0000 (Fri, 03 Apr 2015)
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 2015-04-02 20:51:42 UTC (rev 61217)
+++ firebird/trunk/ChangeLog 2015-04-03 00:14:05 UTC (rev 61218)
@@ -1,3 +1,9 @@
+ 2015-04-02 02:26 asfernandes
+ M doc/sql.extensions/README.ddl.txt
+ M src/dsql/DdlNodes.epp
+ M src/dsql/parse.y
+Changes related to CORE-1180: change syntax and semantics to the standard SQL, and also manage RDB$RELATION_CONSTRAINTS records correctly.
+
2015-04-01 15:10 alexpeshkoff
M src/jrd/vio.cpp
Fixes assertion in DFW, caused by uninitialized descriptor
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-04-02 20:51:42 UTC (rev 61217)
+++ firebird/trunk/src/jrd/build_no.h 2015-04-03 00:14:05 UTC (rev 61218)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31767
+ FORMAL BUILD NUMBER:31768
*/
-#define PRODUCT_VER_STRING "3.0.0.31767"
-#define FILE_VER_STRING "WI-T3.0.0.31767"
-#define LICENSE_VER_STRING "WI-T3.0.0.31767"
-#define FILE_VER_NUMBER 3, 0, 0, 31767
+#define PRODUCT_VER_STRING "3.0.0.31768"
+#define FILE_VER_STRING "WI-T3.0.0.31768"
+#define LICENSE_VER_STRING "WI-T3.0.0.31768"
+#define FILE_VER_NUMBER 3, 0, 0, 31768
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31767"
+#define FB_BUILD_NO "31768"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-04-02 20:51:42 UTC (rev 61217)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-04-03 00:14:05 UTC (rev 61218)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31767
+BuildNum=31768
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...> - 2015-04-03 01:31:22
|
Revision: 61219
http://sourceforge.net/p/firebird/code/61219
Author: asfernandes
Date: 2015-04-03 01:31:15 +0000 (Fri, 03 Apr 2015)
Log Message:
-----------
Fixed (again) CORE-3373 - It is possible to store string with lenght 31 chars into column varchar(25).
Modified Paths:
--------------
firebird/trunk/doc/WhatsNew
firebird/trunk/src/jrd/intl.cpp
Modified: firebird/trunk/doc/WhatsNew
===================================================================
--- firebird/trunk/doc/WhatsNew 2015-04-03 00:14:05 UTC (rev 61218)
+++ firebird/trunk/doc/WhatsNew 2015-04-03 01:31:15 UTC (rev 61219)
@@ -231,6 +231,11 @@
Contributor(s):
Alex Peshkov <peshkoff at mail.ru>
+ * Bugfix CORE-3373
+ It is possible to store string with lenght 31 chars into column VARCHAR(25)
+ Contributor(s):
+ Adriano dos Santos Fernandes <adrianosf at gmail.com>
+
* Bugfix CORE-2848
Page-level "lock conversion denied" or "lock denied" errors
Contributor(s):
@@ -1512,11 +1517,6 @@
Contributor(s):
Adriano dos Santos Fernandes <adrianosf at gmail.com>
- * Bugfix CORE-3373
- It is possible to store string with lenght 31 chars into column VARCHAR(25)
- Contributor(s):
- Adriano dos Santos Fernandes <adrianosf at gmail.com>
-
* Bugfix CORE-3338
Regression: code changes disabled support for expression indexes with COALESCE, CASE and DECODE
Contributor(s):
Modified: firebird/trunk/src/jrd/intl.cpp
===================================================================
--- firebird/trunk/src/jrd/intl.cpp 2015-04-03 00:14:05 UTC (rev 61218)
+++ firebird/trunk/src/jrd/intl.cpp 2015-04-03 01:31:15 UTC (rev 61219)
@@ -955,7 +955,6 @@
if (toCharSet->isMultiByte() &&
!(toCharSet->getFlags() & CHARSET_LEGACY_SEMANTICS) &&
- toLength != 31 && // allow non CHARSET_LEGACY_SEMANTICS to be used as connection charset
src_len > dest_len)
{
err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) <<
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fir...@us...> - 2015-04-04 00:13:15
|
Revision: 61232
http://sourceforge.net/p/firebird/code/61232
Author: firebirds
Date: 2015-04-04 00:13:08 +0000 (Sat, 04 Apr 2015)
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 2015-04-03 19:25:32 UTC (rev 61231)
+++ firebird/trunk/ChangeLog 2015-04-04 00:13:08 UTC (rev 61232)
@@ -1,3 +1,16 @@
+ 2015-04-03 10:25 mapopa
+ D extern/btyacc/makefile.dos
+Dos file not needed
+
+ 2015-04-03 03:07 asfernandes
+ M doc/WhatsNew
+Misc.
+
+ 2015-04-03 01:31 asfernandes
+ M doc/WhatsNew
+ M src/jrd/intl.cpp
+Fixed (again) CORE-3373 - It is possible to store string with lenght 31 chars into column varchar(25).
+
2015-04-02 02:26 asfernandes
M doc/sql.extensions/README.ddl.txt
M src/dsql/DdlNodes.epp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h 2015-04-03 19:25:32 UTC (rev 61231)
+++ firebird/trunk/src/jrd/build_no.h 2015-04-04 00:13:08 UTC (rev 61232)
@@ -3,16 +3,16 @@
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
- FORMAL BUILD NUMBER:31768
+ FORMAL BUILD NUMBER:31771
*/
-#define PRODUCT_VER_STRING "3.0.0.31768"
-#define FILE_VER_STRING "WI-T3.0.0.31768"
-#define LICENSE_VER_STRING "WI-T3.0.0.31768"
-#define FILE_VER_NUMBER 3, 0, 0, 31768
+#define PRODUCT_VER_STRING "3.0.0.31771"
+#define FILE_VER_STRING "WI-T3.0.0.31771"
+#define LICENSE_VER_STRING "WI-T3.0.0.31771"
+#define FILE_VER_NUMBER 3, 0, 0, 31771
#define FB_MAJOR_VER "3"
#define FB_MINOR_VER "0"
#define FB_REV_NO "0"
-#define FB_BUILD_NO "31768"
+#define FB_BUILD_NO "31771"
#define FB_BUILD_TYPE "T"
#define FB_BUILD_SUFFIX "Firebird 3.0 Beta 2"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh 2015-04-03 19:25:32 UTC (rev 61231)
+++ firebird/trunk/src/misc/writeBuildNum.sh 2015-04-04 00:13:08 UTC (rev 61232)
@@ -9,7 +9,7 @@
MajorVer=3
MinorVer=0
RevNo=0
-BuildNum=31768
+BuildNum=31771
NowAt=`pwd`
cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|