8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 12:43:02 +01:00

Introduce ODS 14 for v6 (#8208)

* Introduce ODS 14 for v6

* Builds/docs changes for ODS14
This commit is contained in:
Dmitry Yemanov 2024-08-08 10:59:44 +03:00 committed by GitHub
parent 68a740e25a
commit 5df7d8f197
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 37 additions and 30 deletions

View File

@ -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 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/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 pull $AndroidDir/firebird/firebird.msg gen/Release/firebird/
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/security6.fdb gen/Release/firebird/

View File

@ -530,7 +530,7 @@
#
# Per-database & per-connection configurable.
#
#Providers = Remote,Engine13,Loopback
#Providers = Remote,Engine14,Loopback
# ----------------------------

View File

@ -151,10 +151,10 @@
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">engine13</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">engine13</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">engine13</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">engine13</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">engine14</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">engine14</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">engine14</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)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>

View File

@ -127,7 +127,7 @@ or TCP localhost loopback.
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
protocol / host parts), then the embedded engine handles the hostless connection. If you need

View File

@ -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>TracePlugin = fbtrace</I></FONT></P>
<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>This provides normal
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,
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 libEngine13.so or Engine13.dll contains
implementation of provider Engine13, and nothing else except record </FONT>
is needed for example libEngine14.so or Engine14.dll contains
implementation of provider Engine14, and nothing else except record </FONT>
</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
to load it. But if you have something complex configuration file
plugins.conf will help you to have such plugin factories which you

View File

@ -47,7 +47,7 @@ attach stage.</FONT></P>
</P>
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>Next
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
local server for database name without explicitly given network
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>
<P STYLE="text-indent: 0.39in; margin-bottom: 0in"><FONT SIZE=4>When
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> &ndash; and in case of
success we get embedded connection to the database. Pay attention &ndash;
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
given OS rights for embedded access to databases on given box.
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.
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

View File

@ -2121,7 +2121,7 @@ codes:</font></p>
<p style="margin-bottom: 0cm"><font size="4" style="font-size: 14pt">DIR_GUARD
where guardian lock is stored (fb_guard)</font></p>
<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>

View File

@ -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)
set_output_directory (boot_engine plugins CURRENT_DIR)
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)
endif() # if (NOT CMAKE_CROSSCOMPILING)
@ -506,7 +506,7 @@ endif() # if (NOT CMAKE_CROSSCOMPILING)
add_library (engine SHARED ${engine_generated_src_master} ${VERSION_RC})
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_exported_symbols (engine fbplugin)

View File

@ -4034,7 +4034,7 @@ static void check_autoterm()
}
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;

View File

@ -464,7 +464,7 @@ const TraNumber MAX_TRA_NUMBER = 0x0000FFFFFFFFFFFF; // ~2.8 * 10^14
const unsigned OPT_STATIC_ITEMS = 16;
const unsigned OPT_STATIC_STREAMS = 64;
#define CURRENT_ENGINE "Engine13"
#define CURRENT_ENGINE "Engine14"
#define EMBEDDED_PROVIDERS "Providers=" CURRENT_ENGINE
// Features set for current version of engine provider

View File

@ -54,8 +54,10 @@
** ODS 10 was shipped with IB version 6.0
** Here the Firebird history begins:
** 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 12.0 is for FB3, ODS 13.0 is for FB4.
** 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 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_VERSION12 = 12; // Firebird 3.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
// 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_1 = 1; // Firebird 5.0 features
const USHORT ODS_CURRENT13_2 = 2; // Firebird 6.0 features
const USHORT ODS_CURRENT13 = 2;
const USHORT ODS_CURRENT13 = 1;
// 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
// 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_13_0 = ENCODE_ODS(ODS_VERSION13, 0);
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;
@ -166,16 +173,16 @@ inline USHORT DECODE_ODS_MINOR(USHORT ods_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.
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!
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!
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!

View File

@ -165,7 +165,7 @@ SqlPackage::SqlPackage(MemoryPool& pool)
: SystemPackage(
pool,
"RDB$SQL",
ODS_13_2,
ODS_14_0,
// procedures
{
SystemProcedure(

View File

@ -30,7 +30,7 @@
#ifdef RC_TARGET_chacha
#define VER_FILEDESC "Wire Encryption plugin using ChaCha cypher"
#elif RC_TARGET_engine13
#elif RC_TARGET_engine14
#define VER_FILEDESC "Engine plugin"
#elif defined RC_TARGET_fb_lock_print