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

289 Commits

Author SHA1 Message Date
robocop
3b5a0fdae5 The way AccessItem instances were ordered was a hack that sooner or later would fail when adding more object types (that now have ACLs but we still don't enfornce them). Further, comparing numbers is faster than comparing strings. 2010-02-13 08:31:16 +00:00
dimitr
fbbc7a2432 Restored the legacy explicit checks for NULL objects instead of hiding that check inside checkHandle() and isHandleKnown().
This improves the readability and also fixes the [possible in the future] issues with multiple inheritence.
2010-02-02 14:14:00 +00:00
asfernandes
82ccb81d3b Unify even more procedure and function handling. While at it, fix a wrong access to req_procedure when validating function. 2009-12-30 01:40:39 +00:00
asfernandes
d8c99a9be2 1) Make procedures and functions member of the same hierarchy (Routine class)
2) Some completion for external functions
2009-12-27 22:05:22 +00:00
robocop
06a4224d0b Put class Attachment in its own files by brute force. 2009-12-25 09:55:05 +00:00
dimitr
debe65bcfb Support for PSQL functions (other JRD changes). Still work in progress. 2009-12-21 17:43:01 +00:00
hvlad
a2af0c8e9e ODS change : implemented SCN inventory pages to make diffrential backup faster not reading pages which was not changed since previous backup.
Corresponding nbackup and validation code changes also done.
PAG code refactored a bit.
2009-12-20 23:13:01 +00:00
dimitr
cc8794d02f Cleanup. 2009-12-15 12:25:44 +00:00
asfernandes
914ef4ca97 Front-port fix for CORE-2804 - Problems with COMMENT ON and strings using introducer (charset) 2009-12-14 15:16:55 +00:00
robocop
271560ff91 Make clearer that we are working with binary, untranslatable blobs. 2009-12-07 05:32:08 +00:00
asfernandes
fbcaf72adf Move and rename methods 2009-12-06 19:11:25 +00:00
asfernandes
8bdd3c28cf Warning 2009-12-06 14:13:24 +00:00
asfernandes
7a78601ef2 1) Use metadata character set in DSQL cache
2) Make exceptions in metadata charset and convert them to the client charset - this should fix CORE-2431
3) Support for "internal" (engine) DSQL statements and use in COMMENT ON
2009-12-05 14:21:52 +00:00
robocop
b66d6d9f64 Harmless warnings, but anyway... 2009-11-25 08:32:11 +00:00
asfernandes
218f419b5c Fixed related issues:
CORE-1518 - Adding a non-null restricted column to a populated table renders the table inconsistent
CORE-2696 - "alter table" command can add a field which has "not null" definition
CORE-1748 - Unrestorable backup
CORE-1355 - Zero display instead of NULL
2009-11-18 14:24:47 +00:00
hvlad
bc9ad95c82 Fixed bug CORE-2731 : Recursive EXECUTE STATEMENT works wrong 2009-11-05 22:42:46 +00:00
robocop
07dc116ed2 Misc. 2009-10-30 10:50:59 +00:00
asfernandes
dc5edd5aed Misc 2009-10-23 00:42:40 +00:00
asfernandes
ed0e0daeb3 - External Engines implementation.
- Plugins API.

- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.

- Fixed CORE-2699 - Common table expression context could be used with parameters.

- Introduce ODS 12.0.

- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
alexpeshkoff
ecbf4312a1 Implemented CORE-2644: Make lock table expandable on HPUX 2009-09-28 16:03:44 +00:00
alexpeshkoff
9629eafccd Use per-thread circular strings buffers instead common and per-attachment combination 2009-09-01 09:20:24 +00:00
dimitr
d17b458163 Better validation of wrong (already destroyed) attachment handles. 2009-08-25 11:06:50 +00:00
dimitr
f3a6111efa Let's not throw any shutdown related errors when rescheduling happens during the detaching (rare but possible case). 2009-07-13 15:40:32 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
dimitr
1b8384583f 1) Some simplification inside JRD_reschedule()
2) Cleaned up the unused ALL routines, the only remainings from the old allocator code.
2009-04-01 11:33:30 +00:00
asfernandes
a6d88154ee Misc 2009-03-18 02:43:15 +00:00
roman-simakov
1a4949891b Refactored NBackup subsystem.
1) Fixed CORE-1696 - "Deadlock in LM by using nbackup utility" with priority rating of lock requesting for LCK_backup_database and LCK_bdb.
2) A lot of stability fixes were made.
3) The key thing is using new GlobalRWLock for removing LCK_set_owner_handle function and speed up performance.
4) The code is still ready for using both in shared cache architecture and in claster architecture.
2009-03-17 07:39:55 +00:00
alexpeshkoff
b279aa384b Cleanup 2009-02-10 14:20:13 +00:00
asfernandes
612c108e3e Misc 2009-02-02 03:35:52 +00:00
hvlad
115602ff06 Trace services support 2009-02-01 22:10:12 +00:00
asfernandes
c3256f88cf Remove tdbb_temp_attid. It's never have a non-zero value assigned. To be reviewed by Vlad. 2009-01-04 20:00:07 +00:00
robocop
2fadc0e456 Style. 2008-12-22 09:00:05 +00:00
dimitr
2b87e94242 Use explicit iterators instead of the implicit (built-in) ones due to the thread-safety requirements.
This change affects GenericMap only, as it's used globally in a few places and we have a proven crash there.
I have a more complete solution (total cleanup of default accessors from BePlusTree and SparseBitmap) in my local tree (thanks to Dmitry Kovalenko), but it's incomplete (requires more changes inside the engine) and IMHO risky (~20 core modules are affected), so I'd like to defer finalization of this cleanup till v3.0.
All objects of these types seem being protected by dbb_sync, so they shouldn't cause us any problems currently.
2008-12-19 14:57:01 +00:00
robocop
761f0348ea Style. 2008-12-13 09:26:00 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +00:00
alexpeshkoff
2200a681f8 fixed some gcc warning 2008-11-28 18:49:07 +00:00
hvlad
36e1866a1d Few fixes to correctly close brocken external connection.
Ability to stop execution of external query when :
- engine is shutted down
- database is shutted down
- local statement is cancelled
- local connection is cancelled
2008-11-27 23:06:48 +00:00
alexpeshkoff
e9162ee2f2 Fixed CORE-2179: Deadlock when trying to shutdown server with opened ExecuteStatement 2008-11-12 14:32:18 +00:00
alexpeshkoff
e79f55708d 1. Cleanup - use Firebird::Semaphore instead of local events, removed code
related with local events from isc_sync.cpp.

2. Cleanup - removed unused parameter 'number of events' from ISC_event_wait()
and two unused parameters from ISC_event_init().

3. Added SYSV-semaphore based implementation of IPC to isc_sync.cpp.
This should fix CORE-2102: Firebird 2.5 does not build on MacOS (Darwin).

4. Fixed use of posic CS without (x)inetd (i.e. fb_inet_server -s).

5. Fixed (to be reviewed by Dmitry) recovery after some process death in lock manager.
2008-10-10 15:58:05 +00:00
asfernandes
96194d08ba Misc 2008-08-31 01:10:41 +00:00
alexpeshkoff
13a15d4bfe 1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
asfernandes
8f9b451ce9 Rework of ib_util changes. Dynamically load it in the engine and inform callback functions to alloc and free memory. Allocate memory from the default pool. 2008-07-12 21:23:42 +00:00
asfernandes
c8cacf9ad1 Misc 2008-06-27 13:31:04 +00:00
dimitr
ec1d5a91b4 1) Encapsulated the lock manager and integrated it into the engine.
2) Replaced "early" (before LM) checkouts with "late" (inside LM) ones.
3) Removed the mutex protection that's no longer necessary.
Note: the new LM contains some future code (currently commented out) which will be enabled and tested after the Alpha release.
2008-06-07 09:08:16 +00:00
robocop
3e10324c58 Totally misc. 2008-06-05 11:46:20 +00:00
hvlad
6bff6c6649 Replace fixed size array of shared latches (bdb_shared) by queue. It allows to have more than 20 simultaneous readers for hot pages and eliminate needs for scanning full array when searching for current thread's latch 2008-06-05 08:35:18 +00:00
dimitr
9a6c0accf6 Reduce number of warnings for 64-bit targets. 2008-05-10 16:49:39 +00:00
robocop
dc7176c697 Misc. 2008-05-08 09:43:24 +00:00
dimitr
0a9e8c8382 Implemented CORE-1751. The changes include:
1) Make memory counters aggregated.
2) Add attachment pool and allocate appropriate resources out of this pool.
3) Always release attachments explicitly (via destructor).
4) Always delete user requests prior to attachment deletion.
5) Introduce memory usage counters per every monitoring object.
6) Misc refactoring.
Some pieces are still incomplete (although everything basically works), but I'd like to get feedback and testing sooner rather than later.
2008-05-06 08:46:39 +00:00
hvlad
a8d9303dc7 Restore att_mutex blocking logic as prior commit broked EXECUTE STATEMENT. Add extra mt protection in cancel_attachments. 2008-05-04 21:24:33 +00:00