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>
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.
- CORE-6281: Invalid timestamp errors with RDB$TIME_ZONE_UTIL.TRANSITIONS
- CORE-6282: Change type of MON$ATTACHMENTS.MON$IDLE_TIMER and MON$STATEMENTS.MON$STATEMENT_TIMER to TIMESTAMP WITH TIME ZONE
* 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
* Now we take into account the call hierarchy when use SQL SECURITY
option.
Added new context variable in SYSTEM namespace - EFFICIENT_USER which is
returns user name in which context a code works.
We change efficient user before call procedure and function, fetch a
record from selective procedure and before execute a trigger.
* Renamed new context variable to EFFECTIVE_USER. Fixed nested calls.
* Improved error messages to print effective user when there is no permission.
* Added description of new context variable EFFECTIVE_USER. Improved description of SQL SECURITY clause.
* Release objects of external engine
1. Added explicit destruction of procedures and functions, because it
should execute external routines destructor to avoid leaks inside
external engine
2. Add explicit destruction of trigger and destruction of linked
external trigger
3. Release external engine after use
* Fix external engine procedures leaking, when creating new procedure
* Initial implementation of replication
* Postfixes for configuration and Windows builds
* Misc Windows adjustments
* Forgotten changes from prior commits
* Last round (fingers crossed) of fixing the Windows build
* Improve self-documentation
* Misc improvements
* Updates the docs
* More configuration
* Frontported some remaining pieces
* Installation post-fixes
* Special permission for replication
Probably, same trick should be used in all threads, started not by Dispatcher,
which could run after its module is unloaded concurrently. So far, it looks like
Windows specific.