mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 17:23:03 +01:00
Introduce ODS 14 for v6 (#8208)
* Introduce ODS 14 for v6 * Builds/docs changes for ODS14
This commit is contained in:
parent
68a740e25a
commit
5df7d8f197
@ -43,7 +43,7 @@ $ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "rm -rf $AndroidDir
|
|||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "mkdir $AndroidDir"
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "mkdir $AndroidDir"
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName push gen/$InitialDebugTar $AndroidDir/
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName push gen/$InitialDebugTar $AndroidDir/
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir && tar xvf $InitialDebugTar)"
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir && tar xvf $InitialDebugTar)"
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./common_test --log_level=all && ./libEngine13_test --log_level=all)"
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./common_test --log_level=all && ./libEngine14_test --log_level=all)"
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./AfterUntar.sh)"
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./AfterUntar.sh)"
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/firebird.msg gen/Release/firebird/
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/firebird.msg gen/Release/firebird/
|
||||||
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/security6.fdb gen/Release/firebird/
|
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/security6.fdb gen/Release/firebird/
|
||||||
|
@ -530,7 +530,7 @@
|
|||||||
#
|
#
|
||||||
# Per-database & per-connection configurable.
|
# Per-database & per-connection configurable.
|
||||||
#
|
#
|
||||||
#Providers = Remote,Engine13,Loopback
|
#Providers = Remote,Engine14,Loopback
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
|
@ -151,10 +151,10 @@
|
|||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">engine13</TargetName>
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">engine14</TargetName>
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">engine13</TargetName>
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">engine14</TargetName>
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">engine13</TargetName>
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">engine14</TargetName>
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">engine13</TargetName>
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">engine14</TargetName>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
|
||||||
|
@ -127,7 +127,7 @@ or TCP localhost loopback.
|
|||||||
|
|
||||||
On the server side, default provider configuration is:
|
On the server side, default provider configuration is:
|
||||||
|
|
||||||
Providers = Remote, Engine13, Loopback
|
Providers = Remote, Engine14, Loopback
|
||||||
|
|
||||||
It means that if the remote provider fails to match the connection string (because of missing
|
It means that if the remote provider fails to match the connection string (because of missing
|
||||||
protocol / host parts), then the embedded engine handles the hostless connection. If you need
|
protocol / host parts), then the embedded engine handles the hostless connection. If you need
|
||||||
|
@ -135,7 +135,7 @@ Win_Sspi, Legacy_Auth</I></FONT></P>
|
|||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>UserManager = Srp</I></FONT></P>
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>UserManager = Srp</I></FONT></P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>TracePlugin = fbtrace</I></FONT></P>
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>TracePlugin = fbtrace</I></FONT></P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>Providers =
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>Providers =
|
||||||
Remote,Engine13,Loopback</I></FONT></P>
|
Remote,Engine14,Loopback</I></FONT></P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>WireCryptPlugin = Arc4</I></FONT></P>
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4><I>WireCryptPlugin = Arc4</I></FONT></P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>This provides normal
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>This provides normal
|
||||||
operation in server, client and embedded cases. If you want to add
|
operation in server, client and embedded cases. If you want to add
|
||||||
@ -158,10 +158,10 @@ default equals to plugin implementation's name (and it's factory name
|
|||||||
which is actually used in firebird.conf). Certainly in typical case,
|
which is actually used in firebird.conf). Certainly in typical case,
|
||||||
module contains one plugin, and that plugin works with only one
|
module contains one plugin, and that plugin works with only one
|
||||||
configuration, and all 3 names are equal, and no more configuration
|
configuration, and all 3 names are equal, and no more configuration
|
||||||
is needed – for example libEngine13.so or Engine13.dll contains
|
is needed – for example libEngine14.so or Engine14.dll contains
|
||||||
implementation of provider Engine13, and nothing else except record </FONT>
|
implementation of provider Engine14, and nothing else except record </FONT>
|
||||||
</P>
|
</P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>Providers = Engine13</FONT></P>
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>Providers = Engine14</FONT></P>
|
||||||
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>in firebird.conf is needed
|
<P STYLE="margin-bottom: 0in"><FONT SIZE=4>in firebird.conf is needed
|
||||||
to load it. But if you have something complex – configuration file
|
to load it. But if you have something complex – configuration file
|
||||||
plugins.conf will help you to have such plugin factories which you
|
plugins.conf will help you to have such plugin factories which you
|
||||||
|
@ -47,7 +47,7 @@ attach stage.</FONT></P>
|
|||||||
</P>
|
</P>
|
||||||
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>Next
|
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>Next
|
||||||
samples are with default configuration, which contains 3 providers:
|
samples are with default configuration, which contains 3 providers:
|
||||||
<B>Remote</B> (establish network connection), <B>Engine13</B> (main
|
<B>Remote</B> (establish network connection), <B>Engine14</B> (main
|
||||||
database engine) and <B>Loopback</B> (force network connection to
|
database engine) and <B>Loopback</B> (force network connection to
|
||||||
local server for database name without explicitly given network
|
local server for database name without explicitly given network
|
||||||
protocol).</FONT></P>
|
protocol).</FONT></P>
|
||||||
@ -59,7 +59,7 @@ provider in the list) at once redirects such call to <I>RemoteHost</I>.
|
|||||||
That's how typical client configuration works.</FONT></P>
|
That's how typical client configuration works.</FONT></P>
|
||||||
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>When
|
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>When
|
||||||
database name does not contain network protocol (just <I>dbname</I>)
|
database name does not contain network protocol (just <I>dbname</I>)
|
||||||
<B>Remote</B> provider rejects it and <B>Engine13</B> provider comes
|
<B>Remote</B> provider rejects it and <B>Engine14</B> provider comes
|
||||||
to stage. It tries to open <I>dbname</I> – and in case of
|
to stage. It tries to open <I>dbname</I> – and in case of
|
||||||
success we get embedded connection to the database. Pay attention –
|
success we get embedded connection to the database. Pay attention –
|
||||||
we do not need special embedded library to have embedded connection,
|
we do not need special embedded library to have embedded connection,
|
||||||
@ -74,7 +74,7 @@ to open database file. This is normal case if database was not
|
|||||||
created by that user in embedded mode or if he was not explicitly
|
created by that user in embedded mode or if he was not explicitly
|
||||||
given OS rights for embedded access to databases on given box.
|
given OS rights for embedded access to databases on given box.
|
||||||
Moreover, setting access rights in such a manner is a requirement for
|
Moreover, setting access rights in such a manner is a requirement for
|
||||||
correct superserver operation. So after failure of <B>Engine13</B> to
|
correct superserver operation. So after failure of <B>Engine14</B> to
|
||||||
access database <B>Loopback</B> provider is attempted for an attach.
|
access database <B>Loopback</B> provider is attempted for an attach.
|
||||||
It does not differ much from <B>Remote</B>, but tries to access
|
It does not differ much from <B>Remote</B>, but tries to access
|
||||||
database <I>dbname</I> on a server running on local host. On windows
|
database <I>dbname</I> on a server running on local host. On windows
|
||||||
|
@ -2121,7 +2121,7 @@ codes:</font></p>
|
|||||||
<p style="margin-bottom: 0cm"><font size="4" style="font-size: 14pt">DIR_GUARD
|
<p style="margin-bottom: 0cm"><font size="4" style="font-size: 14pt">DIR_GUARD
|
||||||
– where guardian lock is stored (fb_guard)</font></p>
|
– where guardian lock is stored (fb_guard)</font></p>
|
||||||
<p style="margin-bottom: 0cm"><font size="4" style="font-size: 14pt">DIR_PLUGINS
|
<p style="margin-bottom: 0cm"><font size="4" style="font-size: 14pt">DIR_PLUGINS
|
||||||
– plugins directory ([lib]Engine13.{dll|so})</font></p>
|
– plugins directory ([lib]Engine14.{dll|so})</font></p>
|
||||||
<p style="margin-bottom: 0cm"><br/>
|
<p style="margin-bottom: 0cm"><br/>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
@ -494,7 +494,7 @@ add_library (boot_engine SHARED ${engine_generated_src_boot} ${V
|
|||||||
target_link_libraries (boot_engine engine_common boot_alice boot_burp common boot_yvalve)
|
target_link_libraries (boot_engine engine_common boot_alice boot_burp common boot_yvalve)
|
||||||
set_output_directory (boot_engine plugins CURRENT_DIR)
|
set_output_directory (boot_engine plugins CURRENT_DIR)
|
||||||
set_exported_symbols (boot_engine fbplugin)
|
set_exported_symbols (boot_engine fbplugin)
|
||||||
copy_and_rename_lib (boot_engine Engine13)
|
copy_and_rename_lib (boot_engine Engine14)
|
||||||
project_group (boot_engine Boot)
|
project_group (boot_engine Boot)
|
||||||
|
|
||||||
endif() # if (NOT CMAKE_CROSSCOMPILING)
|
endif() # if (NOT CMAKE_CROSSCOMPILING)
|
||||||
@ -506,7 +506,7 @@ endif() # if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
|
|
||||||
add_library (engine SHARED ${engine_generated_src_master} ${VERSION_RC})
|
add_library (engine SHARED ${engine_generated_src_master} ${VERSION_RC})
|
||||||
target_link_libraries (engine engine_common alice burp common yvalve)
|
target_link_libraries (engine engine_common alice burp common yvalve)
|
||||||
set_target_properties (engine PROPERTIES OUTPUT_NAME Engine13)
|
set_target_properties (engine PROPERTIES OUTPUT_NAME Engine14)
|
||||||
set_output_directory (engine plugins)
|
set_output_directory (engine plugins)
|
||||||
set_exported_symbols (engine fbplugin)
|
set_exported_symbols (engine fbplugin)
|
||||||
|
|
||||||
|
@ -4034,7 +4034,7 @@ static void check_autoterm()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!(protocolVersion == 0 || protocolVersion >= 19) && // PROTOCOL_VERSION19
|
if (!(protocolVersion == 0 || protocolVersion >= 19) && // PROTOCOL_VERSION19
|
||||||
ENCODE_ODS(isqlGlob.major_ods, isqlGlob.minor_ods) >= ODS_13_2)
|
isqlGlob.major_ods >= ODS_VERSION14)
|
||||||
{
|
{
|
||||||
setValues.AutoTerm = false;
|
setValues.AutoTerm = false;
|
||||||
|
|
||||||
|
@ -464,7 +464,7 @@ const TraNumber MAX_TRA_NUMBER = 0x0000FFFFFFFFFFFF; // ~2.8 * 10^14
|
|||||||
const unsigned OPT_STATIC_ITEMS = 16;
|
const unsigned OPT_STATIC_ITEMS = 16;
|
||||||
const unsigned OPT_STATIC_STREAMS = 64;
|
const unsigned OPT_STATIC_STREAMS = 64;
|
||||||
|
|
||||||
#define CURRENT_ENGINE "Engine13"
|
#define CURRENT_ENGINE "Engine14"
|
||||||
#define EMBEDDED_PROVIDERS "Providers=" CURRENT_ENGINE
|
#define EMBEDDED_PROVIDERS "Providers=" CURRENT_ENGINE
|
||||||
|
|
||||||
// Features set for current version of engine provider
|
// Features set for current version of engine provider
|
||||||
|
@ -54,8 +54,10 @@
|
|||||||
** ODS 10 was shipped with IB version 6.0
|
** ODS 10 was shipped with IB version 6.0
|
||||||
** Here the Firebird history begins:
|
** Here the Firebird history begins:
|
||||||
** ODS 10.0 is for FB1.0 and ODS 10.1 is for FB1.5.
|
** ODS 10.0 is for FB1.0 and ODS 10.1 is for FB1.5.
|
||||||
** ODS 11.0 is for FB2.0, ODS11.1 is for FB2.1 and ODS11.2 is for FB2.5.
|
** ODS 11.0 is for FB2.0, ODS 11.1 is for FB2.1 and ODS 11.2 is for FB2.5.
|
||||||
** ODS 12.0 is for FB3, ODS 13.0 is for FB4.
|
** ODS 12.0 is for FB3.
|
||||||
|
** ODS 13.0 is for FB4, ODS 13.1 is for FB5.
|
||||||
|
** ODS 14.0 is for FB6.
|
||||||
**
|
**
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
@ -70,6 +72,7 @@ const USHORT ODS_VERSION10 = 10; // V6.0 features. SQL delimited idetifier,
|
|||||||
const USHORT ODS_VERSION11 = 11; // Firebird 2.x features
|
const USHORT ODS_VERSION11 = 11; // Firebird 2.x features
|
||||||
const USHORT ODS_VERSION12 = 12; // Firebird 3.x features
|
const USHORT ODS_VERSION12 = 12; // Firebird 3.x features
|
||||||
const USHORT ODS_VERSION13 = 13; // Firebird 4.x features
|
const USHORT ODS_VERSION13 = 13; // Firebird 4.x features
|
||||||
|
const USHORT ODS_VERSION14 = 14; // Firebird 6.x features
|
||||||
|
|
||||||
// ODS minor version -- minor versions ARE compatible, but may be
|
// ODS minor version -- minor versions ARE compatible, but may be
|
||||||
// increasingly functional. Add new minor versions, but leave previous
|
// increasingly functional. Add new minor versions, but leave previous
|
||||||
@ -124,8 +127,12 @@ const USHORT ODS_CURRENT12 = 0;
|
|||||||
|
|
||||||
const USHORT ODS_CURRENT13_0 = 0; // Firebird 4.0 features
|
const USHORT ODS_CURRENT13_0 = 0; // Firebird 4.0 features
|
||||||
const USHORT ODS_CURRENT13_1 = 1; // Firebird 5.0 features
|
const USHORT ODS_CURRENT13_1 = 1; // Firebird 5.0 features
|
||||||
const USHORT ODS_CURRENT13_2 = 2; // Firebird 6.0 features
|
const USHORT ODS_CURRENT13 = 1;
|
||||||
const USHORT ODS_CURRENT13 = 2;
|
|
||||||
|
// Minor versions for ODS 14
|
||||||
|
|
||||||
|
const USHORT ODS_CURRENT14_0 = 0; // Firebird 6.0 features
|
||||||
|
const USHORT ODS_CURRENT14 = 0;
|
||||||
|
|
||||||
// useful ODS macros. These are currently used to flag the version of the
|
// useful ODS macros. These are currently used to flag the version of the
|
||||||
// system triggers and system indices in ini.e
|
// system triggers and system indices in ini.e
|
||||||
@ -147,7 +154,7 @@ const USHORT ODS_11_2 = ENCODE_ODS(ODS_VERSION11, 2);
|
|||||||
const USHORT ODS_12_0 = ENCODE_ODS(ODS_VERSION12, 0);
|
const USHORT ODS_12_0 = ENCODE_ODS(ODS_VERSION12, 0);
|
||||||
const USHORT ODS_13_0 = ENCODE_ODS(ODS_VERSION13, 0);
|
const USHORT ODS_13_0 = ENCODE_ODS(ODS_VERSION13, 0);
|
||||||
const USHORT ODS_13_1 = ENCODE_ODS(ODS_VERSION13, 1);
|
const USHORT ODS_13_1 = ENCODE_ODS(ODS_VERSION13, 1);
|
||||||
const USHORT ODS_13_2 = ENCODE_ODS(ODS_VERSION13, 2);
|
const USHORT ODS_14_0 = ENCODE_ODS(ODS_VERSION14, 0);
|
||||||
|
|
||||||
const USHORT ODS_FIREBIRD_FLAG = 0x8000;
|
const USHORT ODS_FIREBIRD_FLAG = 0x8000;
|
||||||
|
|
||||||
@ -166,16 +173,16 @@ inline USHORT DECODE_ODS_MINOR(USHORT ods_version)
|
|||||||
|
|
||||||
// Set current ODS major and minor version
|
// Set current ODS major and minor version
|
||||||
|
|
||||||
const USHORT ODS_VERSION = ODS_VERSION13; // Current ODS major version -- always
|
const USHORT ODS_VERSION = ODS_VERSION14; // Current ODS major version -- always
|
||||||
// the highest.
|
// the highest.
|
||||||
|
|
||||||
const USHORT ODS_RELEASED = ODS_CURRENT13_0; // The lowest stable minor version
|
const USHORT ODS_RELEASED = ODS_CURRENT14_0; // The lowest stable minor version
|
||||||
// number for this ODS_VERSION!
|
// number for this ODS_VERSION!
|
||||||
|
|
||||||
const USHORT ODS_CURRENT = ODS_CURRENT13; // The highest defined minor version
|
const USHORT ODS_CURRENT = ODS_CURRENT14; // The highest defined minor version
|
||||||
// number for this ODS_VERSION!
|
// number for this ODS_VERSION!
|
||||||
|
|
||||||
const USHORT ODS_CURRENT_VERSION = ODS_13_2; // Current ODS version in use which includes
|
const USHORT ODS_CURRENT_VERSION = ODS_14_0; // Current ODS version in use which includes
|
||||||
// both major and minor ODS versions!
|
// both major and minor ODS versions!
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ SqlPackage::SqlPackage(MemoryPool& pool)
|
|||||||
: SystemPackage(
|
: SystemPackage(
|
||||||
pool,
|
pool,
|
||||||
"RDB$SQL",
|
"RDB$SQL",
|
||||||
ODS_13_2,
|
ODS_14_0,
|
||||||
// procedures
|
// procedures
|
||||||
{
|
{
|
||||||
SystemProcedure(
|
SystemProcedure(
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#ifdef RC_TARGET_chacha
|
#ifdef RC_TARGET_chacha
|
||||||
#define VER_FILEDESC "Wire Encryption plugin using ChaCha cypher"
|
#define VER_FILEDESC "Wire Encryption plugin using ChaCha cypher"
|
||||||
|
|
||||||
#elif RC_TARGET_engine13
|
#elif RC_TARGET_engine14
|
||||||
#define VER_FILEDESC "Engine plugin"
|
#define VER_FILEDESC "Engine plugin"
|
||||||
|
|
||||||
#elif defined RC_TARGET_fb_lock_print
|
#elif defined RC_TARGET_fb_lock_print
|
||||||
|
Loading…
Reference in New Issue
Block a user