| 
      
      
      From: <fir...@us...> - 2013-04-04 00:47:03
       | 
| Revision: 57895
          http://sourceforge.net/p/firebird/code/57895
Author:   firebirds
Date:     2013-04-04 00:46:59 +0000 (Thu, 04 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-03 15:27:28 UTC (rev 57894)
+++ firebird/trunk/ChangeLog	2013-04-04 00:46:59 UTC (rev 57895)
@@ -1,3 +1,7 @@
+ 2013-04-03 15:27  asfernandes 
+   M src/jrd/recsrc/ProcedureScan.cpp
+Fixed CORE-4073 - Constant columns getting empty value with subselect from procedure.
+
  2013-04-01 21:54  mapopa 
    M configure.ac
 Remove absolete sinixz check
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-03 15:27:28 UTC (rev 57894)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-04 00:46:59 UTC (rev 57895)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30325
+  FORMAL BUILD NUMBER:30326
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30325"
-#define FILE_VER_STRING "WI-T3.0.0.30325"
-#define LICENSE_VER_STRING "WI-T3.0.0.30325"
-#define FILE_VER_NUMBER 3, 0, 0, 30325
+#define PRODUCT_VER_STRING "3.0.0.30326"
+#define FILE_VER_STRING "WI-T3.0.0.30326"
+#define LICENSE_VER_STRING "WI-T3.0.0.30326"
+#define FILE_VER_NUMBER 3, 0, 0, 30326
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30325"
+#define FB_BUILD_NO "30326"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-03 15:27:28 UTC (rev 57894)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-04 00:46:59 UTC (rev 57895)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30325
+BuildNum=30326
 
 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...> - 2013-04-04 13:18:04
       | 
| Revision: 57896
          http://sourceforge.net/p/firebird/code/57896
Author:   alexpeshkoff
Date:     2013-04-04 13:17:57 +0000 (Thu, 04 Apr 2013)
Log Message:
-----------
Added support for changing configuration (client and embedded) from API
Modified Paths:
--------------
    firebird/trunk/builds/install/misc/firebird.conf.in
    firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp
    firebird/trunk/src/common/call_service.cpp
    firebird/trunk/src/common/call_service.h
    firebird/trunk/src/common/config/config.cpp
    firebird/trunk/src/common/config/config.h
    firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp
    firebird/trunk/src/include/consts_pub.h
    firebird/trunk/src/include/firebird/Interface.h
    firebird/trunk/src/include/firebird.h
    firebird/trunk/src/jrd/EngineInterface.h
    firebird/trunk/src/jrd/jrd.cpp
    firebird/trunk/src/jrd/svc.cpp
    firebird/trunk/src/remote/client/interface.cpp
    firebird/trunk/src/remote/inet.cpp
    firebird/trunk/src/remote/inet_proto.h
    firebird/trunk/src/remote/os/win32/wnet.cpp
    firebird/trunk/src/remote/os/win32/wnet_proto.h
    firebird/trunk/src/remote/os/win32/xnet.cpp
    firebird/trunk/src/remote/os/win32/xnet_proto.h
    firebird/trunk/src/remote/remot_proto.h
    firebird/trunk/src/remote/remote.cpp
    firebird/trunk/src/remote/remote.h
    firebird/trunk/src/remote/server/os/posix/inet_server.cpp
    firebird/trunk/src/remote/server/server.cpp
    firebird/trunk/src/utilities/gsec/gsec.cpp
    firebird/trunk/src/yvalve/MasterImplementation.cpp
    firebird/trunk/src/yvalve/MasterImplementation.h
    firebird/trunk/src/yvalve/why.cpp
Modified: firebird/trunk/builds/install/misc/firebird.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-04 13:17:57 UTC (rev 57896)
@@ -19,9 +19,9 @@
 # To activate an entry, remove the leading "#"s and supply the desired
 # value.
 #
-# Please note, a number of the values are specified in **Bytes** (Not KB).
-# Accordingly, we have provided some simple conversion tables at the bottom
-# of this file.
+# Please note, by default a number of the values are specified in **Bytes** (Not KB).
+# You may add obvious abbreviations k, m and g in the end of a numver to specify
+# kilobytes, megabytes and gigabytes.
 #
 # There are three types of configuration values: integer, boolean and string.
 #
@@ -31,12 +31,13 @@
 #   1
 #   42
 #   4711
+#   24M		# 24 * 1024 * 1024
 #
 # Boolean
 # -------
 # Boolean is expressed as integer values with 0 (zero) being "false" and
 # non-zero is taken to mean "true". For consistency we recommend you
-# only use 0/1.
+# only use 0/1. Also strings 'y', 'yes' and 'true' stand for "true".
 #
 # String
 # ------
@@ -44,6 +45,14 @@
 #   RemoteServiceName = gds_db
 #   RemotePipeName = pipe47
 #
+# Scopes
+# ------
+# Some parameters are marked as per-database / per-connection configurable.
+# Per-database configuration is done in file databases.conf (former aliases.conf).
+# Per-connection configuration is primarily client tool and done using
+# isc_dpb_config parameter in DPB (isc_spb_config for services).
+# Notice that per-database entries also may be tuned using DPB in case of
+# embedded engine when attaching to database first time.
 #
 # Portions of this file have been reproduced/made available with the
 # permission of Ann Harrison @ IBPhoenix.
@@ -350,12 +359,16 @@
 # is default one. On windows Sspi is also used when no login/password is given.
 # Client can use legacy authentication to talk to old servers.
 #
+# Per-database & per-connection configurable.
+#
 #AuthServer = Srp, Win_Sspi
 #AuthClient = Srp, Win_Sspi, Legacy_Auth
 
 # UserManager sets plugin used to work with security database. If more than
 # one plugin is given, first plugin from the list is used.
 #
+# Per-database configurable.
+#
 #UserManager = Srp
 
 # TracePlugin is used by firebird trace facility to send trace data to the user
@@ -366,10 +379,14 @@
 # Crypt plugins are used to crypt data transferred over the wire.
 # In default case wire is encrypted using Alleged RC4
 # (key must be generated by auth plugin).
+#
+# Per-connection configurable.
+#
 #CryptPlugin = Arc4
 
 # Key holder is a kind of temp storage for DB crypt keys.
 # There is no default for this kind of plugins.
+#
 #KeyHolderPlugin =
 
 
@@ -381,6 +398,8 @@
 #
 # Type: string
 #
+# Per-database & per-connection configurable.
+#
 #Providers = Remote,Engine12,Loopback
 
 
@@ -475,11 +494,28 @@
 #
 # Seconds to wait before concluding an attempt to connect has failed.
 #
+# Per-connection configurable.
+#
 # Type: integer
 #
 #ConnectionTimeout = 180
 
 #
+# Should connection over the wire be encrypted?
+# Has 3 different values: Required, Enabled or Disabled. Enabled behavior
+# depends another side requirements. If both sides set to enabled, connection
+# is encrypted.
+#
+# Attention: default depends upon connection type: incoming (server)
+#            or outgoing (client).
+#
+# Per-connection configurable.
+#
+# Type: integer
+#
+#WireCrypt = Enabled (for client) / Required (for server)
+
+#
 # Seconds to wait on a silent client connection before the server sends
 # dummy packets to request acknowledgment.
 #
@@ -495,6 +531,8 @@
 # follow instrutions of this article:
 # http://support.microsoft.com/default.aspx?kbid=140325
 #
+# Per-connection configurable.
+#
 # Type: integer
 #
 #DummyPacketInterval = 0
@@ -510,6 +548,8 @@
 # order of precendence is the 'RemoteServiceName' (if an entry is
 # found in the 'services.' file) then the 'RemoteServicePort'.
 #
+# Per-connection configurable.
+#
 # Type: string, integer
 #
 #RemoteServiceName = gds_db
@@ -520,6 +560,8 @@
 # messages.  The value of 0 (Zero) means that the server will choose
 # a port number randomly.
 #
+# Per-connection configurable.
+#
 # Type: integer
 #
 #RemoteAuxPort = 0
@@ -540,6 +582,8 @@
 #
 # Note: Currently is a default for classic and super servers.
 #
+# Per-connection configurable.
+#
 # Type: boolean
 #
 #TcpNoNagle = 1
@@ -701,6 +745,8 @@
 # Windows Vista/XP SP2/2000 SP4 it will not be accessible using the
 # local protocol from other sessions.
 #
+# Per-connection configurable.
+#
 # Type: string
 #
 #IpcName = FIREBIRD
@@ -710,6 +756,8 @@
 # Has the same meaning as a port number for TCP/IP. The default value is
 # compatible with IB/FB1.
 #
+# Per-connection configurable.
+#
 # Type: string
 #
 #RemotePipeName = interbas
Modified: firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp
===================================================================
--- firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -32,6 +32,8 @@
 #include "../common/classes/ClumpletWriter.h"
 #include "../auth/SecureRemotePassword/Message.h"
 
+#include "../jrd/EngineInterface.h"
+
 using namespace Firebird;
 
 namespace {
@@ -122,6 +124,8 @@
 			dpb.insertByte(isc_dpb_sec_attach, TRUE);
 			const char* str = "SYSDBA";
 			dpb.insertString(isc_dpb_user_name, str, strlen(str));
+			const char* providers = "Providers=" CURRENT_ENGINE;
+			dpb.insertString(isc_dpb_config, providers, strlen(providers));
 
 			DispatcherPtr p;
 
Modified: firebird/trunk/src/common/call_service.cpp
===================================================================
--- firebird/trunk/src/common/call_service.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/common/call_service.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include <ctype.h>
 #include "../common/utils_proto.h"
+#include "../jrd/EngineInterface.h"
 
 using namespace Firebird;
 
@@ -196,7 +197,7 @@
 		return 0;
 	}
 
-	return attachRemoteServiceManager(status, username, password, trusted, service);
+	return attachRemoteServiceManager(status, username, password, trusted, service, true);
 }
 
 
@@ -218,7 +219,8 @@
 							  const TEXT* username,
 							  const TEXT* password,
 							  bool trusted,
-							  const TEXT* server)
+							  const TEXT* server,
+							  bool forceLoopback)
 {
 	char service[SERVICE_SIZE];
 
@@ -242,6 +244,10 @@
 	{
 		stuffSpb(spb, isc_spb_trusted_auth, "");
 	}
+	if ((!server[0]) && forceLoopback && (!Config::getSharedDatabase()))
+	{	// local connection & force   & superserver
+		stuffSpb(spb, isc_spb_config, "Providers=Loopback," CURRENT_ENGINE);
+	}
 
 	fb_assert((size_t)(spb - spb_buffer) <= sizeof(spb_buffer));
 	isc_svc_handle svc_handle = 0;
Modified: firebird/trunk/src/common/call_service.h
===================================================================
--- firebird/trunk/src/common/call_service.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/common/call_service.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -30,7 +30,7 @@
 
 isc_svc_handle attachRemoteServiceManager(ISC_STATUS*, const TEXT*, const TEXT*,
 										  bool, int, const TEXT*);
-isc_svc_handle attachRemoteServiceManager(ISC_STATUS*, const TEXT*, const TEXT*, bool, const TEXT*);
+isc_svc_handle attachRemoteServiceManager(ISC_STATUS*, const TEXT*, const TEXT*, bool, const TEXT*, bool);
 void callRemoteServiceManager(ISC_STATUS*, isc_svc_handle, Auth::UserData&, Auth::IListUsers*);
 void detachRemoteServiceManager(ISC_STATUS*, isc_svc_handle);
 
Modified: firebird/trunk/src/common/config/config.cpp
===================================================================
--- firebird/trunk/src/common/config/config.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/common/config/config.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -28,6 +28,7 @@
 #include "../common/classes/init.h"
 #include "../common/dllinst.h"
 #include "../common/os/fbsyslog.h"
+#include "../jrd/EngineInterface.h"
 #include "firebird/Plugin.h"
 
 #ifdef HAVE_STDLIB_H
@@ -72,7 +73,7 @@
 		defaultConfig = newConfig;
 	}
  */
-	Firebird::RefPtr<Config> getDefaultConfig() const
+	const Firebird::RefPtr<Config>& getDefaultConfig() const
 	{
 		return defaultConfig;
 	}
@@ -176,7 +177,7 @@
 	{TYPE_STRING,		"AuditTraceConfigFile",		(ConfigValue) ""},		// location of audit trace configuration file
 	{TYPE_INTEGER,		"MaxUserTraceLogSize",		(ConfigValue) 10},		// maximum size of user session trace log
 	{TYPE_INTEGER,		"FileSystemCacheSize",		(ConfigValue) 0},		// percent
-	{TYPE_STRING,		"Providers",				(ConfigValue) "Remote, Engine12, Loopback"},
+	{TYPE_STRING,		"Providers",				(ConfigValue) "Remote, " CURRENT_ENGINE ", Loopback"},
 	{TYPE_STRING,		"AuthServer",				(ConfigValue) "Srp, Win_Sspi"},
 	{TYPE_STRING,		"AuthClient",				(ConfigValue) "Srp, Win_Sspi, Legacy_Auth"},
 	{TYPE_STRING,		"UserManager",				(ConfigValue) "Srp"},
@@ -197,7 +198,7 @@
 Config::Config(const ConfigFile& file)
 {
 	// Array to save string temporarily
-	// Will be finally save by loadValues() in the end of ctor
+	// Will be finally saved by loadValues() in the end of ctor
 	Firebird::ObjectsArray<ConfigFile::String> tempStrings(getPool());
 
 	// Iterate through the known configuration entries
@@ -231,6 +232,15 @@
 	loadValues(file);
 }
 
+void Config::merge(Firebird::RefPtr<Config>& config, const Firebird::string* dpbConfig)
+{
+	if (dpbConfig && dpbConfig->hasData())
+	{
+		ConfigFile txtStream(ConfigFile::USE_TEXT, dpbConfig->c_str());
+		config = new Config(txtStream, *(config.hasData() ? config : getDefaultConfig()));
+	}
+}
+
 void Config::loadValues(const ConfigFile& file)
 {
 	// Iterate through the known configuration entries
@@ -296,7 +306,7 @@
  *	Public interface
  */
 
-const Firebird::RefPtr<Config> Config::getDefaultConfig()
+const Firebird::RefPtr<Config>& Config::getDefaultConfig()
 {
 	return firebirdConf().getDefaultConfig();
 }
@@ -413,9 +423,9 @@
 	return rc;
 }
 
-bool Config::getTcpNoNagle()
+bool Config::getTcpNoNagle() const
 {
-	return (bool) getDefaultConfig()->values[KEY_TCP_NO_NAGLE];
+	return get<bool>(KEY_TCP_NO_NAGLE);
 }
 
 int Config::getDefaultDbCachePages() const
@@ -428,14 +438,14 @@
 	return rc;
 }
 
-int Config::getConnectionTimeout()
+int Config::getConnectionTimeout() const
 {
-	return (int) getDefaultConfig()->values[KEY_CONNECTION_TIMEOUT];
+	return get<int>(KEY_CONNECTION_TIMEOUT);
 }
 
-int Config::getDummyPacketInterval()
+int Config::getDummyPacketInterval() const
 {
-	return (int) getDefaultConfig()->values[KEY_DUMMY_PACKET_INTERVAL];
+	return get<int>(KEY_DUMMY_PACKET_INTERVAL);
 }
 
 int Config::getLockMemSize() const
@@ -463,24 +473,24 @@
 	return get<int>(KEY_DEADLOCK_TIMEOUT);
 }
 
-const char *Config::getRemoteServiceName()
+const char *Config::getRemoteServiceName() const
 {
-	return (const char*) getDefaultConfig()->values[KEY_REMOTE_SERVICE_NAME];
+	return get<const char*>(KEY_REMOTE_SERVICE_NAME);
 }
 
-unsigned short Config::getRemoteServicePort()
+unsigned short Config::getRemoteServicePort() const
 {
-	return (unsigned short) getDefaultConfig()->values[KEY_REMOTE_SERVICE_PORT];
+	return get<unsigned short>(KEY_REMOTE_SERVICE_PORT);
 }
 
-const char *Config::getRemotePipeName()
+const char *Config::getRemotePipeName() const
 {
-	return (const char*) getDefaultConfig()->values[KEY_REMOTE_PIPE_NAME];
+	return get<const char*>(KEY_REMOTE_PIPE_NAME);
 }
 
-const char *Config::getIpcName()
+const char *Config::getIpcName() const
 {
-	return (const char*) getDefaultConfig()->values[KEY_IPC_NAME];
+	return get<const char*>(KEY_IPC_NAME);
 }
 
 int Config::getMaxUnflushedWrites() const
@@ -498,9 +508,9 @@
 	return (int) getDefaultConfig()->values[KEY_PROCESS_PRIORITY_LEVEL];
 }
 
-int Config::getRemoteAuxPort()
+int Config::getRemoteAuxPort() const
 {
-	return (int) getDefaultConfig()->values[KEY_REMOTE_AUX_PORT];
+	return get<int>(KEY_REMOTE_AUX_PORT);
 }
 
 const char *Config::getRemoteBindAddress()
@@ -644,17 +654,6 @@
 	return (bool) getDefaultConfig()->values[KEY_SHARED_DATABASE];
 }
 
-bool Config::getMultiClientServer()
-{
-	// AP - absolutely wrong for superclassic assumption
-	// should be set by server in case of 'super' mode in it
-#ifdef SUPERSERVER
-	return true;
-#else
-	return false;
-#endif
-}
-
 const char* Config::getPlugins(unsigned int type) const
 {
 	switch (type)
@@ -715,8 +714,8 @@
 	return get<const char*>(KEY_SECURITY_DATABASE);
 }
 
-const char* Config::getWireCrypt(WireCryptMode wcMode)
+const char* Config::getWireCrypt(WireCryptMode wcMode) const
 {
-	const char* rc = getDefaultConfig()->get<const char*>(KEY_WIRE_CRYPT);
+	const char* rc = get<const char*>(KEY_WIRE_CRYPT);
 	return rc ? rc : wcMode == WC_CLIENT ? WIRE_CRYPT_ENABLED : WIRE_CRYPT_REQUIRED;
 }
Modified: firebird/trunk/src/common/config/config.h
===================================================================
--- firebird/trunk/src/common/config/config.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/common/config/config.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -192,8 +192,11 @@
 	static const Firebird::PathName* getCommandLineRootDirectory();
 
 	// Master config - needed to provide per-database config
-	static const Firebird::RefPtr<Config> getDefaultConfig();
+	static const Firebird::RefPtr<Config>& getDefaultConfig();
 
+	// Merge config entries from DPB into existing config
+	static void merge(Firebird::RefPtr<Config>& config, const Firebird::string* dpbConfig);
+
 	// reports key to be used by the following functions
 	static unsigned int getKeyByName(ConfigName name);
 	// helpers to build interface for firebird.conf file
@@ -229,16 +232,16 @@
 	static int getTcpRemoteBufferSize();
 
 	// Disable Nagle algorithm
-	static bool getTcpNoNagle();
+	bool getTcpNoNagle() const;
 
 	// Default database cache size
 	int getDefaultDbCachePages() const;
 
 	// Connection timeout
-	static int getConnectionTimeout();
+	int getConnectionTimeout() const;
 
 	// Dummy packet interval
-	static int getDummyPacketInterval();
+	int getDummyPacketInterval() const;
 
 	// Lock manager memory size
 	int getLockMemSize() const;
@@ -256,16 +259,16 @@
 	int getDeadlockTimeout() const;
 
 	// Service name for remote protocols
-	static const char* getRemoteServiceName();
+	const char* getRemoteServiceName() const;
 
 	// Service port for INET
-	static unsigned short getRemoteServicePort();
+	unsigned short getRemoteServicePort() const;
 
 	// Pipe name for WNET
-	static const char* getRemotePipeName();
+	const char* getRemotePipeName() const;
 
 	// Name for IPC-related objects
-	static const char* getIpcName();
+	const char* getIpcName() const;
 
 	// Unflushed writes number
 	int getMaxUnflushedWrites() const;
@@ -277,7 +280,7 @@
 	static int getProcessPriorityLevel();
 
 	// Port for event processing
-	static int getRemoteAuxPort();
+	int getRemoteAuxPort() const;
 
 	// Server binding NIC address
 	static const char* getRemoteBindAddress();
@@ -328,13 +331,11 @@
 
 	static bool getSharedDatabase();
 
-	static bool getMultiClientServer();
-
 	const char* getPlugins(unsigned int type) const;
 
 	const char* getSecurityDatabase() const;
 
-	static const char* getWireCrypt(WireCryptMode wcMode);
+	const char* getWireCrypt(WireCryptMode wcMode) const;
 };
 
 // Implementation of interface to access master configuration file
Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp
===================================================================
--- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -760,6 +760,11 @@
 	{
 		return NULL;
 	}
+
+	virtual int FB_CARG serverMode(int mode)
+	{
+		return -1;
+	}
 };
 
 
Modified: firebird/trunk/src/include/consts_pub.h
===================================================================
--- firebird/trunk/src/include/consts_pub.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/include/consts_pub.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -119,6 +119,7 @@
 #define isc_dpb_specific_auth_data		  84
 #define isc_dpb_auth_plugin_list		  85
 #define isc_dpb_auth_plugin_name		  86
+#define isc_dpb_config					  87
 
 /**************************************************/
 /* clumplet tags used inside isc_dpb_address_path */
@@ -280,6 +281,7 @@
 #define isc_spb_remote_protocol           120
 #define isc_spb_host_name                 121
 #define isc_spb_os_user                   122
+#define isc_spb_config					  123
 
 #define isc_spb_connect_timeout           isc_dpb_connect_timeout
 #define isc_spb_dummy_packet_interval     isc_dpb_dummy_packet_interval
Modified: firebird/trunk/src/include/firebird/Interface.h
===================================================================
--- firebird/trunk/src/include/firebird/Interface.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/include/firebird/Interface.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -121,8 +121,9 @@
 
 	virtual IMetadataBuilder* FB_CARG getMetadataBuilder(IStatus* status, unsigned fieldCount) = 0;
 	virtual Firebird::IDebug* FB_CARG getDebug() = 0;
+	virtual int FB_CARG serverMode(int mode) = 0;
 };
-#define FB_MASTER_VERSION (FB_VERSIONED_VERSION + 12)
+#define FB_MASTER_VERSION (FB_VERSIONED_VERSION + 13)
 
 } // namespace Firebird
 
Modified: firebird/trunk/src/include/firebird.h
===================================================================
--- firebird/trunk/src/include/firebird.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/include/firebird.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -75,8 +75,4 @@
 #define TRUSTED_AUTH
 #endif
 
-#if defined(SUPERSERVER)
-#define SHARED_METADATA_CACHE
-#endif
-
 #endif // INCLUDE_Firebird_H
Modified: firebird/trunk/src/jrd/EngineInterface.h
===================================================================
--- firebird/trunk/src/jrd/EngineInterface.h	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/jrd/EngineInterface.h	2013-04-04 13:17:57 UTC (rev 57896)
@@ -28,6 +28,8 @@
 #include "../common/StatementMetadata.h"
 #include "../common/classes/RefCounted.h"
 
+#define CURRENT_ENGINE "Engine12"
+
 namespace Jrd {
 
 // Engine objects used by interface objects
Modified: firebird/trunk/src/jrd/jrd.cpp
===================================================================
--- firebird/trunk/src/jrd/jrd.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/jrd/jrd.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -355,7 +355,7 @@
 void registerEngine(IPluginManager* iPlugin)
 {
 	myModule->setCleanup(shutdownBeforeUnload);
-	iPlugin->registerPluginFactory(PluginType::Provider, "Engine12", &engineFactory);
+	iPlugin->registerPluginFactory(PluginType::Provider, CURRENT_ENGINE, &engineFactory);
 	myModule->registerMe();
 }
 
@@ -739,6 +739,7 @@
 	string	dpb_trusted_login;
 	PathName	dpb_remote_process;
 	PathName	dpb_org_filename;
+	string	dpb_config;
 
 public:
 	DatabaseOptions()
@@ -1281,12 +1282,10 @@
 
 				if (options.dpb_set_page_buffers)
 				{
-#ifdef SHARED_METADATA_CACHE
 					// Here we do not let anyone except SYSDBA (like DBO) to change dbb_page_buffers,
 					// cause other flags is UserId can be set only when DB is opened.
 					// No idea how to test for other cases before init is complete.
-					if (userId.locksmith())
-#endif
+					if (config->getSharedDatabase() ? userId.locksmith() : true)
 						dbb->dbb_page_buffers = options.dpb_page_buffers;
 				}
 
@@ -5585,6 +5584,10 @@
 				ERR_post(Arg::Gds(isc_exec_sql_max_call_exceeded));
 			break;
 
+		case isc_dpb_config:
+			getString(rdr, dpb_config);
+			break;
+
 		default:
 			break;
 		}
@@ -5681,6 +5684,13 @@
 						tdbb->setDatabase(dbb);
 						jAtt = create_attachment(alias_name, dbb, options);
 						tdbb->setAttachment(jAtt->getHandle());
+
+						if (options.dpb_config.hasData())
+						{
+							ERR_post_warning(Arg::Warning(isc_random) <<
+								"Secondary attachment - config data from DPB ignored");
+						}
+
 						return jAtt;
 					}
 
@@ -5690,6 +5700,8 @@
 			}
 		}
 
+		Config::merge(config, &options.dpb_config);
+
 		dbb = Database::create();
 		dbb->dbb_config = config;
 		dbb->dbb_filename = expanded_name;
Modified: firebird/trunk/src/jrd/svc.cpp
===================================================================
--- firebird/trunk/src/jrd/svc.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/jrd/svc.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -60,6 +60,7 @@
 #include "../jrd/msg_encode.h"
 #include "../jrd/trace/TraceManager.h"
 #include "../jrd/trace/TraceObjects.h"
+#include "../jrd/EngineInterface.h"
 
 #include "../common/classes/DbImplementation.h"
 
@@ -637,6 +638,8 @@
 
 void Service::fillDpb(ClumpletWriter& dpb)
 {
+	const char* providers = "Providers=" CURRENT_ENGINE;
+	dpb.insertString(isc_dpb_config, providers, strlen(providers));
 	if (svc_address_path.hasData())
 	{
 		dpb.insertString(isc_dpb_address_path, svc_address_path);
@@ -684,14 +687,19 @@
 		val |= QUOTED_FILENAME_SUPPORT;
 #endif // WIN_NT
 
-		if (Config::getMultiClientServer())
+		Firebird::MasterInterfacePtr master;
+		switch (master->serverMode(-1))
 		{
+		case 1:		// super
 			val |= MULTI_CLIENT_SUPPORT;
-		}
-		else
-		{
+			break;
+		case 0:		// classic
 			val |= NO_SERVER_SHUTDOWN_SUPPORT;
+			break;
+		default:	// none-server mode
+			break;
 		}
+
 		return val;
 	}
 }
Modified: firebird/trunk/src/remote/client/interface.cpp
===================================================================
--- firebird/trunk/src/remote/client/interface.cpp	2013-04-04 00:46:59 UTC (rev 57895)
+++ firebird/trunk/src/remote/client/interface.cpp	2013-04-04 13:17:57 UTC (rev 57896)
@@ -650,7 +650,7 @@
 static void add_other_params(rem_port*, ClumpletWriter&, const ParametersSet&);
 static void add_working_directory(ClumpletWriter&, const PathName&);
 static rem_port* analyze(ClntAuthBlock&, PathName&, bool, ClumpletReader&, PathName&, bool);
-static rem_port* analyze_service(PathName&, bool, ClumpletReader&, bool);
+static rem_port* analyze_service(ClntAuthBlock&, PathName&, bool, ClumpletReader&, bool);
 static void batch_gds_receive(rem_port*, struct rmtque *, USHORT);
 static void batch_dsql_fetch(rem_port*, struct rmtque *, USHORT);
 static void clear_queue(rem_port*);
@@ -746,7 +746,7 @@
 		PathName expanded_name(filename);
 		PathName node_name;
 
-		ClntAuthBlock cBlock(&expanded_name);
+		ClntAuthBlock cBlock(&expanded_name, &newDpb, &dpbParam);
 		rem_port* port = analyze(cBlock, expanded_name, user_verification, newDpb, node_name, loopback);
 
 		if (!port)
@@ -1322,7 +1322,7 @@
 		PathName expanded_name(filename);
 		PathName node_name;
 
-		ClntAuthBlock cBlock(&expanded_name);
+		ClntAuthBlock cBlock(&expanded_name, &newDpb, &dpbParam);
 		rem_port* port = analyze(cBlock, expanded_name, user_verification, newDpb, node_name, loopback);
 
 		if (!port)
@@ -4375,7 +4375,9 @@
 		ClumpletWriter newSpb(ClumpletReader::spbList, MAX_DPB_SIZE, spb, spbLength);
 		const bool user_verification = get_new_dpb(newSpb, spbParam);
 
-		rem_port* port = analyze_service(expanded_name, user_verification, newSpb, loopback);
+		ClntAuthBlock cBlock(NULL, &newSpb, &spbParam);
+		cBlock.loadClnt(newSpb, &spbParam);
+		rem_port* port = analyze_service(cBlock, expanded_name, user_verification, newSpb, loopback);
 
 		RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION);
 		Rdb* rdb = port->port_context;
@@ -4386,8 +4388,6 @@
 
 		add_other_params(port, newSpb, spbParam);
 
-		ClntAuthBlock cBlock(NULL);
-		cBlock.load(newSpb, &spbParam);
 		IntlSpb intl;
 		init(status, cBlock, port, op_service_attach, expanded_name, newSpb, intl, cryptCallback);
 
@@ -4528,7 +4528,7 @@
 		rem_port* port = rdb->rdb_port;
 		RefMutexGuard portGuard(*port->port_sync, FB_FUNCTION);
 
-		ClntAuthBlock cBlock(NULL);
+		ClntAuthBlock cBlock(NULL, NULL, NULL);
 		cBlock.loadServiceDataFrom(port);
 
 		info(status, rdb, op_service_info, rdb->rdb_id, 0,
@@ -5146,7 +5146,7 @@
 	// Analyze the file name to see if a remote connection is required.  If not,
 	// quietly (sic) return.
 
-	cBlock.load(dpb, &dpbParam);
+	cBlock.loadClnt(dpb, &dpbParam);
 	authenticateStep0(cBlock);
 
 	rem_port* port = NULL;
@@ -5154,7 +5154,7 @@
 #ifdef WIN_NT
 	if (ISC_analyze_protocol(PROTOCOL_XNET, file_name, node_name))
 	{
-		port = XNET_analyze(&cBlock, file_name, uv_flag);
+		port = XNET_analyze(&cBlock, file_name, uv_flag, cBlock.getConfig());
 	}
 	else if (ISC_analyze_protocol(PROTOCOL_WNET, file_name, node_name) ||
 		ISC_analyze_pclan(file_name, node_name))
@@ -5167,7 +5167,7 @@
 			ISC_utf8ToSystem(node_name);
 		}
 
-		port = WNET_analyze(&cBlock, file_name, node_name.c_str(), uv_flag);
+		port = WNET_analyze(&cBlock, file_name, node_name.c_str(), uv_flag, cBlock.getConfig());
 	}
 	else
 #endif
@@ -5183,7 +5183,7 @@
 			ISC_utf8ToSystem(node_name);
 		}
 
-		port = INET_analyze(&cBlock, file_name, node_name.c_str(), uv_flag, dpb);
+		port = INET_analyze(&cBlock, file_name, node_name.c_str(), uv_flag, dpb, cBlock.getConfig());
 	}
 
 	// We have a local connection string. If it's a file on a network share,
@@ -5197,7 +5197,7 @@
 		ISC_unescape(node_name);
 		ISC_utf8ToSystem(node_name);
 
-		port = WNET_analyze(&cBlock, expanded_name, node_name.c_str(), uv_flag);
+		port = WNET_analyze(&cBlock, expanded_name, node_name.c_str(), uv_flag, cBlock.getConfig());
 	}
 #endif
 
@@ -5210,7 +5210,7 @@
 			ISC_unescape(node_name);
 			ISC_utf8ToSystem(node_name);
 
-			port = INET_analyze(&cBlock, expanded_name, node_name.c_str(), uv_flag, dpb);
+			port = INET_analyze(&cBlock, expanded_name, node_name.c_str(), uv_flag, dpb, cBlock.getConfig());
 		}
 	}
 #endif
@@ -5225,17 +5225,17 @@
 #ifdef WIN_NT
 			if (!port)
 			{
-				port = XNET_analyze(&cBlock, file_name, uv_flag);
+				port = XNET_analyze(&cBlock, file_name, uv_flag, cBlock.getConfig());
 			}
 
 			if (!port)
 			{
-				port = WNET_analyze(&cBlock, file_name, WNET_LOCALHOST, uv_flag);
+				port = WNET_analyze(&cBlock, file_name, WNET_LOCALHOST, uv_flag, cBlock.getConfig());
 			}
 #endif
 			if (!port)
 			{
-				port = INET_analyze(&cBlock, file_name, INET_LOCALHOST, uv_flag, dpb);
+				port = INET_analyze(&cBlock, file_name, INET_LOCALHOST, uv_flag, dpb, cBlock.getConfig());
 			}
 		}
 	}
@@ -5244,7 +5244,8 @@
 }
 
 
-static rem_port* analyze_service(PathName& service_name,
+static rem_port* analyze_service(ClntAuthBlock& cBlock,
+								 PathName& service_name,
 								 bool uv_flag,
 								 ClumpletReader& spb,
 								 bool loopback)
@@ -5272,7 +5273,7 @@
 #if defined(WIN_NT)
 	if (ISC_analyze_protocol(PROTOCOL_XNET, service_name, node_name))
 	{
-		return XNET_analyze(NULL, service_name, uv_flag);
+		return XNET_analyze(NULL, service_name, uv_flag, cBlock.getConfig());
 	}
 
 	if (ISC_analyze_protocol(PROTOCOL_WNET, service_name, node_name) ||
@@ -5282,7 +5283,7 @@
 		{
 			node_name = WNET_LOCALHOST;
 		}
-		return WNET_analyze(NULL, service_name, node_name.c_str(), uv_flag);
+		return WNET_analyze(NULL, service_name, node_name.c_str(), uv_flag, cBlock.getConfig());
 	}
 #endif
 
@@ -5293,7 +5294,7 @@
 		{
 			node_name = INET_LOCALHOST;
 		}
-		return INET_analyze(NULL, service_name, node_name.c_str(), uv_flag, spb);
+		return INET_analyze(NULL, service_name, node_name.c_str(), uv_flag, spb, cBlock.getConfig());
 	}
 
 	rem_port* port = NULL;
@@ -5309,17 +5310,17 @@
 #if defined(WIN_NT)
 			if (!port)
 			{
-				port = XNET_analyze(NULL, service_name, uv_flag);
+				port = XNET_analyze(NULL, service_name, uv_flag, cBlock.getConfig());
 			}
 
 			if (!port)
 			{
-				port = WNET_analyze(NULL, service_name, WNET_LOCALHOST, uv_flag);
+				port = WNET_analyze(NULL, service_name, WNET_LOCALHOST, uv_flag, cBlock.getConfig());
 			}
 #endif
 			if (!port)
 			{
-				port = INET_analyze(NULL, service_name, INET_LOCALHOST, uv_flag, spb);
+				port = INET_analyze(NULL, service_name, INET_LOCALHOST, uv_flag, spb, cBlock.getConfig());
 			}
 		}
 	}
@@ -7102,7 +7103,7 @@
 		IntlSpbStart().fromUtf8(send, 0);
 	}
 
-	ClntAuthBlock cBlock(NULL);
+	ClntAuthBlock cBlock(NULL, NULL, NULL);
 	cBlock.loadServiceDataFrom(rdb->rdb_port);
 	HANDSHAKE_DEBUG(fprintf(stderr, "start calls authFillParametersBlock\n"));
 	authFillParametersBlock(cBlock, send, &spbStartParam, rdb->rdb_port);
@@ -7249,14 +7250,19 @@
 
 } //names...
 
[truncated message content] | 
| 
      
      
      From: <fir...@us...> - 2013-04-05 00:34:51
       | 
| Revision: 57897
          http://sourceforge.net/p/firebird/code/57897
Author:   firebirds
Date:     2013-04-05 00:34:48 +0000 (Fri, 05 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-04 13:17:57 UTC (rev 57896)
+++ firebird/trunk/ChangeLog	2013-04-05 00:34:48 UTC (rev 57897)
@@ -1,3 +1,35 @@
+ 2013-04-04 13:17  alexpeshkoff 
+   M builds/install/misc/firebird.conf.in
+   M src/auth/SecureRemotePassword/server/SrpServer.cpp
+   M src/common/call_service.cpp
+   M src/common/call_service.h
+   M src/common/config/config.cpp
+   M src/common/config/config.h
+   M src/gpre/boot/gpre_meta_boot.cpp
+   M src/include/consts_pub.h
+   M src/include/firebird/Interface.h
+   M src/include/firebird.h
+   M src/jrd/EngineInterface.h
+   M src/jrd/jrd.cpp
+   M src/jrd/svc.cpp
+   M src/remote/client/interface.cpp
+   M src/remote/inet.cpp
+   M src/remote/inet_proto.h
+   M src/remote/os/win32/wnet.cpp
+   M src/remote/os/win32/wnet_proto.h
+   M src/remote/os/win32/xnet.cpp
+   M src/remote/os/win32/xnet_proto.h
+   M src/remote/remot_proto.h
+   M src/remote/remote.cpp
+   M src/remote/remote.h
+   M src/remote/server/os/posix/inet_server.cpp
+   M src/remote/server/server.cpp
+   M src/utilities/gsec/gsec.cpp
+   M src/yvalve/MasterImplementation.cpp
+   M src/yvalve/MasterImplementation.h
+   M src/yvalve/why.cpp
+Added support for changing configuration (client and embedded) from API
+
  2013-04-03 15:27  asfernandes 
    M src/jrd/recsrc/ProcedureScan.cpp
 Fixed CORE-4073 - Constant columns getting empty value with subselect from procedure.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-04 13:17:57 UTC (rev 57896)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-05 00:34:48 UTC (rev 57897)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30326
+  FORMAL BUILD NUMBER:30327
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30326"
-#define FILE_VER_STRING "WI-T3.0.0.30326"
-#define LICENSE_VER_STRING "WI-T3.0.0.30326"
-#define FILE_VER_NUMBER 3, 0, 0, 30326
+#define PRODUCT_VER_STRING "3.0.0.30327"
+#define FILE_VER_STRING "WI-T3.0.0.30327"
+#define LICENSE_VER_STRING "WI-T3.0.0.30327"
+#define FILE_VER_NUMBER 3, 0, 0, 30327
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30326"
+#define FB_BUILD_NO "30327"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-04 13:17:57 UTC (rev 57896)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-05 00:34:48 UTC (rev 57897)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30326
+BuildNum=30327
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-06 00:37:36
       | 
| Revision: 57908
          http://sourceforge.net/p/firebird/code/57908
Author:   firebirds
Date:     2013-04-06 00:37:11 +0000 (Sat, 06 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-05 10:43:19 UTC (rev 57907)
+++ firebird/trunk/ChangeLog	2013-04-06 00:37:11 UTC (rev 57908)
@@ -1,3 +1,9 @@
+ 2013-04-05 07:48  hvlad 
+   M src/remote/os/win32/wnet.cpp
+   M src/remote/os/win32/xnet.cpp
+   M src/remote/server/os/win32/srvr_w32.cpp
+Fixed Windows build
+
  2013-04-04 13:17  alexpeshkoff 
    M builds/install/misc/firebird.conf.in
    M src/auth/SecureRemotePassword/server/SrpServer.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-05 10:43:19 UTC (rev 57907)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-06 00:37:11 UTC (rev 57908)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30327
+  FORMAL BUILD NUMBER:30328
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30327"
-#define FILE_VER_STRING "WI-T3.0.0.30327"
-#define LICENSE_VER_STRING "WI-T3.0.0.30327"
-#define FILE_VER_NUMBER 3, 0, 0, 30327
+#define PRODUCT_VER_STRING "3.0.0.30328"
+#define FILE_VER_STRING "WI-T3.0.0.30328"
+#define LICENSE_VER_STRING "WI-T3.0.0.30328"
+#define FILE_VER_NUMBER 3, 0, 0, 30328
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30327"
+#define FB_BUILD_NO "30328"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-05 10:43:19 UTC (rev 57907)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-06 00:37:11 UTC (rev 57908)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30327
+BuildNum=30328
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <ma...@us...> - 2013-04-06 17:58:37
       | 
| Revision: 57912
          http://sourceforge.net/p/firebird/code/57912
Author:   mapopa
Date:     2013-04-06 17:58:35 +0000 (Sat, 06 Apr 2013)
Log Message:
-----------
Remove unused and broken code defined with PIGGYBACK
Modified Paths:
--------------
    firebird/trunk/doc/emacros-cross_ref.html
    firebird/trunk/src/remote/inet.cpp
Modified: firebird/trunk/doc/emacros-cross_ref.html
===================================================================
--- firebird/trunk/doc/emacros-cross_ref.html	2013-04-06 17:46:27 UTC (rev 57911)
+++ firebird/trunk/doc/emacros-cross_ref.html	2013-04-06 17:58:35 UTC (rev 57912)
@@ -236,17 +236,6 @@
 used in remote\window.cpp(481) with #ifdef <br>
 </td></tr>
 <tr><td valign="top">
-(16) ISC_DATABASE_ENCRYPTION</td><td> </td></tr>
-<tr><td> </td><td>
-used in jrd\jrd.cpp(5248) with #ifdef <br>
-used in jrd\unix.cpp(480) with #ifdef <br>
-used in jrd\unix.cpp(743) with #ifdef <br>
-used in jrd\unix.cpp(838) with #ifdef <br>
-used in jrd\vms.cpp(346) with #ifdef <br>
-used in jrd\vms.cpp(547) with #ifdef <br>
-used in jrd\vms.cpp(618) with #ifdef <br>
-</td></tr>
-<tr><td valign="top">
 (17) MANAGER_PROCESS</td><td> </td></tr>
 <tr><td> </td><td>
 used in lock\lock.cpp(105) with #ifdef <br>
@@ -438,12 +427,6 @@
 used in qli\show.epp(1834) with #ifdef <br>
 </td></tr>
 <tr><td valign="top">
-(22) PIGGYBACK</td><td> </td></tr>
-<tr><td> </td><td>
-used in remote\inet.cpp(3432) with #ifdef <br>
-used in remote\inet.cpp(3462) with #ifdef <br>
-</td></tr>
-<tr><td valign="top">
 (23) REPLAY_OSRI_API_CALLS_SUBSYSTEM</td><td>System to reply requests, usable for debug. Not complete.</td></tr>
 <tr><td> </td><td>
 used in jrd\blb.cpp(88) with #ifdef <br>
@@ -2685,69 +2668,6 @@
 used in utilities\drop.cpp(357) with #if<br>
 </td></tr>
 <tr><td valign="top">
-(12) SCO</td><td> </td></tr>
-<tr><td> </td><td>
-used in jrd\isc_file.cpp(267) with #ifndef<br>
-used in jrd\shdef.h(87) with #ifndef<br>
-used in jrd\shrinit.cpp(34) with #ifndef<br>
-used in jrd\shrinit.cpp(87) with #ifndef<br>
-used in jrd\shrinit.cpp(98) with #ifndef<br>
-used in jrd\shrinit.cpp(130) with #ifndef<br>
-used in jrd\shrinit.cpp(169) with #ifndef<br>
-used in jrd\shrinit.cpp(179) with #ifndef<br>
-used in jrd\shrinit.cpp(189) with #ifdef <br>
-used in jrd\shrinit.cpp(195) with #ifndef<br>
-used in jrd\shrinit.cpp(200) with #ifdef <br>
-used in jrd\shrinit.cpp(220) with #ifdef <br>
-used in jrd\shrinit.cpp(236) with #ifdef <br>
-used in remote\inet.cpp(491) with #ifndef<br>
-used in remote\inet.cpp(526) with #ifndef<br>
-</td></tr>
-<tr><td valign="top">
-(13) SCO_EV</td><td> </td></tr>
-<tr><td> </td><td>
-used in jrd\flu.cpp(100) with #if<br>
-used in jrd\isc.cpp(83) with #ifdef <br>
-used in jrd\isc.cpp(329) with #if<br>
-used in jrd\isc_ipc.cpp(94) with #ifdef <br>
-used in remote\remote_def.h(67) with #ifdef <br>
-used in utilities\drop.cpp(306) with #ifdef <br>
-</td></tr>
-<tr><td valign="top">
-(14) SCO_UNIX</td><td> </td></tr>
-<tr><td> </td><td>
-used in gpre\gpre.h(79) with #if<br>
-used in journal\console.cpp(34) with #ifdef <br>
-used in jrd\cvt.cpp(83) with #ifdef <br>
-used in jrd\isc_file.cpp(167) with #ifdef <br>
-used in jrd\isc_file.cpp(1432) with #ifdef <br>
-used in jrd\jio.cpp(58) with #ifdef <br>
-used in jrd\svc.cpp(98) with #ifdef <br>
-used in lock\lock.h(83) with #ifdef <br>
-used in remote\inet.cpp(122) with #if<br>
-</td></tr>
-<tr><td valign="top">
-(15) SINIXZ</td><td> </td></tr>
-<tr><td> </td><td>
-used in common\config\config.cpp(71) with #ifdef <br>
-used in gpre\cob.cpp(160) with #ifdef <br>
-used in gpre\ftn.cpp(256) with #ifdef <br>
-used in jrd\flu.cpp(100) with #if<br>
-used in jrd\flu.cpp(228) with #if<br>
-used in jrd\isc_file.cpp(203) with #if<br>
-used in jrd\isc_file.cpp(587) with #if<br>
-used in jrd\isc_file.cpp(1018) with #if<br>
-used in jrd\isc_ipc.cpp(222) with #ifdef <br>
-used in jrd\isc_ipc.cpp(1023) with #ifdef <br>
-used in jrd\license.h(123) with #ifdef <br>
-used in jrd\pag.cpp(168) with #ifdef <br>
-used in jrd\why.cpp(518) with #ifndef<br>
-used in lock\lock.h(87) with #ifdef <br>
-used in remote\inet.cpp(2398) with #if<br>
-used in remote\inet.cpp(2427) with #if<br>
-used in utilities\drop.cpp(357) with #if<br>
-</td></tr>
-<tr><td valign="top">
 (16) SOLARIS</td><td> </td></tr>
 <tr><td> </td><td>
 used in common\classes\locks.h(12) with #ifndef<br>
Modified: firebird/trunk/src/remote/inet.cpp
===================================================================
--- firebird/trunk/src/remote/inet.cpp	2013-04-06 17:46:27 UTC (rev 57911)
+++ firebird/trunk/src/remote/inet.cpp	2013-04-06 17:58:35 UTC (rev 57912)
@@ -2767,56 +2767,6 @@
 
 	return TRUE;
 
-#ifdef PIGGYBACK
-	// CVC: Screwed logic here: if I initialize l2 to zero, nothing useful executes.
-	SCHAR aux_buffer[BUFFER_SIZE];
-	SSHORT l2 = 0;
-#error Assign l2 some meaningful value before running this.
-	// If the other end has not piggy-backed the next packet, we're done.
-
-	if (!l2)
-		return TRUE;
-
-	// We've got a piggy-backed response.  If the packet is partial,
-	// send an ACK for part we did receive.
-
-	char* p2 = aux_buffer;
-
-	while (l2 < 0)
-	{
-		if (!packet_send(port, 0, 0))
-			return FALSE;
-		p2 -= l2;
-		length = aux_buffer + sizeof(aux_buffer) - p2;
-		if (!packet_receive(port, p2, length, &l2))
-		{
-			p2 += l2;
-			continue;
-		}
-	}
-
-	length = p2 - aux_buffer + l2;
-
-	// Now we're got a encode glump ready to stuff into the read buffer.
-	// Unfortunately, if we just add it to the read buffer, we will shortly
-	// overflow the buffer.  To avoid this, "scrumpf down" the active bits
-	// in the read buffer, then add out stuff at the end.
-
-	xdrs = &port->port_receive;
-	p2 = xdrs->x_base;
-
-	if (xdrs->x_handy && p2 != xdrs->x_private) {
-		memmove(p2, xdrs->x_private, xdrs->x_handy);
-	}
-
-	p2 += xdrs->x_handy;
-
-	xdrs->x_private = xdrs->x_base;
-
-	// xdrs->x_handy += JAP_decode (aux_buffer, length, p2);
-
-	return TRUE;
-#endif
 }
 
 #ifdef DEBUG
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-07 00:38:05
       | 
| Revision: 57913
          http://sourceforge.net/p/firebird/code/57913
Author:   firebirds
Date:     2013-04-07 00:37:00 +0000 (Sun, 07 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-06 17:58:35 UTC (rev 57912)
+++ firebird/trunk/ChangeLog	2013-04-07 00:37:00 UTC (rev 57913)
@@ -1,3 +1,18 @@
+ 2013-04-06 17:58  mapopa 
+   M doc/emacros-cross_ref.html
+   M src/remote/inet.cpp
+Remove unused and broken code defined with PIGGYBACK
+
+ 2013-04-06 17:46  mapopa 
+   M src/remote/inet.cpp
+Cleanup comments and unused code 
+
+ 2013-04-06 09:12  dimitr 
+   M src/jrd/dpm.epp
+   M src/jrd/sqz.cpp
+   M src/jrd/sqz.h
+Pass the pool explicitly, it saves us one TLS access per record.
+
  2013-04-05 07:48  hvlad 
    M src/remote/os/win32/wnet.cpp
    M src/remote/os/win32/xnet.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-06 17:58:35 UTC (rev 57912)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-07 00:37:00 UTC (rev 57913)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30328
+  FORMAL BUILD NUMBER:30331
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30328"
-#define FILE_VER_STRING "WI-T3.0.0.30328"
-#define LICENSE_VER_STRING "WI-T3.0.0.30328"
-#define FILE_VER_NUMBER 3, 0, 0, 30328
+#define PRODUCT_VER_STRING "3.0.0.30331"
+#define FILE_VER_STRING "WI-T3.0.0.30331"
+#define LICENSE_VER_STRING "WI-T3.0.0.30331"
+#define FILE_VER_NUMBER 3, 0, 0, 30331
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30328"
+#define FB_BUILD_NO "30331"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-06 17:58:35 UTC (rev 57912)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-07 00:37:00 UTC (rev 57913)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30328
+BuildNum=30331
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <asf...@us...> - 2013-04-07 23:48:17
       | 
| Revision: 57915
          http://sourceforge.net/p/firebird/code/57915
Author:   asfernandes
Date:     2013-04-07 23:48:14 +0000 (Sun, 07 Apr 2013)
Log Message:
-----------
Misc.
Modified Paths:
--------------
    firebird/trunk/builds/install/misc/firebird.conf.in
    firebird/trunk/src/remote/inet.cpp
    firebird/trunk/src/remote/os/win32/wnet.cpp
    firebird/trunk/src/remote/os/win32/xnet.cpp
    firebird/trunk/src/remote/remot_proto.h
    firebird/trunk/src/remote/remote.cpp
    firebird/trunk/src/remote/remote.h
    firebird/trunk/src/remote/server/server.cpp
Modified: firebird/trunk/builds/install/misc/firebird.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-07 23:48:14 UTC (rev 57915)
@@ -20,7 +20,7 @@
 # value.
 #
 # Please note, by default a number of the values are specified in **Bytes** (Not KB).
-# You may add obvious abbreviations k, m and g in the end of a numver to specify
+# You may add obvious abbreviations k, m and g in the end of a number to specify
 # kilobytes, megabytes and gigabytes.
 #
 # There are three types of configuration values: integer, boolean and string.
Modified: firebird/trunk/src/remote/inet.cpp
===================================================================
--- firebird/trunk/src/remote/inet.cpp	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/inet.cpp	2013-04-07 23:48:14 UTC (rev 57915)
@@ -2732,7 +2732,7 @@
 	return port;
 }
 
-static bool_t inet_write( XDR* xdrs )
+static bool_t inet_write(XDR* xdrs)
 {
 /**************************************
  *
Modified: firebird/trunk/src/remote/os/win32/wnet.cpp
===================================================================
--- firebird/trunk/src/remote/os/win32/wnet.cpp	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/os/win32/wnet.cpp	2013-04-07 23:48:14 UTC (rev 57915)
@@ -587,7 +587,8 @@
 	port->port_async = new_port;
 	new_port->port_flags = port->port_flags & PORT_no_oob;
 	new_port->port_flags |= PORT_async;
-	new_port->port_connection = make_pipe_name(port->getPortConfig(), port->port_connection->str_data, EVENT_PIPE_SUFFIX, p);
+	new_port->port_connection = make_pipe_name(port->getPortConfig(),
+		port->port_connection->str_data, EVENT_PIPE_SUFFIX, p);
 
 	while (true)
 	{
@@ -635,8 +636,8 @@
 
 	TEXT str_pid[32];
 	wnet_make_file_name(str_pid, server_pid);
-	new_port->port_connection =
-		make_pipe_name(vport->getPortConfig(), vport->port_connection->str_data, EVENT_PIPE_SUFFIX, str_pid);
+	new_port->port_connection = make_pipe_name(vport->getPortConfig(),
+		vport->port_connection->str_data, EVENT_PIPE_SUFFIX, str_pid);
 
 	new_port->port_pipe =
 		CreateNamedPipe(new_port->port_connection->str_data,
@@ -796,7 +797,8 @@
 #endif
 
 
-static rem_str* make_pipe_name(const RefPtr<Config>& config, const TEXT* connect_name, const TEXT* suffix_name,  const TEXT* str_pid)
+static rem_str* make_pipe_name(const RefPtr<Config>& config, const TEXT* connect_name,
+	const TEXT* suffix_name, const TEXT* str_pid)
 {
 /**************************************
  *
Modified: firebird/trunk/src/remote/os/win32/xnet.cpp
===================================================================
--- firebird/trunk/src/remote/os/win32/xnet.cpp	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/os/win32/xnet.cpp	2013-04-07 23:48:14 UTC (rev 57915)
@@ -396,7 +396,8 @@
 	// Initialize server-side IPC endpoint to a value we know we have permissions to listen at
 	if (strcmp(xnet_endpoint, "") == 0)
 	{
-		fb_utils::copy_terminate(xnet_endpoint, Config::getDefaultConfig()->getIpcName(), sizeof(xnet_endpoint));
+		fb_utils::copy_terminate(xnet_endpoint, Config::getDefaultConfig()->getIpcName(),
+			sizeof(xnet_endpoint));
 		fb_utils::prefix_kernel_object_name(xnet_endpoint, sizeof(xnet_endpoint));
 	}
 
@@ -2136,7 +2137,8 @@
 	// Initialize server-side IPC endpoint to a value we know we have permissions to listen at
 	if (strcmp(xnet_endpoint, "") == 0)
 	{
-		fb_utils::copy_terminate(xnet_endpoint, Config::getDefaultConfig()->getIpcName(), sizeof(name_buffer));
+		fb_utils::copy_terminate(xnet_endpoint, Config::getDefaultConfig()->getIpcName(),
+			sizeof(name_buffer));
 		fb_utils::prefix_kernel_object_name(xnet_endpoint, sizeof(xnet_endpoint));
 	}
 
Modified: firebird/trunk/src/remote/remot_proto.h
===================================================================
--- firebird/trunk/src/remote/remot_proto.h	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/remot_proto.h	2013-04-07 23:48:14 UTC (rev 57915)
@@ -58,7 +58,8 @@
 void		REMOTE_save_status_strings (ISC_STATUS *);
 bool_t		REMOTE_getbytes (XDR*, SCHAR*, u_int);
 bool		REMOTE_legacy_auth(const char* nm, int protocol);
-Firebird::RefPtr<Config> REMOTE_get_config(const Firebird::PathName* dbName, const Firebird::string* dpb_config);
+Firebird::RefPtr<Config> REMOTE_get_config(const Firebird::PathName* dbName,
+	const Firebird::string* dpb_config);
 void		REMOTE_parseList(Remote::ParsedList&, Firebird::PathName);
 void		REMOTE_makeList(Firebird::PathName& list, const Remote::ParsedList& parsed);
 void		REMOTE_check_response(Firebird::IStatus* warning, Rdb* rdb, PACKET* packet, bool checkKeys = false);
Modified: firebird/trunk/src/remote/remote.cpp
===================================================================
--- firebird/trunk/src/remote/remote.cpp	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/remote.cpp	2013-04-07 23:48:14 UTC (rev 57915)
@@ -441,8 +441,8 @@
 
 	fb_assert(isc_dpb_connect_timeout == isc_spb_connect_timeout);
 
-	port->port_connect_timeout =
-		pb && pb->find(isc_dpb_connect_timeout) ? pb->getInt() : port->getPortConfig()->getConnectionTimeout();
+	port->port_connect_timeout = pb && pb->find(isc_dpb_connect_timeout) ?
+		pb->getInt() : port->getPortConfig()->getConnectionTimeout();
 
 	port->port_flags |= PORT_dummy_pckt_set;
 	port->port_dummy_packet_interval = port->getPortConfig()->getDummyPacketInterval();
Modified: firebird/trunk/src/remote/remote.h
===================================================================
--- firebird/trunk/src/remote/remote.h	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/remote.h	2013-04-07 23:48:14 UTC (rev 57915)
@@ -650,7 +650,8 @@
 	bool authComplete;						// Set as response from client that authentication accepted
 	bool firstTime;							// Invoked first time after reset
 
-	ClntAuthBlock(const Firebird::PathName* fileName, Firebird::ClumpletReader* dpb, const ParametersSet* tags);
+	ClntAuthBlock(const Firebird::PathName* fileName, Firebird::ClumpletReader* dpb,
+		const ParametersSet* tags);
 
 	~ClntAuthBlock()
 	{
Modified: firebird/trunk/src/remote/server/server.cpp
===================================================================
--- firebird/trunk/src/remote/server/server.cpp	2013-04-07 07:55:40 UTC (rev 57914)
+++ firebird/trunk/src/remote/server/server.cpp	2013-04-07 23:48:14 UTC (rev 57915)
@@ -5132,7 +5132,7 @@
 		}
 	}
 
-	// See if user has specified parameters relevent to the connection,
+	// See if user has specified parameters relevant to the connection,
 	// they will be stuffed in the SPB if so.
 	REMOTE_get_timeout_params(this, spb);
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-08 00:48:52
       | 
| Revision: 57916
          http://sourceforge.net/p/firebird/code/57916
Author:   firebirds
Date:     2013-04-08 00:48:48 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-07 23:48:14 UTC (rev 57915)
+++ firebird/trunk/ChangeLog	2013-04-08 00:48:48 UTC (rev 57916)
@@ -1,3 +1,18 @@
+ 2013-04-07 23:48  asfernandes 
+   M builds/install/misc/firebird.conf.in
+   M src/remote/inet.cpp
+   M src/remote/os/win32/wnet.cpp
+   M src/remote/os/win32/xnet.cpp
+   M src/remote/remot_proto.h
+   M src/remote/remote.cpp
+   M src/remote/remote.h
+   M src/remote/server/server.cpp
+Misc.
+
+ 2013-04-07 07:55  dimitr 
+   M src/jrd/cch.cpp
+Avoid calling lock_buffer() for the SS setup.
+
  2013-04-06 17:58  mapopa 
    M doc/emacros-cross_ref.html
    M src/remote/inet.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-07 23:48:14 UTC (rev 57915)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-08 00:48:48 UTC (rev 57916)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30331
+  FORMAL BUILD NUMBER:30333
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30331"
-#define FILE_VER_STRING "WI-T3.0.0.30331"
-#define LICENSE_VER_STRING "WI-T3.0.0.30331"
-#define FILE_VER_NUMBER 3, 0, 0, 30331
+#define PRODUCT_VER_STRING "3.0.0.30333"
+#define FILE_VER_STRING "WI-T3.0.0.30333"
+#define LICENSE_VER_STRING "WI-T3.0.0.30333"
+#define FILE_VER_NUMBER 3, 0, 0, 30333
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30331"
+#define FB_BUILD_NO "30333"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-07 23:48:14 UTC (rev 57915)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-08 00:48:48 UTC (rev 57916)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30331
+BuildNum=30333
 
 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...> - 2013-04-08 16:28:09
       | 
| Revision: 57918
          http://sourceforge.net/p/firebird/code/57918
Author:   alexpeshkoff
Date:     2013-04-08 16:28:05 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Renamed aliases.conf to databases.conf as suggested by Dmitry
Modified Paths:
--------------
    firebird/trunk/builds/install/arch-specific/aix/classic/makeInstallImage.sh.in
    firebird/trunk/builds/install/arch-specific/darwin/install-script
    firebird/trunk/builds/install/arch-specific/darwin/preupgrade-script
    firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in
    firebird/trunk/builds/install/arch-specific/hpux/classic/firebirdCS.psf.in
    firebird/trunk/builds/install/arch-specific/hpux/classic/makeinstallImage.sh.in
    firebird/trunk/builds/install/arch-specific/hpux/misc/createaliasDB.sh.in
    firebird/trunk/builds/install/arch-specific/hpux/super/makeinstallImage.sh.in
    firebird/trunk/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in
    firebird/trunk/builds/install/arch-specific/netbsd/install.sh.in
    firebird/trunk/builds/install/arch-specific/solaris/CS/prototype.in
    firebird/trunk/builds/install/arch-specific/solaris/SS/prototype.in
    firebird/trunk/builds/install/arch-specific/win32/BuildExecutableInstall.bat
    firebird/trunk/builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc
    firebird/trunk/builds/install/arch-specific/win32/FirebirdInstall_30.iss
    firebird/trunk/builds/install/arch-specific/win32/installation_readme.txt
    firebird/trunk/builds/install/arch-specific/win32/installation_scripted.txt
    firebird/trunk/builds/install/misc/createAliasDB.sh.in
    firebird/trunk/builds/install/misc/firebird.conf.in
    firebird/trunk/builds/posix/postfix.darwin
    firebird/trunk/configure.ac
    firebird/trunk/doc/README.raw_devices
    firebird/trunk/doc/install_windows_manually.txt
    firebird/trunk/src/common/db_alias.cpp
    firebird/trunk/src/yvalve/PluginManager.cpp
Added Paths:
-----------
    firebird/trunk/builds/install/misc/databases.conf.in
Removed Paths:
-------------
    firebird/trunk/builds/install/misc/aliases.conf.in
Modified: firebird/trunk/builds/install/arch-specific/aix/classic/makeInstallImage.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/aix/classic/makeInstallImage.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/aix/classic/makeInstallImage.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -209,7 +209,7 @@
 
 #   Misc config files
     cp $BuildRootDir/gen/install/misc/firebird.conf $DestDir/
-    cp $BuildRootDir/gen/install/misc/aliases.conf $DestDir/
+    cp $BuildRootDir/gen/install/misc/databases.conf $DestDir/
     cp $BuildRootDir/gen/install/misc/fbintl.conf $DestDir/intl/
 
 #   Create links from @libdir@ to install area.
Modified: firebird/trunk/builds/install/arch-specific/darwin/install-script
===================================================================
--- firebird/trunk/builds/install/arch-specific/darwin/install-script	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/darwin/install-script	2013-04-08 16:28:05 UTC (rev 57918)
@@ -240,10 +240,10 @@
 	rm -f /tmp/fb-security-database-update2.fdb
 fi
 
-#Install the saved aliases.conf, if any
-echo "Install the saved aliases.conf file"
-if test -f /tmp/fb-aliases.conf; then
-	mv -f /tmp/fb-aliases.conf "$FB_RES/English.lproj/var/aliases.conf"
+#Install the saved databases.conf, if any
+echo "Install the saved databases.conf file"
+if test -f /tmp/fb-databases.conf; then
+	mv -f /tmp/fb-databases.conf "$FB_RES/English.lproj/var/databases.conf"
 fi
 
 #Install the saved UDF libraries, if any
Modified: firebird/trunk/builds/install/arch-specific/darwin/preupgrade-script
===================================================================
--- firebird/trunk/builds/install/arch-specific/darwin/preupgrade-script	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/darwin/preupgrade-script	2013-04-08 16:28:05 UTC (rev 57918)
@@ -18,8 +18,8 @@
 if test -f "$FB_FW/Versions/A/Resources/English.lproj/var/security2.fdb"; then
 	mv -f "$FB_FW/Versions/A/Resources/English.lproj/var/security2.fdb" /tmp/fb-security-database-update2.fdb
 fi
-if test -f "$FB_FW/Versions/A/Resources/English.lproj/var/aliases.conf"; then
-	mv -f "$FB_FW/Versions/A/Resources/English.lproj/var/aliases.conf" /tmp/fb-aliases.conf
+if test -f "$FB_FW/Versions/A/Resources/English.lproj/var/databases.conf"; then
+	mv -f "$FB_FW/Versions/A/Resources/English.lproj/var/databases.conf" /tmp/fb-databases.conf
 fi
 
 for i in /Library/Frameworks/Firebird.framework/Resources/English.lproj/var/UDF/*;do
Modified: firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -301,7 +301,7 @@
 
 	#conf
     cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@
-    cp $BuiltFBDir/aliases.conf ${TargetDir}@FB_CONFDIR@
+    cp $BuiltFBDir/databases.conf ${TargetDir}@FB_CONFDIR@
     cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@
 
 	chown root:wheel ${TargetDir}@FB_CONFDIR@/*.conf
Modified: firebird/trunk/builds/install/arch-specific/hpux/classic/firebirdCS.psf.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/hpux/classic/firebirdCS.psf.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/hpux/classic/firebirdCS.psf.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -27,7 +27,7 @@
 tag main
 file -u 0660 -g firebird -o firebird buildroot@prefix@/security2.fdb @prefix@/security2.fdb
 file -u 0644 -g firebird -o firebird buildroot@prefix@/firebird.conf @prefix@/firebird.conf
-file -u 0644 -g firebird -o firebird buildroot@prefix@/aliases.conf @prefix@/aliases.conf
+file -u 0644 -g firebird -o firebird buildroot@prefix@/databases.conf @prefix@/databases.conf
 file -u 0644 -g firebird -o firebird buildroot@prefix@/WhatsNew @prefix@/WhatsNew
 end
 #
Modified: firebird/trunk/builds/install/arch-specific/hpux/classic/makeinstallImage.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/hpux/classic/makeinstallImage.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/hpux/classic/makeinstallImage.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -206,7 +206,7 @@
 
 #   Misc config files
     cp $BuildRootDir/gen/install/misc/firebird.conf $DestDir/
-    cp $BuildRootDir/gen/install/misc/aliases.conf $DestDir/
+    cp $BuildRootDir/gen/install/misc/databases.conf $DestDir/
     cp $BuildRootDir/gen/install/misc/fbintl.conf $DestDir/intl/
 
 #   Create links from @libdir@ to install area.
Modified: firebird/trunk/builds/install/arch-specific/hpux/misc/createaliasDB.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/hpux/misc/createaliasDB.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/hpux/misc/createaliasDB.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -51,7 +51,7 @@
 
 #------------------------------------------------------------------------------
 # appendAliasEntry
-# check to see if an entry already exists in the aliases.conf file
+# check to see if an entry already exists in the databases.conf file
 # if it doesn't append it to the end of the file
 
 appendAliasEntry() {
@@ -138,7 +138,7 @@
     aliasName=$1
     newDB=$2
 
-    AliasFile=@FB_CONFDIR@/aliases.conf
+    AliasFile=@FB_CONFDIR@/databases.conf
 
 
     checkNameStartsWithSlash $newDB
Modified: firebird/trunk/builds/install/arch-specific/hpux/super/makeinstallImage.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/hpux/super/makeinstallImage.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/hpux/super/makeinstallImage.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -169,7 +169,7 @@
 
 # Miscellaneous config and stratup files
     cp $BuildRootDir/gen/install/misc/firebird.conf $DestDir/firebird.conf
-    cp $BuildRootDir/gen/install/misc/aliases.conf $DestDir/
+    cp $BuildRootDir/gen/install/misc/databases.conf $DestDir/
 
 
 # Create links from /usr/lib to install area.
Modified: firebird/trunk/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -304,7 +304,7 @@
 
 	#conf
     cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@
-    cp $BuiltFBDir/aliases.conf ${TargetDir}@FB_CONFDIR@
+    cp $BuiltFBDir/databases.conf ${TargetDir}@FB_CONFDIR@
     cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@
     cp $BuiltFBDir/plugins.conf ${TargetDir}@FB_CONFDIR@
 
Modified: firebird/trunk/builds/install/arch-specific/netbsd/install.sh.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/netbsd/install.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/netbsd/install.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -197,14 +197,14 @@
 
 cp $BuiltFBDir/misc/firebird.conf $DestDir/firebird.conf.sample || exit
 
-echo "#" >> $DestDir/aliases.conf.sample
-echo "# List of known database aliases" >> $DestDir/aliases.conf.sample
-echo "# ------------------------------" >> $DestDir/aliases.conf.sample
-echo "#" >> $DestDir/aliases.conf.sample
-echo "# Examples:" >> $DestDir/aliases.conf.sample
-echo "#" >> $DestDir/aliases.conf.sample
-echo "# employee = /$DestDir/examples/employee.fdb" >> $DestDir/aliases.conf.sample
-echo "#" >> $DestDir/aliases.conf.sample
+echo "#" >> $DestDir/databases.conf.sample
+echo "# List of known database aliases" >> $DestDir/databases.conf.sample
+echo "# ------------------------------" >> $DestDir/databases.conf.sample
+echo "#" >> $DestDir/databases.conf.sample
+echo "# Examples:" >> $DestDir/databases.conf.sample
+echo "#" >> $DestDir/databases.conf.sample
+echo "# employee = /$DestDir/examples/employee.fdb" >> $DestDir/databases.conf.sample
+echo "#" >> $DestDir/databases.conf.sample
 
 
 echo Setting ownership and permissions on installed files
@@ -284,7 +284,7 @@
 chmod ug=rw,o= help/*.fdb || exit
 
 # install the samples if they don't exist
-[ -f aliases.conf ] || install -o firebird -g firebird -m 440 aliases.conf.sample aliases.conf
+[ -f databases.conf ] || install -o firebird -g firebird -m 440 databases.conf.sample databases.conf
 [ -f firebird.conf ] || install -o firebird -g firebird -m 440 firebird.conf.sample firebird.conf
 [ -f security2.fdb ] || install -o firebird -g firebird -m 660 security2.fdb.sample security2.fdb
 
Modified: firebird/trunk/builds/install/arch-specific/solaris/CS/prototype.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/solaris/CS/prototype.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/solaris/CS/prototype.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -18,7 +18,7 @@
 
 v CONFIG.prsv @prefix@/security2.fdb=$SRCDIR/security2.fdb  0660 firebird firebird
 v CONFIG.prsv @prefix@/firebird.conf=$SRCDIR/misc/firebird.conf  0444 firebird firebird
-v CONFIG.prsv @prefix@/aliases.conf=$SRCDIR/../../builds/install/misc/aliases.conf.in  0444 firebird firebird
+v CONFIG.prsv @prefix@/databases.conf=$SRCDIR/../../builds/install/misc/databases.conf.in  0444 firebird firebird
 v CONFIG.prsv @prefix@/intl/fbintl.conf=$SRCDIR/misc/fbintl.conf 0644 firebird firebird
 f none @prefix@/WhatsNew=$SRCDIR/../../doc/WhatsNew 0644 firebird firebird
 
Modified: firebird/trunk/builds/install/arch-specific/solaris/SS/prototype.in
===================================================================
--- firebird/trunk/builds/install/arch-specific/solaris/SS/prototype.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/solaris/SS/prototype.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -18,7 +18,7 @@
 
 v CONFIG.prsv @prefix@/security2.fdb=$SRCDIR/security2.fdb  0660 firebird firebird
 v CONFIG.prsv @prefix@/firebird.conf=$SRCDIR/misc/firebird.conf  0644 firebird firebird
-v CONFIG.prsv @prefix@/aliases.conf=$SRCDIR/../../builds/install/misc/aliases.conf.in  0544 firebird firebird
+v CONFIG.prsv @prefix@/databases.conf=$SRCDIR/../../builds/install/misc/databases.conf.in  0544 firebird firebird
 v CONFIG.prsv @prefix@/intl/fbintl.conf=$SRCDIR/misc/fbintl.conf 0644 firebird firebird
 f none @prefix@/WhatsNew=$SRCDIR/../../doc/WhatsNew 0644 firebird firebird
 
Modified: firebird/trunk/builds/install/arch-specific/win32/BuildExecutableInstall.bat
===================================================================
--- firebird/trunk/builds/install/arch-specific/win32/BuildExecutableInstall.bat	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/win32/BuildExecutableInstall.bat	2013-04-08 16:28:05 UTC (rev 57918)
@@ -441,15 +441,15 @@
 :ALIAS_CONF
 :: Generate a sample aliases file
 ::===============================
-@echo   Creating sample aliases.conf
-@echo # > %FB_OUTPUT_DIR%\aliases.conf
-@echo # List of known database aliases >> %FB_OUTPUT_DIR%\aliases.conf
-@echo # ------------------------------ >> %FB_OUTPUT_DIR%\aliases.conf
-@echo # >> %FB_OUTPUT_DIR%\aliases.conf
-@echo # Examples: >> %FB_OUTPUT_DIR%\aliases.conf
-@echo # >> %FB_OUTPUT_DIR%\aliases.conf
-@echo #   dummy = c:\data\dummy.fdb >> %FB_OUTPUT_DIR%\aliases.conf
-@echo #  >> %FB_OUTPUT_DIR%\aliases.conf
+@echo   Creating sample databases.conf
+@echo # > %FB_OUTPUT_DIR%\databases.conf
+@echo # List of known database aliases >> %FB_OUTPUT_DIR%\databases.conf
+@echo # ------------------------------ >> %FB_OUTPUT_DIR%\databases.conf
+@echo # >> %FB_OUTPUT_DIR%\databases.conf
+@echo # Examples: >> %FB_OUTPUT_DIR%\databases.conf
+@echo # >> %FB_OUTPUT_DIR%\databases.conf
+@echo #   dummy = c:\data\dummy.fdb >> %FB_OUTPUT_DIR%\databases.conf
+@echo #  >> %FB_OUTPUT_DIR%\databases.conf
 
 ::End of ALIAS_CONF
 ::-----------------
@@ -585,7 +585,7 @@
 @mkdir %FBBUILD_EMB_PACK_ROOT% 2>nul
 @del /s /q %FBBUILD_EMB_PACK_ROOT%\ > nul
 
-for %%v in (aliases.conf firebird.conf firebird.msg) do (	@copy /Y %FB_OUTPUT_DIR%\%%v %FBBUILD_EMB_PACK_ROOT%\%%v > nul)
+for %%v in (databases.conf firebird.conf firebird.msg) do (	@copy /Y %FB_OUTPUT_DIR%\%%v %FBBUILD_EMB_PACK_ROOT%\%%v > nul)
 
 for %%v in ( doc intl udf ) do (@mkdir %FBBUILD_EMB_PACK_ROOT%\%%v 2>nul)
 
Modified: firebird/trunk/builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc
===================================================================
--- firebird/trunk/builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc	2013-04-08 16:28:05 UTC (rev 57918)
@@ -736,7 +736,7 @@
 else
   SharedFileArray[26].Filename := ExpandConstant('{sys}')+'FIREBI~1.CPL';
 
-SharedFileArray[27].Filename := ExpandConstant('{app}')+'aliases.conf';
+SharedFileArray[27].Filename := ExpandConstant('{app}')+'databases.conf';
 SharedFileArray[28].Filename := ExpandConstant('{app}')+'firebird.conf';
 SharedFileArray[29].Filename := ExpandConstant('{app}')+'firebird.log';
 SharedFileArray[30].Filename := ExpandConstant('{app}')+'security3.fdb';
Modified: firebird/trunk/builds/install/arch-specific/win32/FirebirdInstall_30.iss
===================================================================
--- firebird/trunk/builds/install/arch-specific/win32/FirebirdInstall_30.iss	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/win32/FirebirdInstall_30.iss	2013-04-08 16:28:05 UTC (rev 57918)
@@ -494,7 +494,7 @@
 Source: {#FilesDir}\firebird.conf; DestDir: {app}; DestName: firebird.conf; Components: ServerComponent; Flags: uninsneveruninstall; check: NoFirebirdConfExists
 Source: {#FilesDir}\fbtrace.conf; DestDir: {app}; DestName: fbtrace.conf.default; Components: ServerComponent;
 Source: {#FilesDir}\fbtrace.conf; DestDir: {app}; DestName: fbtrace.conf; Components: ServerComponent; Flags: uninsneveruninstall onlyifdoesntexist; check: NofbtraceConfExists;
-Source: {#FilesDir}\aliases.conf; DestDir: {app}; Components: ClientComponent; Flags: uninsneveruninstall onlyifdoesntexist
+Source: {#FilesDir}\databases.conf; DestDir: {app}; Components: ClientComponent; Flags: uninsneveruninstall onlyifdoesntexist
 Source: {#FilesDir}\security3.fdb; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall onlyifdoesntexist
 Source: {#FilesDir}\firebird.msg; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
 Source: {#FilesDir}\firebird.log; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall skipifsourcedoesntexist external dontcopy
@@ -665,7 +665,7 @@
   // Options for scripted uninstall.
   CleanUninstall: Boolean;      // If /clean is passed to the uninstaller it will delete
                                 // user config files - firebird.conf, firebird.log,
-                                // aliases.conf, fbtrace.conf and the security database.
+                                // databases.conf, fbtrace.conf and the security database.
 
   SYSDBAName: String;           // Name of SYSDBA
   SYSDBAPassword: String;       // SYSDBA password
@@ -1056,7 +1056,7 @@
       //Manually set the sharedfile count of these files.
       IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\firebird.conf', false);
       IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\firebird.log', false);
-      IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\aliases.conf', false);
+      IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\databases.conf', false);
       IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\fbtrace.conf', false);
       IncrementSharedCount(Is64BitInstallMode, GetAppPath+'\security3.fdb', false);
       end;
@@ -1168,9 +1168,9 @@
         if CleanUninstall then
           DeleteFile(GetAppPath+'\firebird.log');
 
-      if DecrementSharedCount(Is64BitInstallMode, GetAppPath+'\aliases.conf') then
+      if DecrementSharedCount(Is64BitInstallMode, GetAppPath+'\databases.conf') then
         if CleanUninstall then
-          DeleteFile(GetAppPath+'\aliases.conf');
+          DeleteFile(GetAppPath+'\databases.conf');
 
       if DecrementSharedCount(Is64BitInstallMode, GetAppPath+'\fbtrace.conf') then
         if CleanUninstall then
Modified: firebird/trunk/builds/install/arch-specific/win32/installation_readme.txt
===================================================================
--- firebird/trunk/builds/install/arch-specific/win32/installation_readme.txt	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/win32/installation_readme.txt	2013-04-08 16:28:05 UTC (rev 57918)
@@ -130,7 +130,7 @@
 o Uninstallation leaves five files in the install
   directory:
 
-  - aliases.conf
+  - databases.conf
   - firebird.conf
   - fbtrace.conf
   - firebird.log
Modified: firebird/trunk/builds/install/arch-specific/win32/installation_scripted.txt
===================================================================
--- firebird/trunk/builds/install/arch-specific/win32/installation_scripted.txt	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/arch-specific/win32/installation_scripted.txt	2013-04-08 16:28:05 UTC (rev 57918)
@@ -398,7 +398,7 @@
   the uninstallation process has completed:
 
     firebird.conf
-    aliases.conf
+    databases.conf
     firebird.log
     security3.fdb
 	fbtrace.conf
Deleted: firebird/trunk/builds/install/misc/aliases.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/aliases.conf.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/misc/aliases.conf.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -1,13 +0,0 @@
-# ------------------------------
-# List of known database aliases
-# ------------------------------
-
-#
-# Example Database:
-#
-employee.fdb = $(dir_sampledb)/employee.fdb
-employee = $(dir_sampledb)/employee.fdb
-
-#
-# Live Databases:
-#
Modified: firebird/trunk/builds/install/misc/createAliasDB.sh.in
===================================================================
--- firebird/trunk/builds/install/misc/createAliasDB.sh.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/misc/createAliasDB.sh.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -36,7 +36,7 @@
 
 #------------------------------------------------------------------------------
 # appendAliasEntry
-# check to see if an entry already exists in the aliases.conf file
+# check to see if an entry already exists in the databases.conf file
 # if it doesn't append it to the end of the file
 
 appendAliasEntry() {
@@ -121,7 +121,7 @@
     aliasName=$1
     newDB=$2
 
-    AliasFile=@FB_CONFDIR@/aliases.conf
+    AliasFile=@FB_CONFDIR@/databases.conf
 
     checkNameStartsWithSlash $newDB
     appendAliasEntry $aliasName $newDB
Copied: firebird/trunk/builds/install/misc/databases.conf.in (from rev 57903, firebird/trunk/builds/install/misc/aliases.conf.in)
===================================================================
--- firebird/trunk/builds/install/misc/databases.conf.in	                        (rev 0)
+++ firebird/trunk/builds/install/misc/databases.conf.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -0,0 +1,13 @@
+# ------------------------------
+# List of known database aliases
+# ------------------------------
+
+#
+# Example Database:
+#
+employee.fdb = $(dir_sampledb)/employee.fdb
+employee = $(dir_sampledb)/employee.fdb
+
+#
+# Live Databases:
+#
Property changes on: firebird/trunk/builds/install/misc/databases.conf.in
___________________________________________________________________
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/builds/install/misc/firebird.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-08 16:28:05 UTC (rev 57918)
@@ -70,7 +70,7 @@
 # To specify access to specific trees, enum all required paths 
 # (for Win32 this may be something like 'C:\DataBase;D:\Mirror',
 # for unix - '/db;/mnt/mirrordb'). If you choose 'None', then only
-# databases listed in aliases.conf can be attached.
+# databases listed in databases.conf can be attached.
 #
 # Note: simple quotation marks shown above should *NOT* be used when
 # specifying values and directory path names. Examples:
Modified: firebird/trunk/builds/posix/postfix.darwin
===================================================================
--- firebird/trunk/builds/posix/postfix.darwin	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/builds/posix/postfix.darwin	2013-04-08 16:28:05 UTC (rev 57918)
@@ -105,8 +105,8 @@
 	cp ../builds/install/arch-specific/darwin/Readme.txt \
 			$(FB_FW)/Resources/Readme.txt
 	cp ../gen/install/misc/firebird.conf $(FB_FW)/Resources/English.lproj/var
-	cp ../builds/install/arch-specific/darwin/aliases.conf.in \
-			$(FB_FW)/Resources/English.lproj/var/aliases.conf
+	cp ../builds/install/arch-specific/darwin/databases.conf.in \
+			$(FB_FW)/Resources/English.lproj/var/databases.conf
 	cp ../src/utilities/ntrace/fbtrace.conf \
 			$(FB_FW)/Resources/English.lproj/var/fbtrace.conf
 
@@ -171,8 +171,8 @@
 	cp ../builds/install/arch-specific/darwin/Readme.txt \
 			$(FB_FW)/Resources/Readme.txt
 	cp ../gen/install/misc/firebird.conf $(FB_FW)/Resources/English.lproj/var
-	cp ../builds/install/arch-specific/darwin/aliases.conf.in \
-			$(FB_FW)/Resources/English.lproj/var/aliases.conf
+	cp ../builds/install/arch-specific/darwin/databases.conf.in \
+			$(FB_FW)/Resources/English.lproj/var/databases.conf
 	cp ../src/utilities/ntrace/fbtrace.conf \
 			$(FB_FW)/Resources/English.lproj/var/fbtrace.conf
 darwin_postbuild_target: package
Modified: firebird/trunk/configure.ac
===================================================================
--- firebird/trunk/configure.ac	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/configure.ac	2013-04-08 16:28:05 UTC (rev 57918)
@@ -1114,7 +1114,7 @@
 for fb_tgt in $FB_TARGETS; do
 AC_CONFIG_FILES([
 gen/$fb_tgt/firebird/firebird.conf:builds/install/misc/firebird.conf.in
-gen/$fb_tgt/firebird/aliases.conf:builds/install/misc/aliases.conf.in
+gen/$fb_tgt/firebird/databases.conf:builds/install/misc/databases.conf.in
 gen/$fb_tgt/firebird/fbtrace.conf:src/utilities/ntrace/fbtrace.conf
 gen/$fb_tgt/firebird/intl/fbintl.conf:builds/install/misc/fbintl.conf
 gen/$fb_tgt/firebird/plugins.conf:builds/install/misc/plugins.conf
Modified: firebird/trunk/doc/README.raw_devices
===================================================================
--- firebird/trunk/doc/README.raw_devices	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/doc/README.raw_devices	2013-04-08 16:28:05 UTC (rev 57918)
@@ -74,6 +74,6 @@
 
  In all other aspects raw devices do not have known specific
  in use.
- Tip: it's good idea to have raw devices in aliases.conf - in
+ Tip: it's good idea to have raw devices in databases.conf - in
  case of HW reconfiguration of your server you will not need to
  change connection strings.
Modified: firebird/trunk/doc/install_windows_manually.txt
===================================================================
--- firebird/trunk/doc/install_windows_manually.txt	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/doc/install_windows_manually.txt	2013-04-08 16:28:05 UTC (rev 57918)
@@ -81,7 +81,7 @@
       instclient.exe remove <libname>
 
   - Delete installation directory. You may wish to keep the log file, security
-    database, firebird.conf and aliases.conf.
+    database, firebird.conf and databases.conf.
 
 
 
Modified: firebird/trunk/src/common/db_alias.cpp
===================================================================
--- firebird/trunk/src/common/db_alias.cpp	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/src/common/db_alias.cpp	2013-04-08 16:28:05 UTC (rev 57918)
@@ -54,7 +54,7 @@
 	};
 	InitInstance<DatabaseDirectoryList> databaseDirectoryList;
 
-	const char* const ALIAS_FILE = "aliases.conf";
+	const char* const ALIAS_FILE = "databases.conf";
 
 	void replace_dir_sep(PathName& s)
 	{
@@ -272,8 +272,8 @@
 	return false;
 }
 
-// Search for 'alias' in aliases.conf, return its value in 'file' if found. Else set file to alias.
-// Returns true if alias is found in aliases.conf.
+// Search for 'alias' in databases.conf, return its value in 'file' if found. Else set file to alias.
+// Returns true if alias is found in databases.conf.
 static bool resolveAlias(const PathName& alias, PathName& file, RefPtr<Config>* config)
 {
 	PathName correctedAlias = alias;
@@ -346,7 +346,7 @@
 }
 
 // Full processing of database name
-// Returns true if alias was found in aliases.conf
+// Returns true if alias was found in databases.conf
 bool expandDatabaseName(const Firebird::PathName& alias,
 						Firebird::PathName& file,
 						Firebird::RefPtr<Config>* config)
@@ -357,13 +357,13 @@
 	}
 	catch (const fatal_exception& ex)
 	{
-		gds__log("File aliases.conf contains bad data: %s", ex.what());
+		gds__log("File databases.conf contains bad data: %s", ex.what());
 		(Arg::Gds(isc_random) << "Server misconfigured - contact administrator please").raise();
 	}
 
 	ReadLockGuard guard(aliasesConf().rwLock, "expandDatabaseName");
 
-	// First of all check in aliases.conf
+	// First of all check in databases.conf
 	if (resolveAlias(alias, file, config))
 	{
 		return true;
@@ -390,7 +390,7 @@
 		}
 	}
 
-	// Search for correct config in aliases.conf
+	// Search for correct config in databases.conf
 	if (config)
 	{
 		DbName* db = aliasesConf().dbHash.lookup(file);
Modified: firebird/trunk/src/yvalve/PluginManager.cpp
===================================================================
--- firebird/trunk/src/yvalve/PluginManager.cpp	2013-04-08 15:05:22 UTC (rev 57917)
+++ firebird/trunk/src/yvalve/PluginManager.cpp	2013-04-08 16:28:05 UTC (rev 57918)
@@ -395,7 +395,7 @@
 	PluginModule* builtin = NULL;
 
 	// Provides most of configuration services for plugins,
-	// except per-database configuration in aliases.conf
+	// except per-database configuration in databases.conf
 	class ConfiguredPlugin : public RefCntIface<ITimer, FB_TIMER_VERSION>
 	{
 	public:
@@ -472,7 +472,7 @@
 		PathName plugName;
 	};
 
-	// Provides per-database configuration from aliases.conf.
+	// Provides per-database configuration from databases.conf.
 	class FactoryParameter : public RefCntIface<IPluginConfig, FB_PLUGIN_CONFIG_VERSION>
 	{
 	public:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-10 00:44:31
       | 
| Revision: 57923
          http://sourceforge.net/p/firebird/code/57923
Author:   firebirds
Date:     2013-04-10 00:44:27 +0000 (Wed, 10 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-09 20:09:56 UTC (rev 57922)
+++ firebird/trunk/ChangeLog	2013-04-10 00:44:27 UTC (rev 57923)
@@ -1,3 +1,45 @@
+ 2013-04-09 20:09  mapopa 
+   M doc/README.build.mingw.html
+Cleanup mingw build instructions , todo add up to date instructions with ming-w64 http://mingw-w64.sourceforge.net/ used for qt , boost ... http://qt-project.org/wiki/MinGW
+
+ 2013-04-09 15:34  mapopa 
+   M doc/README.build.msvc.html
+Update VisualStudio 20xx building notes README 
+
+ 2013-04-08 16:28  alexpeshkoff 
+   M builds/install/arch-specific/aix/classic/makeInstallImage.sh.in
+   M builds/install/arch-specific/darwin/install-script
+   M builds/install/arch-specific/darwin/preupgrade-script
+   M builds/install/arch-specific/freebsd/install.sh.in
+   M builds/install/arch-specific/hpux/classic/firebirdCS.psf.in
+   M builds/install/arch-specific/hpux/classic/makeinstallImage.sh.in
+   M builds/install/arch-specific/hpux/misc/createaliasDB.sh.in
+   M builds/install/arch-specific/hpux/super/makeinstallImage.sh.in
+   M builds/install/arch-specific/linux/misc/makeInstallImage.sh.in
+   M builds/install/arch-specific/netbsd/install.sh.in
+   M builds/install/arch-specific/solaris/CS/prototype.in
+   M builds/install/arch-specific/solaris/SS/prototype.in
+   M builds/install/arch-specific/win32/BuildExecutableInstall.bat
+   M builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc
+   M builds/install/arch-specific/win32/FirebirdInstall_30.iss
+   M builds/install/arch-specific/win32/installation_readme.txt
+   M builds/install/arch-specific/win32/installation_scripted.txt
+   D builds/install/misc/aliases.conf.in
+   M builds/install/misc/createAliasDB.sh.in
+   A builds/install/misc/databases.conf.in (from /firebird/trunk/builds/install/misc/aliases.conf.in:57903)
+   M builds/install/misc/firebird.conf.in
+   M builds/posix/postfix.darwin
+   M configure.ac
+   M doc/README.raw_devices
+   M doc/install_windows_manually.txt
+   M src/common/db_alias.cpp
+   M src/yvalve/PluginManager.cpp
+Renamed aliases.conf to databases.conf as suggested by Dmitry
+
+ 2013-04-08 15:05  alexpeshkoff 
+   M src/auth/SecureRemotePassword/manage/SrpManagement.cpp
+Fixed leak, found by Claudio. Fixed diagnostics.
+
  2013-04-07 23:48  asfernandes 
    M builds/install/misc/firebird.conf.in
    M src/remote/inet.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-09 20:09:56 UTC (rev 57922)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-10 00:44:27 UTC (rev 57923)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30333
+  FORMAL BUILD NUMBER:30337
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30333"
-#define FILE_VER_STRING "WI-T3.0.0.30333"
-#define LICENSE_VER_STRING "WI-T3.0.0.30333"
-#define FILE_VER_NUMBER 3, 0, 0, 30333
+#define PRODUCT_VER_STRING "3.0.0.30337"
+#define FILE_VER_STRING "WI-T3.0.0.30337"
+#define LICENSE_VER_STRING "WI-T3.0.0.30337"
+#define FILE_VER_NUMBER 3, 0, 0, 30337
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30333"
+#define FB_BUILD_NO "30337"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-09 20:09:56 UTC (rev 57922)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-10 00:44:27 UTC (rev 57923)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30333
+BuildNum=30337
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-11 00:38:06
       | 
| Revision: 57925
          http://sourceforge.net/p/firebird/code/57925
Author:   firebirds
Date:     2013-04-11 00:38:01 +0000 (Thu, 11 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-10 11:32:45 UTC (rev 57924)
+++ firebird/trunk/ChangeLog	2013-04-11 00:38:01 UTC (rev 57925)
@@ -1,3 +1,8 @@
+ 2013-04-10 11:32  mapopa 
+   M doc/cleaning-todo.txt
+   M doc/emacros-cross_ref.html
+Update cleaning todo for 3.x , remove already cleaned work done in 1.5.x,2.x
+
  2013-04-09 20:09  mapopa 
    M doc/README.build.mingw.html
 Cleanup mingw build instructions , todo add up to date instructions with ming-w64 http://mingw-w64.sourceforge.net/ used for qt , boost ... http://qt-project.org/wiki/MinGW
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-10 11:32:45 UTC (rev 57924)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-11 00:38:01 UTC (rev 57925)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30337
+  FORMAL BUILD NUMBER:30338
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30337"
-#define FILE_VER_STRING "WI-T3.0.0.30337"
-#define LICENSE_VER_STRING "WI-T3.0.0.30337"
-#define FILE_VER_NUMBER 3, 0, 0, 30337
+#define PRODUCT_VER_STRING "3.0.0.30338"
+#define FILE_VER_STRING "WI-T3.0.0.30338"
+#define LICENSE_VER_STRING "WI-T3.0.0.30338"
+#define FILE_VER_NUMBER 3, 0, 0, 30338
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30337"
+#define FB_BUILD_NO "30338"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-10 11:32:45 UTC (rev 57924)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-11 00:38:01 UTC (rev 57925)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30337
+BuildNum=30338
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <asf...@us...> - 2013-04-11 15:44:24
       | 
| Revision: 57933
          http://sourceforge.net/p/firebird/code/57933
Author:   asfernandes
Date:     2013-04-11 15:44:17 +0000 (Thu, 11 Apr 2013)
Log Message:
-----------
Revert external routines to request-based (*) code, but now using a totally different internal approach.
* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
Modified Paths:
--------------
    firebird/trunk/examples/udr/UdrCppExample.cpp
    firebird/trunk/src/dsql/ExprNodes.cpp
    firebird/trunk/src/dsql/Nodes.h
    firebird/trunk/src/dsql/StmtNodes.cpp
    firebird/trunk/src/dsql/StmtNodes.h
    firebird/trunk/src/jrd/ExtEngineManager.cpp
    firebird/trunk/src/jrd/ExtEngineManager.h
    firebird/trunk/src/jrd/Function.epp
    firebird/trunk/src/jrd/exe.cpp
    firebird/trunk/src/jrd/jrd.cpp
    firebird/trunk/src/jrd/met.epp
    firebird/trunk/src/jrd/par.cpp
    firebird/trunk/src/jrd/par_proto.h
    firebird/trunk/src/jrd/recsrc/ProcedureScan.cpp
    firebird/trunk/src/jrd/recsrc/RecordSource.h
    firebird/trunk/src/jrd/req.h
Modified: firebird/trunk/examples/udr/UdrCppExample.cpp
===================================================================
--- firebird/trunk/examples/udr/UdrCppExample.cpp	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/examples/udr/UdrCppExample.cpp	2013-04-11 15:44:17 UTC (rev 57933)
@@ -190,8 +190,7 @@
 		unsigned outNullOffset = outMetadata->getNullOffset(status, 0);
 		StatusException::check(status->get());
 
-		// By default, the return value is NOT NULL.
-		///*(ISC_SHORT*) (out + outNullOffset) = FB_FALSE;
+		*(ISC_SHORT*) (out + outNullOffset) = FB_FALSE;
 
 		// Get offset of the return value.
 		unsigned outOffset = outMetadata->getOffset(status, 0);
@@ -244,7 +243,7 @@
 ***/
 FB_UDR_BEGIN_PROCEDURE(gen_rows)
 	// Procedure variables.
-	unsigned inOffsetStart, inOffsetEnd, outOffset;
+	unsigned inOffsetStart, inOffsetEnd, outNullOffset, outOffset;
 
 	/*** Procedure destructor.
 	~FB_UDR_PROCEDURE(gen_rows)()
@@ -269,6 +268,9 @@
 		IMessageMetadata* outMetadata = metadata->getOutputMetadata(status);
 		StatusException::check(status->get());
 
+		outNullOffset = outMetadata->getNullOffset(status, 0);
+		StatusException::check(status->get());
+
 		outOffset = outMetadata->getOffset(status, 0);
 		StatusException::check(status->get());
 
@@ -279,6 +281,8 @@
 	{
 		counter = *(ISC_LONG*) (in + procedure->inOffsetStart);
 		end = *(ISC_LONG*) (in + procedure->inOffsetEnd);
+
+		*(ISC_SHORT*) (out + procedure->outNullOffset) = FB_FALSE;
 	}
 
 	FB_UDR_FETCH_PROCEDURE
@@ -320,6 +324,7 @@
 	,
 		(FB_INTEGER, result))
 	{
+		out->resultNull = FB_FALSE;
 		out->result = in->start - 1;
 	}
 
Modified: firebird/trunk/src/dsql/ExprNodes.cpp
===================================================================
--- firebird/trunk/src/dsql/ExprNodes.cpp	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/src/dsql/ExprNodes.cpp	2013-04-11 15:44:17 UTC (rev 57933)
@@ -10671,10 +10671,7 @@
 			CMP_impure(csb, function->getInputFormat()->fmt_length);
 		}
 
-		if (function->fun_external)
-			fb_assert(function->getOutputFormat()->fmt_count == 2);
-		else
-			fb_assert(function->getOutputFormat()->fmt_count == 3);
+		fb_assert(function->getOutputFormat()->fmt_count == 3);
 
 		fb_assert(function->getOutputFormat()->fmt_length);
 		CMP_impure(csb, function->getOutputFormat()->fmt_length);
@@ -10763,13 +10760,6 @@
 		UCHAR* const inMsg = (UCHAR*) FB_ALIGN((IPTR) impure + sizeof(impure_value), FB_ALIGNMENT);
 		UCHAR* const outMsg = (UCHAR*) FB_ALIGN((IPTR) inMsg + inMsgLength, FB_ALIGNMENT);
 
-		if (function->fun_external)
-		{
-			// We must clear messages of external functions.
-			memset(inMsg, 0, inMsgLength);
-			memset(outMsg, 0, outMsgLength);
-		}
-
 		if (function->fun_inputs != 0)
 		{
 			const NestConst<ValueExprNode>* const sourceEnd = args->items.end();
@@ -10801,10 +10791,28 @@
 		const SLONG savePointNumber = transaction->tra_save_point ?
 			transaction->tra_save_point->sav_number : 0;
 
-		if (function->fun_external)
+		jrd_req* funcRequest = function->getStatement()->findRequest(tdbb);
+
+		// trace function execution start
+		//// TODO: TraceProcExecute trace(tdbb, funcRequest, request, inputTargets);
+
+		// Catch errors so we can unwind cleanly.
+
+		try
 		{
-			function->fun_external->execute(tdbb, inMsg, outMsg);
+			Jrd::ContextPoolHolder context(tdbb, funcRequest->req_pool);	// Save the old pool.
 
+			funcRequest->req_timestamp = request->req_timestamp;
+
+			EXE_start(tdbb, funcRequest, transaction);
+
+			if (inMsgLength != 0)
+				EXE_send(tdbb, funcRequest, 0, inMsgLength, inMsg);
+
+			EXE_receive(tdbb, funcRequest, 1, outMsgLength, outMsg);
+
+			// Clean up all savepoints started during execution of the procedure.
+
 			if (transaction != attachment->getSysTransaction())
 			{
 				for (const Savepoint* savePoint = transaction->tra_save_point;
@@ -10815,65 +10823,30 @@
 				}
 			}
 		}
-		else
+		catch (const Exception& ex)
 		{
-			jrd_req* funcRequest = function->getStatement()->findRequest(tdbb);
+			/*** TODO:
+			const bool noPriv = (ex.stuff_exception(tdbb->tdbb_status_vector) == isc_no_priv);
+			trace.finish(false, noPriv ? res_unauthorized : res_failed);
+			***/
 
-			// trace function execution start
-			//// TODO: TraceProcExecute trace(tdbb, funcRequest, request, inputTargets);
-
-			// Catch errors so we can unwind cleanly.
-
-			try
-			{
-				Jrd::ContextPoolHolder context(tdbb, funcRequest->req_pool);	// Save the old pool.
-
-				funcRequest->req_timestamp = request->req_timestamp;
-
-				EXE_start(tdbb, funcRequest, transaction);
-
-				if (inMsgLength != 0)
-					EXE_send(tdbb, funcRequest, 0, inMsgLength, inMsg);
-
-				EXE_receive(tdbb, funcRequest, 1, outMsgLength, outMsg);
-
-				// Clean up all savepoints started during execution of the procedure.
-
-				if (transaction != attachment->getSysTransaction())
-				{
-					for (const Savepoint* savePoint = transaction->tra_save_point;
-						 savePoint && savePointNumber < savePoint->sav_number;
-						 savePoint = transaction->tra_save_point)
-					{
-						VIO_verb_cleanup(tdbb, transaction);
-					}
-				}
-			}
-			catch (const Exception& ex)
-			{
-				/*** TODO:
-				const bool noPriv = (ex.stuff_exception(tdbb->tdbb_status_vector) == isc_no_priv);
-				trace.finish(false, noPriv ? res_unauthorized : res_failed);
-				***/
-
-				tdbb->setRequest(request);
-				EXE_unwind(tdbb, funcRequest);
-				funcRequest->req_attachment = NULL;
-				funcRequest->req_flags &= ~(req_in_use | req_proc_fetch);
-				funcRequest->req_timestamp.invalidate();
-				throw;
-			}
-
-			//// TODO: trace.finish(false, res_successful);
-
+			tdbb->setRequest(request);
 			EXE_unwind(tdbb, funcRequest);
-			tdbb->setRequest(request);
-
 			funcRequest->req_attachment = NULL;
 			funcRequest->req_flags &= ~(req_in_use | req_proc_fetch);
 			funcRequest->req_timestamp.invalidate();
+			throw;
 		}
 
+		//// TODO: trace.finish(false, res_successful);
+
+		EXE_unwind(tdbb, funcRequest);
+		tdbb->setRequest(request);
+
+		funcRequest->req_attachment = NULL;
+		funcRequest->req_flags &= ~(req_in_use | req_proc_fetch);
+		funcRequest->req_timestamp.invalidate();
+
 		const dsc* fmtDesc = function->getOutputFormat()->fmt_desc.begin();
 		const ULONG nullOffset = (IPTR) fmtDesc[1].dsc_address;
 		SSHORT* const nullPtr = reinterpret_cast<SSHORT*>(outMsg + nullOffset);
Modified: firebird/trunk/src/dsql/Nodes.h
===================================================================
--- firebird/trunk/src/dsql/Nodes.h	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/src/dsql/Nodes.h	2013-04-11 15:44:17 UTC (rev 57933)
@@ -1286,7 +1286,10 @@
 		TYPE_STORE,
 		TYPE_SUSPEND,
 		TYPE_UPDATE_OR_INSERT,
-		TYPE_USER_SAVEPOINT
+		TYPE_USER_SAVEPOINT,
+
+		TYPE_EXT_INIT_PARAMETER,
+		TYPE_EXT_TRIGGER
 	};
 
 	enum WhichTrigger
Modified: firebird/trunk/src/dsql/StmtNodes.cpp
===================================================================
--- firebird/trunk/src/dsql/StmtNodes.cpp	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/src/dsql/StmtNodes.cpp	2013-04-11 15:44:17 UTC (rev 57933)
@@ -2745,13 +2745,6 @@
 		outMsg = (UCHAR*) FB_ALIGN((U_IPTR) outMsg, FB_DOUBLE_ALIGN);
 	}
 
-	if (procedure->getExternal())
-	{
-		// We must clear messages of external procedures.
-		memset(inMsg, 0, inMsgLength);
-		memset(outMsg, 0, outMsgLength);
-	}
-
 	if (inputSources)
 	{
 		const NestConst<ValueExprNode>* const sourceEnd = inputSources->items.end();
@@ -2766,14 +2759,26 @@
 	const SLONG savePointNumber = transaction->tra_save_point ?
 		transaction->tra_save_point->sav_number : 0;
 
-	if (procedure->getExternal())
+	jrd_req* procRequest = procedure->getStatement()->findRequest(tdbb);
+
+	// trace procedure execution start
+	TraceProcExecute trace(tdbb, procRequest, request, inputTargets);
+
+	// Catch errors so we can unwind cleanly.
+
+	try
 	{
-		{	// scope
-			AutoPtr<ExtEngineManager::ResultSet> resultSet(procedure->getExternal()->open(
-				tdbb, inMsg, outMsg));
-			resultSet->fetch(tdbb);
-		}
+		Jrd::ContextPoolHolder context(tdbb, procRequest->req_pool);	// Save the old pool.
 
+		procRequest->req_timestamp = request->req_timestamp;
+
+		EXE_start(tdbb, procRequest, transaction);
+
+		if (inputMessage)
+			EXE_send(tdbb, procRequest, 0, inMsgLength, inMsg);
+
+		EXE_receive(tdbb, procRequest, 1, outMsgLength, outMsg);
+
 		// Clean up all savepoints started during execution of the procedure.
 
 		if (transaction != attachment->getSysTransaction())
@@ -2786,64 +2791,29 @@
 			}
 		}
 	}
-	else
+	catch (const Exception& ex)
 	{
-		jrd_req* procRequest = procedure->getStatement()->findRequest(tdbb);
+		const bool noPriv = (ex.stuff_exception(tdbb->tdbb_status_vector) == isc_no_priv);
+		trace.finish(false, noPriv ? res_unauthorized : res_failed);
 
-		// trace procedure execution start
-		TraceProcExecute trace(tdbb, procRequest, request, inputTargets);
-
-		// Catch errors so we can unwind cleanly.
-
-		try
-		{
-			Jrd::ContextPoolHolder context(tdbb, procRequest->req_pool);	// Save the old pool.
-
-			procRequest->req_timestamp = request->req_timestamp;
-
-			EXE_start(tdbb, procRequest, transaction);
-
-			if (inputMessage)
-				EXE_send(tdbb, procRequest, 0, inMsgLength, inMsg);
-
-			EXE_receive(tdbb, procRequest, 1, outMsgLength, outMsg);
-
-			// Clean up all savepoints started during execution of the procedure.
-
-			if (transaction != attachment->getSysTransaction())
-			{
-				for (const Savepoint* savePoint = transaction->tra_save_point;
-					 savePoint && savePointNumber < savePoint->sav_number;
-					 savePoint = transaction->tra_save_point)
-				{
-					VIO_verb_cleanup(tdbb, transaction);
-				}
-			}
-		}
-		catch (const Exception& ex)
-		{
-			const bool noPriv = (ex.stuff_exception(tdbb->tdbb_status_vector) == isc_no_priv);
-			trace.finish(false, noPriv ? res_unauthorized : res_failed);
-
-			tdbb->setRequest(request);
-			EXE_unwind(tdbb, procRequest);
-			procRequest->req_attachment = NULL;
-			procRequest->req_flags &= ~(req_in_use | req_proc_fetch);
-			procRequest->req_timestamp.invalidate();
-			throw;
-		}
-
-		// trace procedure execution finish
-		trace.finish(false, res_successful);
-
+		tdbb->setRequest(request);
 		EXE_unwind(tdbb, procRequest);
-		tdbb->setRequest(request);
-
 		procRequest->req_attachment = NULL;
 		procRequest->req_flags &= ~(req_in_use | req_proc_fetch);
 		procRequest->req_timestamp.invalidate();
+		throw;
 	}
 
+	// trace procedure execution finish
+	trace.finish(false, res_successful);
+
+	EXE_unwind(tdbb, procRequest);
+	tdbb->setRequest(request);
+
+	procRequest->req_attachment = NULL;
+	procRequest->req_flags &= ~(req_in_use | req_proc_fetch);
+	procRequest->req_timestamp.invalidate();
+
 	if (outputSources)
 	{
 		const NestConst<ValueExprNode>* const sourceEnd = outputSources->items.end();
@@ -5193,35 +5163,43 @@
 {
 	MessageNode* node = FB_NEW(pool) MessageNode(pool);
 
-	// Get message number, register it in the compiler scratch block, and
+	// Parse the BLR and finish the node creation.
+	USHORT message = csb->csb_blr_reader.getByte();
+	USHORT count = csb->csb_blr_reader.getWord();
+	node->setup(tdbb, csb, message, count);
+
+	return node;
+}
+
+void MessageNode::setup(thread_db* tdbb, CompilerScratch* csb, USHORT message, USHORT count)
+{
+	// Register message number in the compiler scratch block, and
 	// allocate a node to represent the message.
 
-	USHORT n = csb->csb_blr_reader.getByte();
-	CompilerScratch::csb_repeat* tail = CMP_csb_element(csb, n);
+	CompilerScratch::csb_repeat* tail = CMP_csb_element(csb, message);
 
-	tail->csb_message = node;
-	node->messageNumber = n;
+	tail->csb_message = this;
+	messageNumber = message;
 
-	if (n > csb->csb_msg_number)
-		csb->csb_msg_number = n;
+	if (message > csb->csb_msg_number)
+		csb->csb_msg_number = message;
 
 	USHORT padField;
-	bool shouldPad = csb->csb_message_pad.get(node->messageNumber, padField);
+	bool shouldPad = csb->csb_message_pad.get(messageNumber, padField);
 
 	// Get the number of parameters in the message and prepare to fill out the format block.
 
-	n = csb->csb_blr_reader.getWord();
-	node->format = Format::newFormat(*tdbb->getDefaultPool(), n);
+	format = Format::newFormat(*tdbb->getDefaultPool(), count);
 	USHORT maxAlignment = 0;
 	ULONG offset = 0;
 
 	Format::fmt_desc_iterator desc, end;
 	USHORT index = 0;
 
-	for (desc = node->format->fmt_desc.begin(), end = desc + n; desc < end; ++desc, ++index)
+	for (desc = format->fmt_desc.begin(), end = desc + count; desc < end; ++desc, ++index)
 	{
 		ItemInfo itemInfo;
-		const USHORT alignment = PAR_desc(tdbb, csb, &*desc, &itemInfo);
+		const USHORT alignment = setupDesc(tdbb, csb, index, &*desc, &itemInfo);
 		if (alignment)
 			offset = FB_ALIGN(offset, alignment);
 
@@ -5248,9 +5226,13 @@
 	if (offset > MAX_MESSAGE_SIZE)
 		PAR_error(csb, Arg::Gds(isc_imp_exc) << Arg::Gds(isc_blktoobig));
 
-	node->format->fmt_length = offset;
+	format->fmt_length = offset;
+}
 
-	return node;
+USHORT MessageNode::setupDesc(thread_db* tdbb, CompilerScratch* csb, USHORT /*index*/,
+	dsc* desc, ItemInfo* itemInfo)
+{
+	return PAR_desc(tdbb, csb, desc, itemInfo);
 }
 
 MessageNode* MessageNode::dsqlPass(DsqlCompilerScratch* /*dsqlScratch*/)
Modified: firebird/trunk/src/dsql/StmtNodes.h
===================================================================
--- firebird/trunk/src/dsql/StmtNodes.h	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/src/dsql/StmtNodes.h	2013-04-11 15:44:17 UTC (rev 57933)
@@ -1067,6 +1067,11 @@
 public:
 	static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, UCHAR blrOp);
 
+	void setup(thread_db* tdbb, CompilerScratch* csb, USHORT message, USHORT count);
+
+	virtual USHORT setupDesc(thread_db* tdbb, CompilerScratch* csb, USHORT index,
+		dsc* desc, ItemInfo* itemInfo);
+
 	virtual void print(Firebird::string& text) const;
 	virtual MessageNode* dsqlPass(DsqlCompilerScratch* dsqlScratch);
 	virtual void genBlr(DsqlCompilerScratch* dsqlScratch);
Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp
===================================================================
--- firebird/trunk/src/jrd/ExtEngineManager.cpp	2013-04-11 14:28:01 UTC (rev 57932)
+++ firebird/trunk/src/jrd/ExtEngineManager.cpp	2013-04-11 15:44:17 UTC (rev 57933)
@@ -34,7 +34,9 @@
 #include "../jrd/status.h"
 #include "../jrd/tra.h"
 #include "../jrd/ibase.h"
+#include "../dsql/StmtNodes.h"
 #include "../common/os/path_utils.h"
+#include "../jrd/cmp_proto.h"
 #include "../jrd/cvt_proto.h"
 #include "../jrd/evl_proto.h"
 #include "../jrd/intl_proto.h"
@@ -54,8 +56,407 @@
 #include "../common/classes/GetPlugins.h"
 
 using namespace Firebird;
+using namespace Jrd;
 
 
+namespace
+{
+	// External message node.
+	class ExtMessageNode : public MessageNode
+	{
+	public:
+		ExtMessageNode(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, USHORT message,
+				Array<NestConst<Parameter> >& aParameters, const Format* aFormat)
+			: MessageNode(pool),
+			  parameters(aParameters),
+			  format(aFormat),
+			  isSpecial(pool)
+		{
+			setup(tdbb, csb, message, format->fmt_count);
+		}
+
+		virtual USHORT setupDesc(thread_db* tdbb, CompilerScratch* csb, USHORT index,
+			dsc* desc, ItemInfo* itemInfo)
+		{
+			*desc = format->fmt_desc[index];
+
+			if (index % 2 == 0 && index / 2 < parameters.getCount())
+			{
+				const Parameter* param = parameters[index / 2];
+
+				if (param->prm_mechanism != prm_mech_type_of &&
+					!fb_utils::implicit_domain(param->prm_field_source.c_str()))
+				{
+					MetaNamePair namePair(param->prm_field_source, "");
+
+					FieldInfo fieldInfo;
+					bool exist = csb->csb_map_field_info.get(namePair, fieldInfo);
+					MET_get_domain(tdbb, param->prm_field_source, desc, (exist ? NULL : &fieldInfo));
+
+					if (!exist)
+						csb->csb_map_field_info.put(namePair, fieldInfo);
+
+					itemInfo->field = namePair;
+					itemInfo->nullable = fieldInfo.nullable;
+					itemInfo->fullDomain = true;
+				}
+
+				itemInfo->name = param->prm_name;
+
+				if (!param->prm_nullable)
+					itemInfo->nullable = false;
+
+				isSpecial.getBuffer(index / 2 + 1)[index / 2] = itemInfo->isSpecial();
+			}
+
+			return type_alignments[desc->dsc_dtype];
+		}
+
+		virtual const StmtNode* execute(thread_db* tdbb, jrd_req* request, ExeState* exeState) const
+		{
+			if (request->req_operation == jrd_req::req_evaluate)
+			{
+				// Clear the message. This is important for external routines.
+				UCHAR* msg = request->getImpure<UCHAR>(impureOffset);
+				memset(msg, 0, format->fmt_length);
+			}
+
+			return MessageNode::execute(tdbb, request, exeState);
+		}
+
+	public:
+		Array<NestConst<Parameter> >& parameters;
+		const Format* format;
+		Array<bool> isSpecial;
+	};
+
+	// Initialize output parameters with their domains default value or NULL.
+	// Kind of blr_init_variable, but for parameters.
+	class ExtInitParameterNode : public TypedNode<StmtNode, StmtNode::TYPE_EXT_INIT_PARAMETER>
+	{
+	public:
+		ExtInitParameterNode(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb,
+				ExtMessageNode* aMessage, USHORT aArgNumber)
+			: TypedNode<StmtNode, StmtNode::TYPE_EXT_INIT_PARAMETER>(pool),
+			  message(aMessage),
+			  argNumber(aArgNumber)
+		{
+			Parameter* parameter = message->parameters[argNumber / 2];
+
+			if (parameter->prm_mechanism == prm_mech_type_of ||
+				fb_utils::implicit_domain(parameter->prm_field_source.c_str()) ||
+				!parameter->prm_default_value)
+			{
+				defaultValueNode = NULL;
+			}
+			else
+				defaultValueNode = CMP_clone_node(tdbb, csb, parameter->prm_default_value);
+		}
+
+		void print(string& text) const
+		{
+			text = "ExtInitParameterNode";
+		}
+
+		void genBlr(DsqlCompilerScratch* /*dsqlScratch*/)
+		{
+		}
+
+		ExtInitParameterNode* pass1(thread_db* tdbb, CompilerScratch* csb)
+		{
+			doPass1(tdbb, csb, &defaultValueNode);
+			return this;
+		}
+
+		ExtInitParameterNode* pass2(thread_db* tdbb, CompilerScratch* csb)
+		{
+			ExprNode::doPass2(tdbb, csb, &defaultValueNode);
+			return this;
+		}
+
+		const StmtNode* execute(thread_db* tdbb, jrd_req* request, ExeState* /*exeState*/) const
+		{
+			if (request->req_operation == jrd_req::req_evaluate)
+			{
+				dsc* defaultDesc = NULL;
+
+				if (defaultValueNode)
+				{
+					defaultDesc = EVL_expr(tdbb, request, defaultValueNode);
+
+					if (request->req_flags & req_null)
+						defaultDesc = NULL;
+				}
+
+				if (defaultDesc)
+				{
+					// Initialize the value. The null flag is already initialized to not-null
+					// by the ExtMessageNode.
+
+					dsc desc = message->format->fmt_desc[argNumber];
+					desc.dsc_address = request->getImpure<UCHAR>(
+						message->impureOffset + (IPTR) desc.dsc_address);
+
+					MOV_move(tdbb, defaultDesc, &desc);
+				}
+				else
+				{
+					SSHORT tempValue = -1;
+					dsc temp;
+					temp.makeShort(0, &tempValue);
+
+					dsc desc = message->format->fmt_desc[argNumber + 1];
+					desc.dsc_address = request->getImpure<UCHAR>(
+						message->impureOffset + (IPTR) desc.dsc_address);
+
+					MOV_move(tdbb, &temp, &desc);
+				}
+
+				request->req_operation = jrd_req::req_return;
+			}
+
+			return parentStmt;
+		}
+
+		private:
+			ExtMessageNode* message;
+			USHORT argNumber;
+			ValueExprNode* defaultValueNode;
+	};
+
+	// External output parameters initialization.
+	class ExtInitOutputNode : public CompoundStmtNode
+	{
+	public:
+		ExtInitOutputNode(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb,
+				ExtMessageNode* message)
+			: CompoundStmtNode(pool)
+		{
+			for (USHORT i = 0; i < message->format->fmt_count; i += 2)
+			{
+				if (i + 1 >= message->format->fmt_count)
+					continue;
+
+				ExtInitParameterNode* init = FB_NEW(pool) ExtInitParameterNode(
+					tdbb, pool, csb, message, i);
+				statements.add(init);
+			}
+		}
+	};
+
+	// External parameters validation.
+	class ExtValidationNode : public CompoundStmtNode
+	{
+	public:
+		ExtValidationNode(MemoryPool& pool, ExtMessageNode* message, bool procedure, bool input)
+			: CompoundStmtNode(pool)
+		{
+			for (USHORT i = 0; i < message->format->fmt_count; i += 2)
+			{
+				if (i + 1 >= message->format->fmt_count || !message->isSpecial[i / 2])
+					continue;
+
+				ParameterNode* flag = FB_NEW(pool) ParameterNode(pool);
+				flag->message = message;
+				flag->argNumber = i + 1;
+
+				ParameterNode* param = FB_NEW(pool) ParameterNode(pool);
+				param->message = message;
+				param->argNumber = i;
+				param->argFlag = flag;
+
+				AssignmentNode* assign = FB_NEW(pool) AssignmentNode(pool);
+				assign->asgnFrom = param;
+				statements.add(assign);
+
+				// It's sufficient to assign input parameters to NULL, but output parameters
+				// need to be assigned to themselves to validate correctly.
+				if (input)
+					assign->asgnTo = FB_NEW(pool) NullNode(pool);
+				else
+				{
+					flag = FB_NEW(pool) ParameterNode(pool);
+					flag->message = message;
+					flag->argNumber = i + 1;
+
+					param = FB_NEW(pool) ParameterNode(pool);
+					param->message = message;
+					param->argNumber = i;
+					param->argFlag = flag;
+
+					assign->asgnTo = param;
+				}
+			}
+
+			// A stall is required to read req_proc_fetch state correctly.
+			if (procedure)
+				statements.add(FB_NEW(pool) StallNode(pool));
+		}
+	};
+
+	// External function node.
+	class ExtFunctionNode : public SuspendNode
+	{
+	public:
+		ExtFunctionNode(MemoryPool& pool, const ReceiveNode* aReceiveNode,
+				const ExtEngineManager::Function* aFunction)
+			: SuspendNode(pool),
+			  receiveNode(aReceiveNode),
+			  function(aFunction)
+		{
+		}
+
+		virtual const StmtNode* execute(thread_db* tdbb, jrd_req* request, ExeState* exeState) const
+		{
+			if (request->req_operation == jrd_req::req_evaluate)
+			{
+				UCHAR* inMsg = receiveNode ?
+					request->getImpure<UCHAR>(receiveNode->message->impureOffset) : NULL;
+				UCHAR* outMsg = request->getImpure<UCHAR>(message->impureOffset);
+
+				function->execute(tdbb, inMsg, outMsg);
+			}
+
+			return SuspendNode::execute(tdbb, request, exeState);
+		}
+
+	private:
+		const ReceiveNode* receiveNode;
+		const ExtEngineManager::Function* function;
+	};
+
+	// External procedure node.
+	class ExtProcedureNode : public SuspendNode
+	{
+	public:
+		ExtProcedureNode(MemoryPool& pool, const ReceiveNode* aReceiveNode,
+				const ExtEngineManager::Procedure* aProcedure)
+			: SuspendNode(pool),
+			  receiveNode(aReceiveNode),
+			  procedure(aProcedure)
+		{
+		}
+
+		virtual const StmtNode* execute(thread_db* tdbb, jrd_req* request, ExeState* exeState) const
+		{
+			ExtEngineManager::ResultSet*& resultSet = request->req_ext_resultset;
+			UCHAR* inMsg = receiveNode ?
+				request->getImpure<UCHAR>(receiveNode->message->impureOffset) : NULL;
+			UCHAR* outMsg = request->getImpure<UCHAR>(message->impureOffset);
+			USHORT* eof = (USHORT*) (outMsg + (IPTR) message->format->fmt_desc.back().dsc_address);
+
+			switch (request->req_operation)
+			{
+				case jrd_req::req_evaluate:
+					fb_assert(!resultSet && *eof == 0);
+					resultSet = procedure->open(tdbb, inMsg, outMsg);
+
+					if (resultSet)
+						*eof = -1;
+					else
+					{
+						if (!(request->req_flags & req_proc_fetch))
+						{
+							request->req_operation = jrd_req::req_evaluate;
+							return statement;
+						}
+					}
+
+					request->req_operation = jrd_req::req_return;
+					// fall into
+
+				case jrd_req::req_return:
+					if (*eof == 0)
+					{
+						fb_assert(!resultSet);
+						return parentStmt;
+					}
+
+					fb_assert(resultSet);
+
+					if (!resultSet->fetch(tdbb) || !(request->req_flags & req_proc_fetch))
+					{
+						*eof = 0;
+						delete resultSet;
+						resultSet = NULL;
+					}
+
+					break;
+
+				case jrd_req::req_proceed:
+					request->req_operation = jrd_req::req_evaluate;
+					return statement;
+
+				case jrd_req::req_unwind:
+					delete resultSet;
+					resultSet = NULL;
+					break;
+			}
+
+			return SuspendNode::execute(tdbb, request, exeState);
+		}
+
+	private:
+		const ReceiveNode* receiveNode;
+		const ExtEngineManager::Procedure* procedure;
+	};
+
+	// External trigger node.
+	class ExtTriggerNode : public TypedNode<StmtNode, StmtNode::TYPE_EXT_TRIGGER>
+	{
+	public:
+		ExtTriggerNode(MemoryPool& pool, const ExtEngineManager::Trigger* aTrigger)
+			: TypedNode<StmtNode, StmtNode::TYPE_EXT_TRIGGER>(pool),
+			  trigger(aTrigger)
+		{
+		}
+
+		void print(string& text) const
+		{
+			text = "ExtTriggerNode";
+		}
+
+		void genBlr(DsqlCompilerScratch* /*dsqlScratch*/)
+		{
+		}
+
+		ExtTriggerNode* pass1(thread_db* /*tdbb*/, CompilerScratch* /*csb*/)
+		{
+			return this;
+		}
+
+		ExtTriggerNode* pass2(thread_db* /*tdbb*/, CompilerScratch* /*csb*/)
+		{
+			return this;
+		}
+
+		const StmtNode* execute(thread_db* tdbb, jrd_req* request, ExeState* /*exeState*/) const
+		{
+			if (request->req_operation == jrd_req::req_evaluate)
+			{
+				trigger->execute(tdbb, (ExternalTrigger::Action) request->req_trigger_action,
+					getRpb(request, 0), getRpb(request, 1));
+
+				request->req_operation = jrd_req::req_return;
+			}
+
+			return parentStmt;
+		}
+
+	private:
+		static record_param* getRpb(jrd_req* request, USHORT n)
+		{
+			return request->req_rpb.getCount() > n && request->req_rpb[n].rpb_number.isValid() ?
+				&request->req_rpb[n] : NULL;
+		}
+	
+
+	private:
+		const ExtEngineManager::Trigger* trigger;
+	};
+}
+
+
 namespace Jrd {
 
 static MakeUpgradeInfo<> upInfo;
@@ -614,7 +1015,7 @@
 }
 
 
-void ExtEngineManager::makeFunction(thread_db* tdbb, Jrd::Function* udf,
+void ExtEngineManager::makeFunction(thread_db* tdbb, CompilerScratch* csb, Jrd::Function* udf,
 	const MetaName& engine, const string& entryPoint, const string& body)
 {
 	string entryPointTrimmed = entryPoint;
@@ -669,13 +1070,52 @@
 		status.check();
 	}
 
+	udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
+	udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, true));
+
 	try
 	{
-		udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
-		udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false));
-
 		udf->fun_external = FB_NEW(getPool()) Function(tdbb, this, attInfo->engine,
 			metadata.release(), externalFunction, udf);
+
+		CompoundStmtNode* mainNode = FB_NEW(getPool()) CompoundStmtNode(getPool());
+
+		ExtMessageNode* inMessageNode = udf->getInputFields().hasData() ?
+			FB_NEW(getPool()) ExtMessageNode(tdbb, getPool(), csb, 0,
+				udf->getInputFields(), udf->getInputFormat()) :
+			NULL;
+		if (inMessageNode)
+			mainNode->statements.add(inMessageNode);
+
+		ExtMessageNode* outMessageNode = FB_NEW(getPool()) ExtMessageNode(tdbb, getPool(), csb, 1,
+			udf->getOutputFields(), udf->getOutputFormat());
+		mainNode->statements.add(outMessageNode);
+
+		ExtInitOutputNode* initOutputNode = FB_NEW(getPool()) ExtInitOutputNode(
+			tdbb, getPool(), csb, outMessageNode);
+		mainNode->statements.add(initOutputNode);
+
+		ReceiveNode* receiveNode = inMessageNode ?
+			FB_NEW(getPool()) ReceiveNode(getPool()) : NULL;
+
+		if (inMessageNode)
+		{
+			receiveNode->message = inMessageNode;
+			receiveNode->statement = FB_NEW(getPool()) ExtValidationNode(
+				getPool(), inMessageNode, false, true);
+			mainNode->statements.add(receiveNode);
+		}
+
+		ExtFunctionNode* extFunctionNode = FB_NEW(getPool()) ExtFunctionNode(getPool(),
+			receiveNode, udf->fun_external);
+		mainNode->statements.add(extFunctionNode);
+		extFunctionNode->message = outMessageNode;
+		extFunctionNode->statement = FB_NEW(getPool()) ExtValidationNode(
+			getPool(), outMessageNode, false, false);
+
+		JrdStatement* statement = udf->getStatement();
+		PAR_preparsed_node(tdbb, NULL, mainNode, NULL, &csb, &statement, false, 0);
+		udf->setStatement(statement);
 	}
 	catch (...)
 	{
@@ -686,7 +1126,7 @@
 }
 
 
-void ExtEngineManager::makeProcedure(thread_db* tdbb, jrd_prc* prc,
+void ExtEngineManager::makeProcedure(thread_db* tdbb, CompilerScratch* csb, jrd_prc* prc,
 	const MetaName& engine, const string& entryPoint, const string& body)
 {
 	string entryPointTrimmed = entryPoint;
@@ -742,13 +1182,52 @@
 		status.check();
 	}
 
+	prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
+	prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, true));
+
 	try
 	{
-		prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false));
-		prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false));
-
 		prc->setExternal(FB_NEW(getPool()) Procedure(tdbb, this, attInfo->engine,
 			metadata.release(), externalProcedure, prc));
+
+		CompoundStmtNode* mainNode = FB_NEW(getPool()) CompoundStmtNode(getPool());
+
+		ExtMessageNode* inMessageNode = prc->getInputFields().hasData() ?
+			FB_NEW(getPool()) ExtMessageNode(tdbb, getPool(), csb, 0,
+				prc->getInputFields(), prc->getInputFormat()) :
+			NULL;
+		if (inMessageNode)
+			mainNode->statements.add(inMessageNode);
+
+		ExtMessageNode* outMessageNode = FB_NEW(getPool()) ExtMessageNode(tdbb, getPool(), csb, 1,
+			prc->getOutputFields(), prc->getOutputFormat());
+		mainNode->statements.add(outMessageNode);
+
+		ExtInitOutputNode* initOutp...
 
[truncated message content] | 
| 
      
      
      From: <fir...@us...> - 2013-04-12 00:45:02
       | 
| Revision: 57937
          http://sourceforge.net/p/firebird/code/57937
Author:   firebirds
Date:     2013-04-12 00:44:59 +0000 (Fri, 12 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-12 00:24:34 UTC (rev 57936)
+++ firebird/trunk/ChangeLog	2013-04-12 00:44:59 UTC (rev 57937)
@@ -1,3 +1,78 @@
+ 2013-04-11 16:09  asfernandes 
+   M src/jrd/exe.cpp
+Misc.
+
+ 2013-04-11 16:04  asfernandes 
+   M src/dsql/ExprNodes.cpp
+   M src/jrd/exe.cpp
+   M src/jrd/exe_proto.h
+Cleanup.
+
+ 2013-04-11 15:44  asfernandes 
+   M examples/udr/UdrCppExample.cpp
+   M src/dsql/ExprNodes.cpp
+   M src/dsql/Nodes.h
+   M src/dsql/StmtNodes.cpp
+   M src/dsql/StmtNodes.h
+   M src/jrd/ExtEngineManager.cpp
+   M src/jrd/ExtEngineManager.h
+   M src/jrd/Function.epp
+   M src/jrd/exe.cpp
+   M src/jrd/jrd.cpp
+   M src/jrd/met.epp
+   M src/jrd/par.cpp
+   M src/jrd/par_proto.h
+   M src/jrd/recsrc/ProcedureScan.cpp
+   M src/jrd/recsrc/RecordSource.h
+   M src/jrd/req.h
+Revert external routines to request-based (*) code, but now using a totally different internal approach.
+* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
+
+ 2013-04-11 14:28  alexpeshkoff 
+   M src/remote/client/interface.cpp
+Fixed regression in protocol < 13 introduced when adding statement flags
+
+ 2013-04-11 13:35  alexpeshkoff 
+   M src/remote/client/interface.cpp
+   M src/remote/remote.cpp
+   M src/remote/remote.h
+Fixed security issue - plain password remained in DPB
+
+ 2013-04-11 11:40  alexpeshkoff 
+   M src/yvalve/why.cpp
+Fixed regression, found by Adriano - fbtcs does not work
+
+ 2013-04-11 10:13  dimitr 
+   M src/common/xdr.cpp
+   M src/common/xdr_proto.h
+Cleanup.
+
+ 2013-04-11 10:07  dimitr 
+   M src/common/IntlParametersBlock.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/parse_proto.h
+   M src/remote/parser.cpp
+   M src/remote/protocol.cpp
+   M src/remote/protocol.h
+   M src/remote/remot_proto.h
+   M src/remote/remote.cpp
+   M src/remote/remote.h
+   M src/remote/server/server.cpp
+Finished the 16-bit -> 32-bit conversion for SQL/BLR/buffer/message sizes, this time in the remote provider. The server has been proven to be able to create a procedure longer than 64KB in length and execute it, but more testing is required.
+A major battle against 64-bit build warnings were performed.
+Additionally, fixed CORE-3943. It does affect compatibility with older servers, but at the minor level.
+
+ 2013-04-11 01:17  asfernandes 
+   M src/dsql/ExprNodes.cpp
+Fixed CORE-4081 - Built-in functions and subselect no longer supported in "update or insert" value list.
+
+ 2013-04-11 01:03  asfernandes 
+   M src/common/unicode_util.cpp
+Apply patch by Treeve Jelbert to build against ICU 5.11.
+
  2013-04-10 11:32  mapopa 
    M doc/cleaning-todo.txt
    M doc/emacros-cross_ref.html
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-12 00:24:34 UTC (rev 57936)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-12 00:44:59 UTC (rev 57937)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30338
+  FORMAL BUILD NUMBER:30348
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30338"
-#define FILE_VER_STRING "WI-T3.0.0.30338"
-#define LICENSE_VER_STRING "WI-T3.0.0.30338"
-#define FILE_VER_NUMBER 3, 0, 0, 30338
+#define PRODUCT_VER_STRING "3.0.0.30348"
+#define FILE_VER_STRING "WI-T3.0.0.30348"
+#define LICENSE_VER_STRING "WI-T3.0.0.30348"
+#define FILE_VER_NUMBER 3, 0, 0, 30348
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30338"
+#define FB_BUILD_NO "30348"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-12 00:24:34 UTC (rev 57936)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-12 00:44:59 UTC (rev 57937)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30338
+BuildNum=30348
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-13 00:35:54
       | 
| Revision: 57940
          http://sourceforge.net/p/firebird/code/57940
Author:   firebirds
Date:     2013-04-13 00:35:50 +0000 (Sat, 13 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-12 17:59:59 UTC (rev 57939)
+++ firebird/trunk/ChangeLog	2013-04-13 00:35:50 UTC (rev 57940)
@@ -1,3 +1,15 @@
+ 2013-04-12 17:59  dimitr 
+   M src/common/cvt.cpp
+Fixed CORE-4082: Wrong error message.
+
+ 2013-04-12 15:20  asfernandes 
+   M examples/udr/UdrCppExample.cpp
+Corrections.
+
+ 2013-04-12 00:24  asfernandes 
+   M src/common/unicode_util.cpp
+Fix build with ICU 3.0.
+
  2013-04-11 16:09  asfernandes 
    M src/jrd/exe.cpp
 Misc.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-12 17:59:59 UTC (rev 57939)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-13 00:35:50 UTC (rev 57940)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30348
+  FORMAL BUILD NUMBER:30351
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30348"
-#define FILE_VER_STRING "WI-T3.0.0.30348"
-#define LICENSE_VER_STRING "WI-T3.0.0.30348"
-#define FILE_VER_NUMBER 3, 0, 0, 30348
+#define PRODUCT_VER_STRING "3.0.0.30351"
+#define FILE_VER_STRING "WI-T3.0.0.30351"
+#define LICENSE_VER_STRING "WI-T3.0.0.30351"
+#define FILE_VER_NUMBER 3, 0, 0, 30351
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30348"
+#define FB_BUILD_NO "30351"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-12 17:59:59 UTC (rev 57939)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-13 00:35:50 UTC (rev 57940)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30348
+BuildNum=30351
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-14 00:46:18
       | 
| Revision: 57949
          http://sourceforge.net/p/firebird/code/57949
Author:   firebirds
Date:     2013-04-14 00:46:15 +0000 (Sun, 14 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-13 16:31:12 UTC (rev 57948)
+++ firebird/trunk/ChangeLog	2013-04-14 00:46:15 UTC (rev 57949)
@@ -1,3 +1,53 @@
+ 2013-04-13 16:31  dimitr 
+   M src/common/classes/Synchronize.cpp
+   M src/common/classes/Synchronize.h
+Misc and small cleanup.
+
+ 2013-04-13 15:07  dimitr 
+   M src/alice/alice.h
+   M src/burp/burp.h
+   M src/common/ThreadData.cpp
+   M src/common/ThreadData.h
+   M src/jrd/jrd.h
+   M src/utilities/gsec/gsec.h
+   M src/utilities/gstat/dba.epp
+Moved ThreadData into the namespace + small cleanup.
+
+ 2013-04-13 13:20  dimitr 
+   M src/common/gdsassert.h
+Fixed typo, thanks to Claudio.
+
+ 2013-04-13 07:11  dimitr 
+   M src/auth/SecureRemotePassword/manage/SrpManagement.cpp
+   M src/include/firebird/Provider.h
+   M src/jrd/EngineInterface.h
+   M src/jrd/extds/InternalDS.cpp
+   M src/jrd/jrd.cpp
+   M src/remote/client/interface.cpp
+   M src/remote/server/server.cpp
+   M src/yvalve/YObjects.h
+   M src/yvalve/why.cpp
+Add interface support for scrollable DSQL cursors. Implementation will follow later.
+
+ 2013-04-13 07:09  dimitr 
+   M doc/README.incompatibilities.txt
+Updated docs.
+
+ 2013-04-13 06:50  dimitr 
+   M doc/sql.extensions/README.keywords
+Updated docs.
+
+ 2013-04-13 05:58  dimitr 
+   M doc/README.monitoring_tables
+   M doc/WhatsNew
+   M doc/sql.extensions/README.builtin_functions.txt
+   M doc/sql.extensions/README.cursors
+The initial list of changes for Alpha.
+
+ 2013-04-13 05:11  dimitr 
+   M src/common/cvt.cpp
+Misc.
+
  2013-04-12 17:59  dimitr 
    M src/common/cvt.cpp
 Fixed CORE-4082: Wrong error message.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-13 16:31:12 UTC (rev 57948)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-14 00:46:15 UTC (rev 57949)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30351
+  FORMAL BUILD NUMBER:30359
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30351"
-#define FILE_VER_STRING "WI-T3.0.0.30351"
-#define LICENSE_VER_STRING "WI-T3.0.0.30351"
-#define FILE_VER_NUMBER 3, 0, 0, 30351
+#define PRODUCT_VER_STRING "3.0.0.30359"
+#define FILE_VER_STRING "WI-T3.0.0.30359"
+#define LICENSE_VER_STRING "WI-T3.0.0.30359"
+#define FILE_VER_NUMBER 3, 0, 0, 30359
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30351"
+#define FB_BUILD_NO "30359"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-13 16:31:12 UTC (rev 57948)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-14 00:46:15 UTC (rev 57949)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30351
+BuildNum=30359
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-16 01:02:33
       | 
| Revision: 57956
          http://sourceforge.net/p/firebird/code/57956
Author:   firebirds
Date:     2013-04-16 01:02:27 +0000 (Tue, 16 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-15 16:54:58 UTC (rev 57955)
+++ firebird/trunk/ChangeLog	2013-04-16 01:02:27 UTC (rev 57956)
@@ -1,3 +1,26 @@
+ 2013-04-15 16:51  alexpeshkoff 
+   M src/jrd/Database.h
+   M src/jrd/jrd.cpp
+Postfix for CORE-3935 and CORE-3993: avoid opening same database file twice
+
+ 2013-04-15 15:58  alexpeshkoff 
+   M src/remote/client/interface.cpp
+Fixed a bug in one of my recent commits - thanks to Claudio
+
+ 2013-04-15 12:10  alexpeshkoff 
+   M builds/install/misc/databases.conf.in
+   M builds/install/misc/firebird.conf.in
+Documented configuration file changes in distributed .conf files
+
+ 2013-04-15 11:07  alexpeshkoff 
+   M src/common/config/config.cpp
+   M src/common/config/config_file.cpp
+Make numbers parser behave traditionally - no spaces inside the number
+
+ 2013-04-15 06:54  alexpeshkoff 
+   M builds/install/arch-specific/linux/misc/tarMainInstall.sh.in
+Misc
+
  2013-04-13 16:31  dimitr 
    M src/common/classes/Synchronize.cpp
    M src/common/classes/Synchronize.h
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-15 16:54:58 UTC (rev 57955)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-16 01:02:27 UTC (rev 57956)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30359
+  FORMAL BUILD NUMBER:30364
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30359"
-#define FILE_VER_STRING "WI-T3.0.0.30359"
-#define LICENSE_VER_STRING "WI-T3.0.0.30359"
-#define FILE_VER_NUMBER 3, 0, 0, 30359
+#define PRODUCT_VER_STRING "3.0.0.30364"
+#define FILE_VER_STRING "WI-T3.0.0.30364"
+#define LICENSE_VER_STRING "WI-T3.0.0.30364"
+#define FILE_VER_NUMBER 3, 0, 0, 30364
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30359"
+#define FB_BUILD_NO "30364"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-15 16:54:58 UTC (rev 57955)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-16 01:02:27 UTC (rev 57956)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30359
+BuildNum=30364
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-17 00:41:52
       | 
| Revision: 57961
          http://sourceforge.net/p/firebird/code/57961
Author:   firebirds
Date:     2013-04-17 00:41:48 +0000 (Wed, 17 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-16 16:13:38 UTC (rev 57960)
+++ firebird/trunk/ChangeLog	2013-04-17 00:41:48 UTC (rev 57961)
@@ -1,3 +1,16 @@
+ 2013-04-16 16:13  asfernandes 
+   M doc/WhatsNew
+   M doc/sql.extensions/README.data_types
+Document CORE-726 - Boolean data type.
+
+ 2013-04-16 16:13  asfernandes 
+   M doc/WhatsNew
+Replace my e-mail.
+
+ 2013-04-16 08:54  alexpeshkoff 
+   M src/remote/client/interface.cpp
+Fixed assertion in services when talking to pre-FB3 server
+
  2013-04-15 16:51  alexpeshkoff 
    M src/jrd/Database.h
    M src/jrd/jrd.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-16 16:13:38 UTC (rev 57960)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-17 00:41:48 UTC (rev 57961)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30364
+  FORMAL BUILD NUMBER:30367
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30364"
-#define FILE_VER_STRING "WI-T3.0.0.30364"
-#define LICENSE_VER_STRING "WI-T3.0.0.30364"
-#define FILE_VER_NUMBER 3, 0, 0, 30364
+#define PRODUCT_VER_STRING "3.0.0.30367"
+#define FILE_VER_STRING "WI-T3.0.0.30367"
+#define LICENSE_VER_STRING "WI-T3.0.0.30367"
+#define FILE_VER_NUMBER 3, 0, 0, 30367
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30364"
+#define FB_BUILD_NO "30367"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-16 16:13:38 UTC (rev 57960)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-17 00:41:48 UTC (rev 57961)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30364
+BuildNum=30367
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-18 00:40:05
       | 
| Revision: 57966
          http://sourceforge.net/p/firebird/code/57966
Author:   firebirds
Date:     2013-04-18 00:40:00 +0000 (Thu, 18 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-17 15:54:00 UTC (rev 57965)
+++ firebird/trunk/ChangeLog	2013-04-18 00:40:00 UTC (rev 57966)
@@ -1,3 +1,31 @@
+ 2013-04-17 15:54  asfernandes 
+   M src/jrd/RecordSourceNodes.cpp
+Fixed CORE-4084 - GROUP BY fails if subselect-column is involved.
+
+ 2013-04-17 11:16  alexpeshkoff 
+   M src/auth/SecureRemotePassword/Message.h
+   M src/auth/SecureRemotePassword/manage/SrpManagement.cpp
+   M src/auth/SecureRemotePassword/server/SrpServer.cpp
+   M src/auth/SecurityDatabase/LegacyManagement.epp
+   M src/auth/SecurityDatabase/LegacyServer.cpp
+   M src/common/classes/GetPlugins.h
+   M src/common/classes/RefCounted.h
+   M src/common/classes/semaphore.cpp
+   M src/jrd/ExtEngineManager.cpp
+   M src/jrd/Function.epp
+   M src/jrd/jrd.cpp
+   M src/jrd/met.epp
+   M src/plugins/udr_engine/UdrEngine.cpp
+   M src/remote/client/interface.cpp
+   M src/utilities/gsec/gsec.cpp
+   M src/yvalve/why.cpp
+Avoid extra atomic operations when assigning pointer to the object with pre-incremented counter (like returned from the function) to reference-counted pointer holder
+
+ 2013-04-17 08:04  alexpeshkoff 
+   M src/jrd/cch.cpp
+   M src/jrd/jrd.cpp
+Fixes related with CORE-3993
+
  2013-04-16 16:13  asfernandes 
    M doc/WhatsNew
    M doc/sql.extensions/README.data_types
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-17 15:54:00 UTC (rev 57965)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-18 00:40:00 UTC (rev 57966)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30367
+  FORMAL BUILD NUMBER:30370
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30367"
-#define FILE_VER_STRING "WI-T3.0.0.30367"
-#define LICENSE_VER_STRING "WI-T3.0.0.30367"
-#define FILE_VER_NUMBER 3, 0, 0, 30367
+#define PRODUCT_VER_STRING "3.0.0.30370"
+#define FILE_VER_STRING "WI-T3.0.0.30370"
+#define LICENSE_VER_STRING "WI-T3.0.0.30370"
+#define FILE_VER_NUMBER 3, 0, 0, 30370
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30367"
+#define FB_BUILD_NO "30370"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-17 15:54:00 UTC (rev 57965)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-18 00:40:00 UTC (rev 57966)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30367
+BuildNum=30370
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-19 00:40:12
       | 
| Revision: 57969
          http://sourceforge.net/p/firebird/code/57969
Author:   firebirds
Date:     2013-04-19 00:40:07 +0000 (Fri, 19 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-18 13:51:28 UTC (rev 57968)
+++ firebird/trunk/ChangeLog	2013-04-19 00:40:07 UTC (rev 57969)
@@ -1,3 +1,7 @@
+ 2013-04-18 13:51  alexpeshkoff 
+   A doc/README.plugins.html
+First draft of plugins readme file
+
  2013-04-17 15:54  asfernandes 
    M src/jrd/RecordSourceNodes.cpp
 Fixed CORE-4084 - GROUP BY fails if subselect-column is involved.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-18 13:51:28 UTC (rev 57968)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-19 00:40:07 UTC (rev 57969)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30370
+  FORMAL BUILD NUMBER:30371
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30370"
-#define FILE_VER_STRING "WI-T3.0.0.30370"
-#define LICENSE_VER_STRING "WI-T3.0.0.30370"
-#define FILE_VER_NUMBER 3, 0, 0, 30370
+#define PRODUCT_VER_STRING "3.0.0.30371"
+#define FILE_VER_STRING "WI-T3.0.0.30371"
+#define LICENSE_VER_STRING "WI-T3.0.0.30371"
+#define FILE_VER_NUMBER 3, 0, 0, 30371
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30370"
+#define FB_BUILD_NO "30371"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-18 13:51:28 UTC (rev 57968)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-19 00:40:07 UTC (rev 57969)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30370
+BuildNum=30371
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-20 02:05:17
       | 
| Revision: 57971
          http://sourceforge.net/p/firebird/code/57971
Author:   firebirds
Date:     2013-04-20 02:05:13 +0000 (Sat, 20 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-19 09:22:58 UTC (rev 57970)
+++ firebird/trunk/ChangeLog	2013-04-20 02:05:13 UTC (rev 57971)
@@ -1,3 +1,22 @@
+ 2013-04-19 09:22  dimitr 
+   M src/jrd/recsrc/BufferedStream.cpp
+   M src/jrd/recsrc/ConditionalStream.cpp
+   M src/jrd/recsrc/FilteredStream.cpp
+   M src/jrd/recsrc/FirstRowsStream.cpp
+   M src/jrd/recsrc/FullOuterJoin.cpp
+   M src/jrd/recsrc/HashJoin.cpp
+   M src/jrd/recsrc/LockedStream.cpp
+   M src/jrd/recsrc/MergeJoin.cpp
+   M src/jrd/recsrc/NestedLoopJoin.cpp
+   M src/jrd/recsrc/RecordSource.cpp
+   M src/jrd/recsrc/RecordSource.h
+   M src/jrd/recsrc/SingularStream.cpp
+   M src/jrd/recsrc/SkipRowsStream.cpp
+   M src/jrd/recsrc/SortedStream.cpp
+   M src/jrd/recsrc/WindowedStream.cpp
+   M src/jrd/req.h
+Refactoring: isolated the singularity checking logic and simplified the whole RSB beast.
+
  2013-04-18 13:51  alexpeshkoff 
    A doc/README.plugins.html
 First draft of plugins readme file
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-19 09:22:58 UTC (rev 57970)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-20 02:05:13 UTC (rev 57971)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30371
+  FORMAL BUILD NUMBER:30372
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30371"
-#define FILE_VER_STRING "WI-T3.0.0.30371"
-#define LICENSE_VER_STRING "WI-T3.0.0.30371"
-#define FILE_VER_NUMBER 3, 0, 0, 30371
+#define PRODUCT_VER_STRING "3.0.0.30372"
+#define FILE_VER_STRING "WI-T3.0.0.30372"
+#define LICENSE_VER_STRING "WI-T3.0.0.30372"
+#define FILE_VER_NUMBER 3, 0, 0, 30372
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30371"
+#define FB_BUILD_NO "30372"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-19 09:22:58 UTC (rev 57970)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-20 02:05:13 UTC (rev 57971)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30371
+BuildNum=30372
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <asf...@us...> - 2013-04-21 02:09:48
       | 
| Revision: 57973
          http://sourceforge.net/p/firebird/code/57973
Author:   asfernandes
Date:     2013-04-21 02:09:45 +0000 (Sun, 21 Apr 2013)
Log Message:
-----------
Misc.
Modified Paths:
--------------
    firebird/trunk/builds/install/misc/firebird.conf.in
    firebird/trunk/doc/README.build.mingw.html
    firebird/trunk/doc/README.build.msvc.html
    firebird/trunk/doc/README.plugins.html
    firebird/trunk/doc/sql.extensions/README.data_types
    firebird/trunk/src/common/cvt.cpp
    firebird/trunk/src/jrd/ExtEngineManager.cpp
    firebird/trunk/src/jrd/jrd.h
Modified: firebird/trunk/builds/install/misc/firebird.conf.in
===================================================================
--- firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/builds/install/misc/firebird.conf.in	2013-04-21 02:09:45 UTC (rev 57973)
@@ -79,7 +79,7 @@
 # I.e. when
 #	include some_file.conf
 # is used in /opt/config/master.conf, we include /opt/config/some_file.conf.
-# Traditional wildcards * and ? may be used in icnlude operator. In this case
+# Traditional wildcards * and ? may be used in include operator. In this case
 # all matching files will be included in undefined order. Example:
 #	include $(dir_plugins)/config/*.conf
 #
Modified: firebird/trunk/doc/README.build.mingw.html
===================================================================
--- firebird/trunk/doc/README.build.mingw.html	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/doc/README.build.mingw.html	2013-04-21 02:09:45 UTC (rev 57973)
@@ -58,7 +58,7 @@
 
 <ol>
 <li>Start msys with the icon.</li>
-<li>Go to the firebird2 root directory. For instance, if your root is d:\svn\firebird you must do cd /d/svn/firebird2.</li>
+<li>Go to the firebird root directory. For instance, if your root is d:\svn\firebird you must do cd /d/svn/firebird.</li>
 <li>Start configure with the switches to get super/classic and production/development build, for instance:<br>
 autogen.sh --enable-superserver<br>
 The valid switches for autogen are<br>
@@ -81,11 +81,11 @@
 <h3>4.- INSTALL.</h3>
 <p>To create an installable build you need to execute the InnoSetup script.</p>
 <ol>
-<li>Open firebird2/builds/install/arch-specific/mingw/super/FirebirdInstall_15.iss with InnoSetup.</li>
+<li>Open firebird/builds/install/arch-specific/mingw/super/FirebirdInstall_15.iss with InnoSetup.</li>
 <li>Run the script with F9 or Run->Run</li>
 <li>Close InnoSetup</li>
 </ol>
-<p>A executable installer will be in firebird2/builds/install/arch-specific/mingw/super/</p>
+<p>A executable installer will be in firebird/builds/install/arch-specific/mingw/super/</p>
 <p>To install the build, simply run the resulting exe.</p>
 
 <h3>5.- TROUBLESHOOTING</h3>
Modified: firebird/trunk/doc/README.build.msvc.html
===================================================================
--- firebird/trunk/doc/README.build.msvc.html	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/doc/README.build.msvc.html	2013-04-21 02:09:45 UTC (rev 57973)
@@ -104,7 +104,7 @@
 
 <h4>4.1.-Standard build</h4>
 <ol>
-<li>Eliminate the fb2control from firebird2 solution if you are using Visual Studio Express (doesn't support MFC) and it's only the control pannel applet and try to build it, it should give you no errors when you build the solution.</li>
+<li>Eliminate the fb2control from firebird3 solution if you are using Visual Studio Express (doesn't support MFC) and it's only the control pannel applet and try to build it, it should give you no errors when you build the solution.</li>
 <li>Open a command line window.</li>
 <li>Go to the builds\win32 directory.</li>
 <li>Run the following batches in order (your version of VisualStudio is detected automatically)</li>
@@ -115,7 +115,7 @@
 </ol>
 </ol>
 <ul>
-<p>After the build finish, an output directory with the binaries is created below your firebird2 directory.</p>
+<p>After the build finish, an output directory with the binaries is created below your firebird3 directory.</p>
 <li>To make a clean build from scratch after making changes to the code use the clean_all.bat script</li>
 </ul>
 <h4>4.2.-Parser rebuild</h4>
@@ -137,7 +137,7 @@
 </ul>
 <h4>4.5.-Building samples</h4>
 <p>After the standard build is finished, an output directory with the same structure as the installed FB directory is created.</p>
-<p>If you want to build the examples just cd to firebird2\output\examples\build_win32 and run run_all.bat</p>
+<p>If you want to build the examples just cd to firebird3\output\examples\build_win32 and run run_all.bat</p>
 <p>Run_all.bat calls four other bats to make the example sets. Any example set can be build independently with its make_XXX script.</p>
 <p>The example sets are:</p>
 <ul>
Modified: firebird/trunk/doc/README.plugins.html
===================================================================
--- firebird/trunk/doc/README.plugins.html	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/doc/README.plugins.html	2013-04-21 02:09:45 UTC (rev 57973)
@@ -17,13 +17,13 @@
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>Firebird plugins.</FONT></P>
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=4>Since version 3 firebird
+<P STYLE="margin-bottom: 0in"><FONT SIZE=4>Since version 3, Firebird
 supports plugins architecture. This means that for a number of
-predefined points in firebird code user can write his own fragment of
+predefined points in Firebird code, user can write his own fragment of
 code which will be executed when needed. Plugin is not necessarily
-always written be user - firebird already has a number of plugins
-which are it's native part. Moreover, as you will see later, some
-core parts of firebird are implemented as plugins. </FONT>
+always written be user - Firebird already has a number of plugins
+which are its native part. Moreover, as you will see later, some
+core parts of Firebird are implemented as plugins. </FONT>
 </P>
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
@@ -39,7 +39,7 @@
 	library may contain code for more than one plugin;</FONT></P>
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>plugin's factory - an
 	object created by that code (pure virtual C++ class), creating
-	plugin instances on firebird request;</FONT></P>
+	plugin instances on Firebird request;</FONT></P>
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>instance of plugin,
 	created by factory.</FONT></P>
 </UL>
@@ -49,12 +49,12 @@
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>One should not expect that
-firebird plugin architecture will make it possible to create any kind
+Firebird plugin architecture will make it possible to create any kind
 of plugin you want. To be able to have plugin (for example)
-encrypting database on the disk firebird code should be prepared for
+encrypting database on the disk, Firebird code should be prepared for
 it – must have a point from which plugin is called. I.e. each
 version has a fixed set of plugins which are supported. To add one
-more type first of all firebird code should be modified. What DOES
+more type, first of all Firebird code should be modified. What DOES
 our plugin architecture – it helps to make both adding new types of
 plugins and writing plugin code simple and as universal between
 plugins as possible.</FONT></P>
@@ -71,7 +71,7 @@
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>ExternalEngine
 	controls use of various engines, see README.external_routines;</FONT></P>
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>Trace plugin is known
-	from firebird 2.5, but a way how it interacts with engine was
+	from Firebird 2.5, but a way how it interacts with engine was
 	changed to match new generic rules; </FONT>
 	</P>
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>encrypting plugins
@@ -87,8 +87,8 @@
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>Plugins are using a set of
-special firebird interfaces (see README.interfaces about interfaces
-in firebird). All plugin-specific interfaces are reference counted,
+special Firebird interfaces (see README.interfaces about interfaces
+in Firebird). All plugin-specific interfaces are reference counted,
 i.e. have explicitly controlled lifetime. Interfaces are declared in
 Plugin.h include file. There is a simple example of writing plugin
 module – DbCrypt_example. It does not perform any actual encryption
@@ -105,14 +105,14 @@
 	attention to word “reasonable” - asking a question from plugin
 	at server's console is hardly good idea;</FONT></P>
 	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>it's OK to use
-	firebird API calls in your plugin if needed (for example, default
-	authentication server and user manager are using firebird database
+	Firebird API calls in your plugin if needed (for example, default
+	authentication server and user manager are using Firebird database
 	to store accounts);</FONT></P>
-	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>additionally firebird
+	<LI><P STYLE="margin-bottom: 0in"><FONT SIZE=4>additionally Firebird
 	provides a set of interfaces, helping you to configure your plugins
 	(certainly,  you are not forced to use them – plugin is generic
 	code, which may use any way of providing configuration information,
-	but with standard tools you get common for the rest of firebird
+	but with standard tools you get common for the rest of Firebird
 	configuration style and sooner of all save you efforts).</FONT></P>
 </UL>
 <P STYLE="margin-bottom: 0in"><BR>
@@ -142,7 +142,7 @@
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>As it was already
-mentioned single plugin module may implement more than single plugin.
+mentioned, single plugin module may implement more than single plugin.
 Moreover, single plugin may have at the same time more than one
 configuration – and for each configuration separate plugin's
 factory is created. Each of this 3 objects (module – implementation
@@ -151,7 +151,7 @@
 plugin developer and hard-coded inside module. Factory's name by
 default equals to plugin implementation's name (and it's factory name
 which is actually used in firebird.conf). Certainly in typical
-trivial case module contains one plugin, and that plugin works with
+trivial case, module contains one plugin, and that plugin works with
 only one configuration, and all 3 names are equal, and no more
 configuration is needed – for example libEngine12.so or
 Engine12.dll contains implementation of provider Engine12, and
@@ -159,7 +159,7 @@
 </P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>Providers = Engine12</FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>in firebird.conf is needed
-to load it. But if you have something complex – file  hwill help
+to load it. But if you have something complex – file  will help
 you to have such plugin factories which you really want.</FONT></P>
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
@@ -180,14 +180,14 @@
  		## name of a file, containing plugin's configuration</I></FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>}</I></FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>i.e. when plugin PlugName
-is needed firebird loads library LibName, finds in it plugin
+is needed Firebird loads library LibName, finds in it plugin
 registered with name RegName and passes it configuration from config
 record ConfName or config file ConfFile (config record is used if
-bith are given). Each parameter in this record may be missing, in
+both are given). Each parameter in this record may be missing, in
 that case the default PlugName is used. The only exception is
-ConfigFile – by default file with same name as module's dynamic
+ConfigFile – by default, file with same name as module's dynamic
 library but .conf extension is used. ConfigFile is expected to have
-format Key=Value (like other firebird configuration files), same
+format Key=Value (like other Firebird configuration files), same
 format is used for plugin record:</FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>Config = ConfName</I></FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>{</I></FONT></P>
@@ -203,8 +203,8 @@
 for appropriate client parts), but each vendor calls his plugin
 BestCrypt. Certainly, first of all you have to rename libraries to
 something like WC1 and WC2 – one can't have 2 files with same name
-in one directory. But after it modules stop to load automatically –
-they are not named BestCrypt any more. To fix it plugins.conf should
+in one directory. But after it, modules stop to load automatically –
+they are not named BestCrypt any more. To fix it, plugins.conf should
 contain something like this:</FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>Plugin = WC1</I></FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>{</I></FONT></P>
@@ -227,7 +227,7 @@
 <P STYLE="margin-bottom: 0in"><BR>
 </P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>Another sample may be
-found in distributed with firebird plugins.conf. One of standard
+found in distributed with Firebird plugins.conf. One of standard
 plugins, UDR, is written to use non-default configuration. Therefore
 module name and one configuration parameter are given explicitly.</FONT></P>
 <P STYLE="margin-bottom: 0in"><BR>
@@ -241,7 +241,7 @@
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>A. That are so-called
 'built-in' plugins. They are built into fbclient library, and
 therefore are always present. Arrival of such plugins is due to old
-ability to distribute windows firebird client as single dll. It was
+ability to distribute windows Firebird client as single dll. It was
 decided to keep such feature at least for a case when standard set of
 plugins is used.</FONT></P>
 <P STYLE="margin-bottom: 0in"><BR>
@@ -250,7 +250,7 @@
 and Arc4 plugins mean?</FONT></P>
 <P STYLE="margin-bottom: 0in"><FONT SIZE=4>A. Srp implements Secure
 Remote Passwords protocol which is default way of authenticating
-users in firebird 3. It has efficient password’s length equal to 20
+users in Firebird 3. It has efficient password’s length equal to 20
 bytes, resistant to most of attacks (including man in the middle) and
 does not require exchanging any keys between client and server to
 work. Arc4 means Alleged RC4 - an implementation of RC4 cypher. The
Modified: firebird/trunk/doc/sql.extensions/README.data_types
===================================================================
--- firebird/trunk/doc/sql.extensions/README.data_types	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/doc/sql.extensions/README.data_types	2013-04-21 02:09:45 UTC (rev 57973)
@@ -55,7 +55,7 @@
     2. CREATE TABLE TABLE1 (FIELD1 BOOLEAN);
 
   Note(s):
-    1. Quote from the SQL-99 specification:
+    1. Quote from the SQL-2008 specification:
 
        The data type boolean comprises the distinct truth values TRUE and FALSE. Unless prohibited
        by a NOT NULL constraint, the boolean data type also supports the truth value UNKNOWN as the
Modified: firebird/trunk/src/common/cvt.cpp
===================================================================
--- firebird/trunk/src/common/cvt.cpp	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/src/common/cvt.cpp	2013-04-21 02:09:45 UTC (rev 57973)
@@ -1449,8 +1449,10 @@
 					ptr += sizeof(USHORT);
 
 				if (l < from->dsc_length)
+				{
 					cb->err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) <<
 						Arg::Gds(isc_trunc_limits) << Arg::Num(l) << Arg::Num(from->dsc_length));
+				}
 
 				Jrd::CharSet* charSet = cb->getToCharset(to->getCharSet());
 				cb->validateData(charSet, from->dsc_length, from->dsc_address);
Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp
===================================================================
--- firebird/trunk/src/jrd/ExtEngineManager.cpp	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/src/jrd/ExtEngineManager.cpp	2013-04-21 02:09:45 UTC (rev 57973)
@@ -449,8 +449,8 @@
 			return request->req_rpb.getCount() > n && request->req_rpb[n].rpb_number.isValid() ?
 				&request->req_rpb[n] : NULL;
 		}
-	
 
+
 	private:
 		const ExtEngineManager::Trigger* trigger;
 	};
Modified: firebird/trunk/src/jrd/jrd.h
===================================================================
--- firebird/trunk/src/jrd/jrd.h	2013-04-21 01:52:37 UTC (rev 57972)
+++ firebird/trunk/src/jrd/jrd.h	2013-04-21 02:09:45 UTC (rev 57973)
@@ -831,7 +831,7 @@
 /*-------------------------------------------------------------------------*
  * macros used to set thread_db and Database pointers when there are not set already *
  *-------------------------------------------------------------------------*/
-inline void SET_TDBB(Jrd::thread_db* &tdbb)
+inline void SET_TDBB(Jrd::thread_db*& tdbb)
 {
 	if (tdbb == NULL) {
 		tdbb = JRD_get_thread_data();
@@ -839,7 +839,7 @@
 	CHECK_TDBB(tdbb);
 }
 
-inline void SET_DBB(Jrd::Database* &dbb)
+inline void SET_DBB(Jrd::Database*& dbb)
 {
 	if (dbb == NULL) {
 		dbb = GET_DBB();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-22 00:33:59
       | 
| Revision: 57974
          http://sourceforge.net/p/firebird/code/57974
Author:   firebirds
Date:     2013-04-22 00:33:55 +0000 (Mon, 22 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-21 02:09:45 UTC (rev 57973)
+++ firebird/trunk/ChangeLog	2013-04-22 00:33:55 UTC (rev 57974)
@@ -1,3 +1,18 @@
+ 2013-04-21 02:09  asfernandes 
+   M builds/install/misc/firebird.conf.in
+   M doc/README.build.mingw.html
+   M doc/README.build.msvc.html
+   M doc/README.plugins.html
+   M doc/sql.extensions/README.data_types
+   M src/common/cvt.cpp
+   M src/jrd/ExtEngineManager.cpp
+   M src/jrd/jrd.h
+Misc.
+
+ 2013-04-21 01:52  asfernandes 
+   M src/include/firebird/Provider.h
+Correction.
+
  2013-04-19 09:22  dimitr 
    M src/jrd/recsrc/BufferedStream.cpp
    M src/jrd/recsrc/ConditionalStream.cpp
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-21 02:09:45 UTC (rev 57973)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-22 00:33:55 UTC (rev 57974)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30372
+  FORMAL BUILD NUMBER:30374
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30372"
-#define FILE_VER_STRING "WI-T3.0.0.30372"
-#define LICENSE_VER_STRING "WI-T3.0.0.30372"
-#define FILE_VER_NUMBER 3, 0, 0, 30372
+#define PRODUCT_VER_STRING "3.0.0.30374"
+#define FILE_VER_STRING "WI-T3.0.0.30374"
+#define LICENSE_VER_STRING "WI-T3.0.0.30374"
+#define FILE_VER_NUMBER 3, 0, 0, 30374
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30372"
+#define FB_BUILD_NO "30374"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-21 02:09:45 UTC (rev 57973)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-22 00:33:55 UTC (rev 57974)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30372
+BuildNum=30374
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-23 00:49:22
       | 
| Revision: 57976
          http://sourceforge.net/p/firebird/code/57976
Author:   firebirds
Date:     2013-04-23 00:49:18 +0000 (Tue, 23 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-22 09:43:34 UTC (rev 57975)
+++ firebird/trunk/ChangeLog	2013-04-23 00:49:18 UTC (rev 57976)
@@ -1,3 +1,7 @@
+ 2013-04-22 09:43  alexpeshkoff 
+   M src/auth/SecureRemotePassword/Message.h
+Cleanup
+
  2013-04-21 02:09  asfernandes 
    M builds/install/misc/firebird.conf.in
    M doc/README.build.mingw.html
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-22 09:43:34 UTC (rev 57975)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-23 00:49:18 UTC (rev 57976)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30374
+  FORMAL BUILD NUMBER:30375
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30374"
-#define FILE_VER_STRING "WI-T3.0.0.30374"
-#define LICENSE_VER_STRING "WI-T3.0.0.30374"
-#define FILE_VER_NUMBER 3, 0, 0, 30374
+#define PRODUCT_VER_STRING "3.0.0.30375"
+#define FILE_VER_STRING "WI-T3.0.0.30375"
+#define LICENSE_VER_STRING "WI-T3.0.0.30375"
+#define FILE_VER_NUMBER 3, 0, 0, 30375
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30374"
+#define FB_BUILD_NO "30375"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-22 09:43:34 UTC (rev 57975)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-23 00:49:18 UTC (rev 57976)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30374
+BuildNum=30375
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-24 00:28:25
       | 
| Revision: 57979
          http://sourceforge.net/p/firebird/code/57979
Author:   firebirds
Date:     2013-04-24 00:28:22 +0000 (Wed, 24 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-23 17:32:52 UTC (rev 57978)
+++ firebird/trunk/ChangeLog	2013-04-24 00:28:22 UTC (rev 57979)
@@ -1,3 +1,11 @@
+ 2013-04-23 17:32  dimitr 
+   M builds/win32/make_all.bat
+Added databases.conf to the Windows kits.
+
+ 2013-04-23 17:26  dimitr 
+   M doc/WhatsNew
+Updated the docs.
+
  2013-04-22 09:43  alexpeshkoff 
    M src/auth/SecureRemotePassword/Message.h
 Cleanup
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-23 17:32:52 UTC (rev 57978)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-24 00:28:22 UTC (rev 57979)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30375
+  FORMAL BUILD NUMBER:30377
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30375"
-#define FILE_VER_STRING "WI-T3.0.0.30375"
-#define LICENSE_VER_STRING "WI-T3.0.0.30375"
-#define FILE_VER_NUMBER 3, 0, 0, 30375
+#define PRODUCT_VER_STRING "3.0.0.30377"
+#define FILE_VER_STRING "WI-T3.0.0.30377"
+#define LICENSE_VER_STRING "WI-T3.0.0.30377"
+#define FILE_VER_NUMBER 3, 0, 0, 30377
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30375"
+#define FB_BUILD_NO "30377"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-23 17:32:52 UTC (rev 57978)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-24 00:28:22 UTC (rev 57979)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30375
+BuildNum=30377
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
      
      
      From: <fir...@us...> - 2013-04-25 01:32:20
       | 
| Revision: 57981
          http://sourceforge.net/p/firebird/code/57981
Author:   firebirds
Date:     2013-04-25 01:32:16 +0000 (Thu, 25 Apr 2013)
Log Message:
-----------
nightly update
Modified Paths:
--------------
    firebird/trunk/ChangeLog
    firebird/trunk/src/jrd/build_no.h
    firebird/trunk/src/misc/writeBuildNum.sh
Modified: firebird/trunk/ChangeLog
===================================================================
--- firebird/trunk/ChangeLog	2013-04-24 15:31:13 UTC (rev 57980)
+++ firebird/trunk/ChangeLog	2013-04-25 01:32:16 UTC (rev 57981)
@@ -1,3 +1,9 @@
+ 2013-04-24 15:31  asfernandes 
+   M src/dsql/WinNodes.cpp
+   M src/dsql/WinNodes.h
+   M src/dsql/parse.y
+Added FROM FIRST/LAST clause to NTH_VALUE (CORE-3621).
+
  2013-04-23 17:32  dimitr 
    M builds/win32/make_all.bat
 Added databases.conf to the Windows kits.
Modified: firebird/trunk/src/jrd/build_no.h
===================================================================
--- firebird/trunk/src/jrd/build_no.h	2013-04-24 15:31:13 UTC (rev 57980)
+++ firebird/trunk/src/jrd/build_no.h	2013-04-25 01:32:16 UTC (rev 57981)
@@ -3,16 +3,16 @@
                *** DO NOT EDIT ***
   TO CHANGE ANY INFORMATION IN HERE PLEASE
   EDIT src/misc/writeBuildNum.sh
-  FORMAL BUILD NUMBER:30377
+  FORMAL BUILD NUMBER:30378
 */
 
-#define PRODUCT_VER_STRING "3.0.0.30377"
-#define FILE_VER_STRING "WI-T3.0.0.30377"
-#define LICENSE_VER_STRING "WI-T3.0.0.30377"
-#define FILE_VER_NUMBER 3, 0, 0, 30377
+#define PRODUCT_VER_STRING "3.0.0.30378"
+#define FILE_VER_STRING "WI-T3.0.0.30378"
+#define LICENSE_VER_STRING "WI-T3.0.0.30378"
+#define FILE_VER_NUMBER 3, 0, 0, 30378
 #define FB_MAJOR_VER "3"
 #define FB_MINOR_VER "0"
 #define FB_REV_NO "0"
-#define FB_BUILD_NO "30377"
+#define FB_BUILD_NO "30378"
 #define FB_BUILD_TYPE "T"
 #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable"
Modified: firebird/trunk/src/misc/writeBuildNum.sh
===================================================================
--- firebird/trunk/src/misc/writeBuildNum.sh	2013-04-24 15:31:13 UTC (rev 57980)
+++ firebird/trunk/src/misc/writeBuildNum.sh	2013-04-25 01:32:16 UTC (rev 57981)
@@ -9,7 +9,7 @@
 MajorVer=3
 MinorVer=0
 RevNo=0
-BuildNum=30377
+BuildNum=30378
 
 NowAt=`pwd`
 cd `dirname $0`
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |