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

163 Commits

Author SHA1 Message Date
Dmitry Yemanov
ca6f63261c Add missing namespace 2023-11-09 09:15:37 +03:00
Vlad Khorsun
f3f231a0a3 Improvement #7814 : Don't update database-level statistics on every page cache operation. 2023-10-23 20:16:01 +03:00
Adriano dos Santos Fernandes
f8ed006057 Ressurect TriState, replace Nullable<bool> by TriState, remove Nullable. 2023-09-18 20:38:33 -03:00
Adriano dos Santos Fernandes
5d47a0ba7c Replace throw() by noexcept. 2023-09-18 20:27:13 -03:00
Dmitry Yemanov
f239ca161f
Surface internal optimization modes (all rows vs first rows) at the SQL and configuration levels (#7405)
* Surface internal optimization modes (all rows vs first rows) at the SQL and configuration levels.
* Add session-level control over the optimization strategy
* More informative name as suggested by Adriano
* Cost-based approach for the first-rows optimization mode
2023-09-13 21:21:12 +03:00
Vlad Khorsun
b2eb581b2f Per-attachment cache of often used BDB's 2023-09-01 11:15:04 +03:00
Adriano dos Santos Fernandes
670d3513ca Improvement #7688 - Profiler should not miss query's top-level access paths nodes.
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-29 23:51:15 -03:00
Adriano dos Santos Fernandes
00bb8e4581 Improvement #7652 - Make the profiler store aggregated requests by default, with option for detailed store.
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-26 22:53:23 -03:00
AlexPeshkoff
3018b8127e Fix for #7556: FB Classic can hang when attempts to attach DB while it is starting to encrypt/decrypt
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-04-26 20:43:25 +03:00
Dmitry Yemanov
89087e0e10 Misc 2022-10-18 20:40:55 +03:00
Dmitry Yemanov
e9fdb67e63 Rework monitoring logic to provide faster response under high CPU-bound load 2022-10-08 11:31:39 +03:00
AlexPeshkoff
711eb3e02b Fixed #7304: Events in system attachments (like garbage collector) are not traced 2022-09-15 19:46:32 +03:00
Adriano dos Santos Fernandes
581795ed78 Merge branch 'work/profiler-plugin' into work/profiler-plugin-merge 2022-08-10 22:26:38 -03:00
AlexPeshkoff
dd1593b67d Fixed issues with shutdown thread, reported by Ilya Eremin privately 2022-07-21 14:47:12 +03:00
Vlad Khorsun
889ff29299 Detach idle worker attachments after 60 seconds of inactivity to free system resources and metadata locks.
Also, publish worker attachments for monitoring.
2022-06-15 17:05:18 +03:00
Adriano dos Santos Fernandes
35ba33592f Add procedure SET_FLUSH_INTERVAL.
Add parameter FLUSH_INTERVAL to START_SESSION.
2022-06-06 21:52:00 -03:00
Adriano dos Santos Fernandes
bb139df3c7 Remote attachment profiling. 2022-06-04 15:00:42 -03:00
Vlad Khorsun
fa90269460 Parallel backup, restore and sweep. 2022-05-31 20:29:36 +03:00
Adriano dos Santos Fernandes
98f678d4ee Rename class jrd_req to Request. 2022-02-13 10:51:30 -03:00
Adriano dos Santos Fernandes
7ff8855317 Avoid prefix Jrd in Statement class and Statement/jrd_req accessors/variables.
Change DSQL methods accordingly prefixing things with Dsql to avoid things as
request->getRequest() and statement->getStatement().
2022-02-09 15:47:58 -03:00
Adriano dos Santos Fernandes
1a072f43d8
Add table MON$COMPILED_STATEMENTS and columns (#7050)
Add table MON$COMPILED_STATEMENTS and columns MON$STATEMENTS.MON$COMPILED_STATEMENT_ID and MON$CALL_STACK.MON$COMPILED_STATEMENT_ID.
2022-02-06 21:41:11 -03:00
Adriano dos Santos Fernandes
2f503f2e2d Profiler. 2021-12-23 15:08:04 -03:00
Adriano dos Santos Fernandes
3a452630b6 Add table MON$COMPILED_STATEMENTS and columns MON$STATEMENTS.MON$COMPILED_STATEMENT_ID and MON$CALL_STACK.MON$COMPILED_STATEMENT_ID. 2021-11-24 15:18:39 -03:00
AlexPeshkoff
1dfb7bffd7 An attempt to fix Mac build after #6947 2021-10-12 12:22:29 +03:00
AlexPeshkoff
9ed56eff6c Better fix for #6947: Query to mon$ tables does not return data when the encryption/decryption thread is running 2021-10-11 20:06:38 +03:00
Dmitry Yemanov
6ae5e1026e Code simplification (and preparation for the next commits) 2021-09-03 15:53:12 +03:00
Dmitry Yemanov
de1f81390b This should fix #6935: SQL SECURITY DEFINER has inconsistent behaviour if the object owner is non-privileged 2021-08-27 20:08:10 +03:00
Adriano dos Santos Fernandes
1fbfeedb69 Add SET DEBUG OPTION DSQL_KEEP_BLR and remove Statement::PREPARE_KEEP_EXEC_PATH flag.
Make ISQL' SET EXEC_PATH_DISPLAY persistent between connections.
2021-07-30 16:40:01 -03:00
Dmitry Yemanov
e4b5120de0 Fixed #6848: Generator values may not replicate after commit 2021-06-08 18:29:45 +03:00
Adriano dos Santos Fernandes
9436f57498 Fix #6787 - MON$ATTACHMENTS.MON$TIMESTAMP should use its session original time zone. 2021-05-04 11:30:37 -03:00
Dmitry Yemanov
5c0d3f82f1 Allow multiple appliers per attachment 2021-05-01 18:10:57 +03:00
hvlad
48c0459276 Fixed bug 6777 : AV when engine shut down and cancels attachment that is waiting in lock manager. 2021-04-26 12:29:19 +03:00
AlexPeshkoff
7a6712660d Fixed CORE-5197: Segfault when process exits with active sweep thread 2020-12-08 18:08:57 +03:00
hvlad
752424d513 Addition for CORE-5832 : Implement way to reset user session environment to its initial (default) state
Database triggers ON DISCONNECT and ON CONNECT is fired during session reset.
New system variable RESETTING is introduced to detect session reset state.
More detailed description see in tracker.
2020-11-30 13:15:48 +02:00
AlexPeshkoff
c1179d7a24 Removed dispose() and release() from most of implementations as was suggested by Adriano long time ago.
Cleanup old unused debugging feature (RefDeb).
Fixed CORE-6433: Several firebird servers crash
2020-11-13 14:49:35 +03:00
hvlad
1ab61903af Attempt to find the reason of crash around setLockAttachment(), cleanup.
DEBUG_LCK_LIST should be undefined before release!
2020-10-22 00:00:39 +03:00
Dmitry Yemanov
3f3880710f Make error handling consistent with the rest of the API + some minor adjustments 2020-10-07 20:52:51 +03:00
1677359553
Replication plug (#280)
* Support for replication plugins + sample plugin
* Renamed TDBB flag
* Configurable replication errors handling
* Commit in two phases
* Move call to dispose() out of commit/rollback for code simplification
* A comment and manual fix for constant wrongly generated by CLOOP
* Log replication warnings as well
2020-09-18 11:45:51 +03:00
AlexPeshkoff
ca12563ba5 Fixed CORE-6371: Avoid server crash on shutdown in case of wrong reference counting in UDR 2020-07-24 18:45:48 +03:00
Alexander Peshkov
cb6fee68eb
Small meta name (#271)
Keep metadata name strings in hash table having just a pointer to a hash table member in all places where metadata name is needed in order to save RAM. Hash table of metadata names is almost lock-less: mutex is used only when new segment of memory is needed or hash table should be grown.

Co-authored-by: hvlad <hvlad@users.sourceforge.net>
2020-06-16 19:22:15 +03:00
hvlad
e018f7541f Refactored TimerImpl to use std::function as Adriano suggested. 2020-05-22 11:54:38 +03:00
hvlad
1454fea3ea Use common template for Attachment::IdleTimer.
Don't start session idle timer if there is executing statement.
Show in monitoring tables real expiration time of timeout timers, independent of system time change after timer start.
2020-05-19 17:07:18 +03:00
Dmitry Yemanov
25f5bf7b6a Allow the replication state to be changed at runtime 2020-04-21 19:36:43 +03:00
Dmitry Yemanov
9f6152a300 One more fix for possible hangs inside the monotoring shmem code 2020-03-20 15:21:27 +03:00
AlexPeshkoff
b9f4c65220 Added various ways to get infomation about wire crypt plugin name: variable in rdb$get_context(), field in mon$attachments and tag in Attachment::getInfo() 2020-01-15 18:02:19 +03:00
AlexPeshkoff
e3cd960d3a Cleanup 2019-12-06 18:35:43 +03:00
AlexPeshkoff
e8787500d7 First edition of SET BIND statement 2019-12-06 18:35:43 +03:00
hvlad
1f1c82dde2 Fixed wrong datatype used 2019-11-05 19:00:32 +02:00
Adriano dos Santos Fernandes
760d4b13ca Fixed CORE-6166 - Problems with long object names (> 255 bytes). 2019-10-21 12:53:13 -03:00
Alexander Peshkov
861d536fc2
Int128 - new datatype (#220)
* Int128 support - work in progress

* Work in progress

* Int128 datatype appears to be mostly OK except sort & index

* Fixed divide scaling, added sorting & network (xdr) support

* Binding control, aggregate nodes, cleanup and documentation

* Fixed VS2017 AppVeyor build

* Next attempt to fix vs2017 build

* Next attempt to fix vs2017 build

* Next attempt to fix vs2017 build

* Update MSVC build.

* Set VS architecture correctly

* Fixed a number of issues noticed by Mark
2019-09-16 20:59:54 +03:00