8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 16:43:03 +01:00
Commit Graph

1046 Commits

Author SHA1 Message Date
Adriano dos Santos Fernandes
3f188ec758 Fix #8409 - Error message "SQL -104 / Unexpected end of command" appears in a trace log when 'SET AUTOTERM ON;' is used. 2025-01-22 07:53:48 -03:00
Adriano dos Santos Fernandes
e392484582 Fixes to RDB$SQL package. 2024-12-08 09:27:27 -03:00
Ilya Eremin
babd741daa
Add AUTO RELEASE TEMP BLOBID transaction option (#8323)
* Add AUTO RELEASE TEMP BLOBID transaction option

It makes the transaction release temporary ID of user BLOB just after its materialization. It's useful for massive insertions of records with user-defined BLOBs because it eliminates the memory overhead caused by creating and keeping temporary IDs until the transaction ends. This option is used during the database restore.

* Place tokens in the correct sections

* Avoid repeated attempts to start a transaction with options that are not supported by the target server

* Correct AUTO RELEASE TEMP BLOBID description

* Check bad_tpb_form error for more reliable detection of unsupported transaction options

* Do not use unsupported options for transactions of parallel workers performing RestoreRelationTask
2024-11-25 11:32:33 +03:00
Vlad Khorsun
df885d5935 Collect network statistics and make it available for the user applications. (#8310)
* Make Remote provider collect wire statistics.
New info items to query wire stats counters.

* New ISQL commands to show wire statistics.

* Remove requirement to not mix local and remote handled items in the same info request.

* Follow @asfernandes suggestion about class members initialization.

* Make ctor explicit, as @sim1984 suggested

* Put isc_info_end into response buffer despite of its presence in info items.
2024-11-12 13:24:54 +02:00
Artyom Abakumov
52657ab691
Add ALTER PACKAGE BODY and CRETE OR ALTER PACKAGE BODY parse rules (#8309) 2024-11-08 08:18:11 -03:00
67d8e39e44
Ability to create an inactive index (#8091)
* Ability to create an inactive index

* Extract inactive indices in dialect 1
2024-10-25 14:35:02 +03:00
Vlad Khorsun
9f5f7f5a58 Some missed pieces in docs.Some missed pieces in docs. 2024-10-05 23:48:28 +03:00
Dmitry Yemanov
5df7d8f197
Introduce ODS 14 for v6 (#8208)
* Introduce ODS 14 for v6

* Builds/docs changes for ODS14
2024-08-08 10:59:44 +03:00
Vlad Khorsun
193b01ed17 Merge pull request #8169 from FirebirdSQL/work/gh-8168
Fixed bug #8168 : MAKE_DBKEY bug after backup/restore
2024-06-27 19:51:15 +03:00
Adriano dos Santos Fernandes
fdac4b8152 Feature #7980 - Option for GEN_UUID to generate v7 UUID. 2024-06-23 08:23:25 -03:00
AlexPeshkoff
8cca3361e2 Added missing privilege to doc 2024-05-08 16:59:06 +03:00
Vlad Khorsun
e8765cfb7a Update docs 2024-04-16 11:45:11 +03:00
Adriano dos Santos Fernandes
003b2e0a77 Postfix for #8062 - CREATE IF NOT EXISTS.
Thanks to Pavel Zotov.
2024-04-15 23:20:30 -03:00
Adriano dos Santos Fernandes
b6eab891d5
Feature #8062 - CREATE IF NOT EXISTS. (#8072) 2024-04-14 16:32:51 -03:00
MrTeeett
56e8c6224c
Add multi-character TRIM function (#8015)
* Add multi-character TRIM function

* Follow Adriano's suggestion

Co-authored-by: Adriano dos Santos Fernandes <529415+asfernandes@users.noreply.github.com>

---------

Co-authored-by: Dmitry Yemanov <dyemanov@users.noreply.github.com>
Co-authored-by: Adriano dos Santos Fernandes <529415+asfernandes@users.noreply.github.com>
2024-03-25 19:46:05 +03:00
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
Dmitry Yemanov
e2c37feadc Some docs for the up-to-date parser changes in v6 2024-01-29 20:05:53 +03:00
AlexPeshkoff
3912346e6f Docs for #7951: Make it possible to handle attach errors in key holder plugin. 2024-01-11 14:31:02 +03:00
Adriano dos Santos Fernandes
d29e9cecb8 Corrections and documentation improvements to #4203 - DROP [IF EXISTS]. 2024-01-08 08:33:39 -03:00
Adriano dos Santos Fernandes
77ee904255
Feature #4203 - DROP [IF EXISTS] (#7946) 2024-01-07 11:30:33 -03:00
Danuul3
cf4d9d98f2
The ability to retrieve the total number of pages in the database, the (#7888)
number of pages in use, and the number of free pages via the
GET_CONTEXT.

Co-authored-by: Daniil <daniil@localhost.localdomain>
2023-11-29 16:49:54 +03:00
Vlad Khorsun
5b240c4916
Merge pull request #7872 from FirebirdSQL/work/gh-7810-2
Additional fixes for #7810 (Improve SKIP LOCKED implementation)
2023-11-24 19:51:19 +02:00
e23f0306b4
Allow collation to be a part of data type (#7748) 2023-11-24 19:27:02 +03:00
Vlad Khorsun
69f8afd178 Fixed DELETE RETURNING handling, update documentation for SKIP LOCKED.
Revert the old way of BLR generation for DELETE RETURNING when SKIP LOCKED is not specified.
2023-11-23 18:55:41 +02:00
Adriano dos Santos Fernandes
f3205ff81d
Feature SET AUTOTERM in ISQL. (#7868) 2023-11-23 08:48:39 -03:00
b495b3f174
Allow to create database with different owner (#7718)
* Allow to create database with different owner via API

* Support for OWNER clause in executeCreateDatabase()

* squash! Support for OWNER clause in executeCreateDatabase()

Fix rebase error
2023-11-20 18:02:59 +03:00
Dmitry Yemanov
a39e0cc94e Misc 2023-11-13 11:26:13 +03:00
Dmitry Yemanov
1334fcfad6 Fixed typo 2023-11-11 20:35:05 +03:00
Dmitry Yemanov
74b90ce633 Better description of the replica creation 2023-11-11 13:47:58 +03:00
Alexandr
93c1b1f815
Merge branch 'master' into master 2023-11-10 13:12:38 +03:00
Vlad Khorsun
7a858e240e Implement #7818 : Extend rdb$get_context('SYSTEM', '***') with other info from MON$ATTACHMENT 2023-10-29 23:25:58 +02:00
Alexander Zhdanov
695082ece7 added the ability to change sql security option in alter package 2023-10-26 00:39:41 +03:00
Alexander Zhdanov
5b620936e2 added the ability to change sql security opt in alter procedure 2023-10-25 19:27:43 +03:00
TreeHunter
897ac0c650
Add FORMAT clause to convert datetime types to string and vice versa #2388 (#7629)
* Add FORMAT clause to convert datetime types to string and vice versa

* Add tests for FORMAT clause

* Fixes after review

* Change TZD to TZR

* Change inline variables back to static

* Add README documentation

* Add ability to use " in raw string and ...

Use session timezone if timezone is not specified.
Add ability to use + sign in timezone offset.
Add truncating string exception.

* Move util methods from BOOST_AUTO_TEST_SUITE

* Switch back to inline variables

* Consider charset in the format string

* Add ability to write patterns without separators

* Use printf to add extra zeros

Also add extra zeros to the year patterns.

* Replace template exception with a plain function

* Clean code after review

* Fix bug with TZH:TZM when TZH is 0

* Add TZR to STRING to DATE

---------

Co-authored-by: Artyom Ivanov <artyom.ivanov@red-soft.ru>
2023-10-24 07:01:58 -03:00
Alexander Zhdanov
9b823e6996 Add ability to change sql security option in alter function 2023-10-16 21:41:41 +03:00
Alexandr
5327ed835c
Added the ability to change deterministic option (#7758)
* Added the ability to change deterministic option
Added the ability to change deterministic opt without specifiying the entire body of the function.
Extended "ALTER FUNCTION" syntax:
ALTER FUNCTION <name> DETERMINISTIC;
ALTER FUNCTION <name> NOT DETERMINISTIC;

* added const qualifier to flag, removed nested if/else

* added doc

---------

Co-authored-by: Alexander Zhdanov <alexander.zhdanov@red-soft.ru>
2023-10-06 16:44:43 +03:00
Adriano dos Santos Fernandes
b6248f6453 Feature #7587 - CALL statement. 2023-09-19 07:29:03 -03:00
Adriano dos Santos Fernandes
00a50429cb Feature #7566 - Allow DEFAULT keyword in argument list. 2023-09-19 07:19:19 -03:00
Adriano dos Santos Fernandes
5dbd5a46ef Allow mixed (positional, named) arguments. 2023-09-19 07:14:06 -03:00
Adriano dos Santos Fernandes
1b2b3ab638 Named arguments for function call, EXECUTE PROCEDURE and procedure record source. 2023-09-19 07:14:02 -03:00
Adriano dos Santos Fernandes
39b019574a
Feature #7675 - EXPLAIN statement and RDB$SQL package. (#7697)
* Feature #7675 - EXPLAIN statement and RDB$SQL package.

* Change ObjectsArray::back() to match STL semantics and add front() method.

* Fix indentation problem.

* Add OBJECT_TYPE column.

* Add CARDINALITY column.

* Add conversion from bid to ISC_QUAD.

* Replace fb_assert by static_assert.

* Change ACCESS_PATH output parameter to blob.

* Improve docs.
2023-09-18 21:52:20 -03:00
Adriano dos Santos Fernandes
5d47a0ba7c Replace throw() by noexcept. 2023-09-18 20:27:13 -03:00
Adriano dos Santos Fernandes
a71ec888e4
Improvement #7590 - Improve DECLARE VARIABLE to accept complete value expressions. (#7608) 2023-09-18 08:02:05 -03:00
Adriano dos Santos Fernandes
986e96fac8
SQL 2023 ANY_VALUE aggregate function. (#7617) 2023-09-18 07:51:41 -03:00
Adriano dos Santos Fernandes
93acbd1aef
Update allowed C++ version (#7654)
* Update allowed C++ version.

* Build examples using C++11.

* Remove pre-C++11 fallback in examples code - thanks to Alex.
2023-09-18 07:14:06 -03:00
Dmitry Yemanov
875f0a25a3 New release version in scripts 2023-09-17 18:29:37 +03:00
Dmitry Yemanov
2375c3d449 Added v5 keywords to the readme 2023-09-14 21:27:30 +03:00
Adriano dos Santos Fernandes
b31d37b787 MacOS: build libicu and static libc++ using vcpkg.
Also improve non-CI build automation.
2023-08-23 23:09:49 -03:00
Alexandr Zhdanov
167d28f188 Added sha3 support for the built-in function CRYPT_HASH()
Added support for sha3_224, sha3_256, sha3_384, sha3_512 for the built-in
CRYPT_HASH() function
2023-08-11 12:35:37 +03:00
Adriano dos Santos Fernandes
47e621b115
Document possible problem of very high overhead using the profiler. (#7689) 2023-08-11 06:13:48 -03:00