8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 23:23:02 +01:00
firebird-mirror/doc
TreeHunter a429459b76
Change some aspects of the string-to-date conversion with format to make it more similar to the SQL standard #2388 (#7881)
* Use current TimeStamp for data in stringToDate conversion if it's not specify

Also fix RM pattern and change (A/P)M to (A/P).M.

* Add more tests

* Add TimeStamp validation

Also move duplicated code to functions.

* Add more unit tests for "YY" and "YYY" patterns

* Use Callback for getting current date

It's better because we can mock Callback for unit tests.

* Fix exception and README description

* Add ability to print blr_cast_format

* Put a comment about new BLR in the right place

* Add information about behavior of string to datetime conversion

* Rework old patterns and add new ones

Add A.M, P.M., RR and RRRR patterns.
Rework YY, YYY, HH and HH12 patterns due to new patterns.
Add restriction from SQL standard to format.
Fix incorrect error message for mismatched pattern.
Fix bug with 0 hours in HH12.

* Add more unit tests

* Update doc for cast format

* Allow specification of log_level for BOOST_TESTS in make

* Change enum class to enum in namespace

* Switch from plain enum to constexpr values

---------

Co-authored-by: Artyom Ivanov <artyom.ivanov@red-soft.ru>
2024-03-04 14:43:14 +03:00
..
license Fix licenses urls , sourcecode tree is moved to SVN from CVS 2013-03-28 10:15:31 +00:00
sql.extensions Some docs for the up-to-date parser changes in v6 2024-01-29 20:05:53 +03:00
ambiguity.txt Little corrections. 2005-01-28 06:52:37 +00:00
Firebird_conf.txt Remove the WNET protocol (#7082) 2022-01-05 10:34:07 +03:00
install_windows_manually.txt remove version mention, split database init to seperate doc 2020-06-17 23:12:17 +03:00
ods11-index-structure.html ODS11 index structure description 2005-03-30 18:10:51 +00:00
README.build.macosx.md MacOS: build libicu and static libc++ using vcpkg. 2023-08-23 23:09:49 -03:00
README.build.mingw.html Misc. 2013-04-21 02:09:45 +00:00
README.build.msvc.html Rework messages processing, simplifying the build and avoiding store generated files in git. (#6958) 2021-09-15 08:37:17 -03:00
README.build.posix.html Update FreeBSD section for trunk in doc/README.build.posix.html 2014-09-14 19:46:35 +00:00
README.cast.format.md Change some aspects of the string-to-date conversion with format to make it more similar to the SQL standard #2388 (#7881) 2024-03-04 14:43:14 +03:00
README.coding.style An additional related to previous commit 2003-08-15 10:11:25 +00:00
README.connection_string_charset.txt CORE-2929 - 'Invalid ESCAPE sequence' when connecting to the database 2010-05-17 15:30:38 +00:00
README.connection_strings Remove the WNET protocol (#7082) 2022-01-05 10:34:07 +03:00
README.DiskSpaceAllocation A bit better wording. 2008-01-10 07:59:34 +00:00
README.external_routines.txt Misc. 2009-10-21 07:25:43 +00:00
README.fb_cancel_operation Misc 2009-11-13 01:36:09 +00:00
README.fb_shutdown Enhanced docs on fb_shutdown_callback() 2018-01-29 19:04:37 +03:00
README.fbsvcmgr Implemented CORE-2197: added support for -nodbtriggers switch in gbak into services API 2008-11-17 16:34:48 +00:00
README.garbage_collector Misc. 2006-03-28 04:04:23 +00:00
README.gbak Fixed docs according to Adriano comments. 2022-06-17 22:07:33 +03:00
README.incompatibilities.3to4.txt Add section about sequences to README.incompatibilities.3to4.txt (CORE-6084 and CORE-6376). 2020-08-06 12:33:42 -03:00
README.incompatibilities.txt Updated docs. 2013-04-13 07:09:21 +00:00
README.instsvc Update documentation for instsvc 2008-03-15 19:13:57 +00:00
README.intl Misc. 2011-06-11 18:44:50 +00:00
README.IPv6 Allow to enforce IPv4 or IPv6 in URL-like connection string. 2016-05-04 21:38:36 +02:00
README.isql_enhancements.txt Feature SET AUTOTERM in ISQL. (#7868) 2023-11-23 08:48:39 -03:00
README.makefiles Note for POSIX builders 2007-05-11 06:41:33 +00:00
README.modern_cpp.md Update allowed C++ version (#7654) 2023-09-18 07:14:06 -03:00
README.monitoring_tables Update the docs 2022-10-24 14:40:02 +03:00
README.NTSecurity misc 2007-11-21 10:43:39 +00:00
README.online_validation Misc. 2015-07-01 01:10:38 +00:00
README.Optimizer.txt Misc. 2005-02-21 06:01:01 +00:00
README.parallel_features Improvement #7550 : Add support for -parallel in combination with gfix -icu 2023-04-16 18:26:02 +03:00
README.performance_monitoring Small corrections 2004-04-10 00:25:22 +00:00
README.plugins.html Update documentation - sample of plugin was renamed 2021-03-03 18:40:55 +03:00
README.providers.html Adjust docs and CMake build re. new engine name. 2016-06-01 12:04:09 +03:00
README.raw_devices Renamed aliases.conf to databases.conf as suggested by Dmitry 2013-04-08 16:28:05 +00:00
README.read_consistency.md Update documentation. 2020-05-11 23:18:57 +03:00
README.read_password_from_file Remove QLI. (#6840) 2021-06-08 10:31:18 -03:00
README.replication.md Misc 2023-11-13 11:26:13 +03:00
README.SecureRemotePassword.html Doc cleanup 2018-10-09 15:35:36 +03:00
README.security_database.txt New release version in scripts 2023-09-17 18:29:37 +03:00
README.services_extension Improvement #7186 : FB4 Nbackup RDB$BACKUP_HISTORY issue 2022-10-06 13:01:04 +03:00
README.session_idle_timeouts Merge branch 'master' into read_consistency 2017-04-03 12:01:56 +03:00
README.sha1 Correct some files to refer to FB2 and security2.fdb 2005-03-05 01:44:38 +00:00
README.statement_timeouts Merge branch 'master' into read_consistency 2017-04-03 12:01:56 +03:00
README.superclassic Misc. 2009-02-03 10:41:54 +00:00
README.trace_services Misc. 2010-01-28 07:20:41 +00:00
README.transaction_at_snapshot.md Make it possible to start multiple transactions using the same initial transaction snapshot - CORE-6018 (#193) 2019-03-01 16:17:19 -03:00
README.trusted_authentication Misc. 2015-08-02 15:51:01 +00:00
README.user.embedded Misc. 2010-09-30 08:09:12 +00:00
README.user.troubleshooting Misc 2009-01-17 19:07:07 +00:00
README.Win32LibraryInstallation.txt More Win32 1.5 -> HEAD synchronisation. Updated documentation regarding gds32.dll and instclient.exe 2004-01-03 12:32:46 +00:00
README.wire.compression.html Make zlib allocate memory from our pool 2014-11-27 13:51:59 +00:00
README.xnet Added description of XNET. 2006-01-09 10:13:04 +00:00
Using_OO_API.html Docs for #7951: Make it possible to handle attach errors in key holder plugin. 2024-01-11 14:31:02 +03:00

XNET - new local protocol implementation (win32)
------------------------------------------------

Firebird 2.0 has replaced the former (often referred to as IPC or IPServer)
implementation of the local transport protocol with a new one, named XNET.

It serves exactly the same goal - provide an efficient way to connect to the
local server (without a remote node name in the connection string) - but it's
implemented differently, in order to address the known issues with the old
protocol. Generally speaking, both implementations use shared memory for
inter-process communication, but XNET eliminates usage of window messages to
deliver attachment requests and it also implements another synchronization
logic.

Advantages of the XNET protocol over IPServer:

  - it works with Classic Server
  - it works for non-interactive services and terminal sessions
  - it doesn't lock up when using a few connections simultaneously

From the performance point of view, they should behave similarly, although
XNET is expected to be slightly faster.

As for disadvantages, there's only one - implementations are not compatible
with each other. It means that your fbclient.dll version should match the
version of the used server binaries (fbserver.exe or fb_inet_server.exe),
otherwise you won't be able to establish a local connection (a TCP localhost
loopback will do the trick, of course).