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

160 Commits

Author SHA1 Message Date
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
paulbeach
07599dc39d _string will not compile on Darwin using gcc 4.2.1 2009-09-23 13:35:37 +00:00
robocop
dc9e7e7a4a Paul Beach confirmed this Darwin code is no longer necessary. 2009-08-01 05:37:08 +00:00
alexpeshkoff
86f3176307 Fixed CORE-2467: security risk in 2.5 beta1 2009-05-19 14:33:36 +00:00
robocop
fab6a3a6cf Get rid of superflous parentheses. 2009-02-28 11:57:40 +00:00
alexpeshkoff
0346cf6a83 Fixed a number of problems with file ownership and access rights on unix 2009-02-20 16:18:12 +00:00
robocop
6406e45337 Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.) 2009-01-02 06:36:12 +00:00
robocop
05c7a80586 Style. 2008-12-23 08:41:23 +00:00
robocop
e4650d5027 Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly. 2008-12-14 09:28:25 +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
7f4f7b06d6 Misc 2008-07-16 01:39:12 +00:00
robocop
87c7b393e0 Misc check. 2008-07-15 10:47:35 +00:00
alexpeshkoff
aeba7e6444 Fixed CORE-1957 & CORE-216: too many grants lose privileges. ACLs cleanup. 2008-07-11 13:50:59 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +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
robocop
d0899d284b Avoid referencing an element that may go out of scope before decoding the status vector. 2008-05-01 10:56:29 +00:00
alexpeshkoff
793091ff85 Fixed gcc warning 2008-03-17 09:08:14 +00:00
asfernandes
74d8711856 Misc 2008-03-08 21:20:26 +00:00
robocop
b1b7634b3d Since SCL_release changed meaning, it's necessary to adjust the name (SCL_release_all) and the comments. 2008-03-08 11:37:15 +00:00
hvlad
7d54298dea Fixed CORE-1775 : Improve performance of security checking 2008-03-06 13:13:31 +00:00
robocop
f8007f4071 Misc. 2008-02-24 03:23:40 +00:00
alexpeshkoff
39896cb955 Fixed CORE-1671: atexit() calls in client libraries cause segfaults
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory

To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.

Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
6666fd1e4a The merge continued. 2008-01-16 09:48:41 +00:00
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
robocop
fa1538a1ae Minor changes in MetaName usage. 2007-08-26 09:05:29 +00:00
alexpeshkoff
0e76fcf4f1 Better fix for that buffer overflow 2007-06-13 14:10:36 +00:00
alexpeshkoff
e84fb79cc2 Fixed possible buffer overflow 2007-06-13 14:04:59 +00:00
alexpeshkoff
4a4a01ee98 Restored old (SYSDBA) value of CURRENT_USER during BOOT_BUILD 2007-06-09 09:25:40 +00:00
alexpeshkoff
e5f1e63836 Fixed CORE-1312: A remote attacker can check, if a file is present in the system, running firebird server 2007-06-08 10:24:57 +00:00
alexpeshkoff
e18f8046bd Use symbolic names for authentication methods in firebird.conf 2006-12-17 14:02:23 +00:00
alexpeshkoff
01f2969e7f Added 'Authentication' parameter to firebird.conf 2006-12-10 12:31:15 +00:00
alexpeshkoff
6b537af439 A couple of improvements/cleanups, suggested by Adriano 2006-12-10 11:17:50 +00:00
alexpeshkoff
1a4652f01a Trusted authentication for windows 2006-12-08 18:38:15 +00:00
alexpeshkoff
8e025f304a Let windows embedded server work without specifying user name
and password. OS user name is used to be CURRENT_USER value.
2006-11-26 17:06:21 +00:00
alexpeshkoff
205a7303c3 1. Centralized validation of attachment to be a super-user attachment.
2. Fixed a couple of old problems, when sysdba could perform operations, but
   database owner - could not.
3. Fixed CORE-84 - nbackup operations were allowed for everybody who can login
   to the given database.
4. Disabled creating shadows and adding additional DB-files for non super-user.
2006-08-16 15:15:58 +00:00
asfernandes
2670981b70 Create common UCharBuffer based on Claudio and Alex suggestions 2006-07-31 15:43:20 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
e1e2dafa84 1) Replaced TEXT* with MetaName& in SCL.
2) Fixed SF #1396017.
2006-01-03 15:47:56 +00:00
alexpeshkoff
5274a7361c Security fix - temporary disable logins for clients, making too many wrong attempts to login 2005-08-23 06:52:55 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
alexpeshkoff
8a2e6d6c59 Better way for server to authenticate itself in security database. 2004-12-19 15:24:59 +00:00
robocop
98bf2c354f Nickolay compiler caught line without effect mine because I forgot the assignment. 2004-12-07 01:17:07 +00:00
robocop
b2542e3c11 Handle possible buffer overrun.
Constant for non-specified role.
2004-11-27 06:57:42 +00:00
alexpeshkoff
771d2a7a2b fixed problem with lost "authenticator" and "sweeper" user names 2004-11-07 14:35:25 +00:00
robocop
12e2d13d91 Get rid of unused function params. 2004-11-01 04:40:02 +00:00
robocop
6ea3416959 Redundant cast. 2004-10-20 00:13:08 +00:00
robocop
840bf14b36 If we are using namespace fb_utils, it doesn't make sense to prefix functions in it with fb_ again. Mechanical replacement made one by one (no bulk automatic changes). 2004-09-26 01:49:52 +00:00
robocop
1741432859 Got rid of redundant cast to jrd_req* 2004-08-26 11:07:57 +00:00
robocop
789c02213d Misc change 2004-07-07 03:41:27 +00:00
robocop
949830d0c6 1.- const correctness
2.- style
3.- Try to fix the mess caused by different data types used to represent bifields of SCL_ constants defined in scl.h,
first round. No circular dependencies found through MSVC. Still pending dyn* and grant.epp files.
2004-06-29 04:37:59 +00:00
alexpeshkoff
1591a54e5e Thread cleanup:
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
alexpeshkoff
9a34ce553c make bool (isEmpty/hasData) checks for string and stack safe 2004-05-27 16:26:52 +00:00
brodsom
64c1dee04e -Use C++ struct declaration style. 2004-05-24 17:31:47 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +00:00
brodsom
68cb86b274 - Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
brodsom
62a4b10c22 -Replace define with const
-Remove ifdef cplusplus from internal code
-Remove unused macros
2004-05-06 18:09:24 +00:00
alexpeshkoff
d5eb4fe928 use UCHAR instead of char for ACLs again 2004-05-06 08:42:15 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
alexpeshkoff
7b27fa55be fixed number problems after lls to Stack conversion 2004-04-21 14:14:36 +00:00
alexpeshkoff
045e9dc8ec 1. removed any mentions of blk_pool() from engine (and method itself)
2. replaced 'struct lls' with 'template Stack'
2004-04-18 14:22:27 +00:00
skidder
abdbec6f84 Switch to Firebird container templates for request resource tracking. This significantly reduces CPU time any memory consumption for databases with complex metadata 2004-04-18 02:50:38 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
alexpeshkoff
7007d6f2a4 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 14:57:40 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed 2004-03-01 03:35:23 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
brodsom
4285bc623c Removing gdsold.h and gds.h 2003-11-08 16:40:17 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
robocop
cda707bd36 const correctness and other related changes 2003-11-01 10:26:43 +00:00
robocop
484c6ec372 Cleanup, const correctness, variables in scope, etc.
Having done my best to merge everyone else's changes, I hope the tree can be build with whatever other tools != MSVC6.
2003-09-25 11:49:12 +00:00
dimitr
fcd454f620 Fixed my bug introduced recently. 2003-09-24 12:51:00 +00:00
dimitr
ec7f4ce18b Fixed bug with CURRENT_ROLE, introduced in early v1.5 development. 2003-09-23 14:21:43 +00:00
dimitr
dee43e66c0 One more correction 2003-09-21 11:22:36 +00:00
dimitr
76320c19d4 Correction 2003-09-21 09:50:33 +00:00
dimitr
fb23d73d70 no message 2003-09-21 09:15:30 +00:00
dimitr
e46c26b779 const correctness, bool, formatting, etc. 2003-09-21 07:57:12 +00:00
brodsom
6a2ef35fda -Remove NULL_PTR
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:16:03 +00:00
skidder
6eb0ad0e6d Optimize SCL_get_class function a little bit 2003-08-15 10:41:44 +00:00
skidder
bdbeb38959 Avoid storing and using pointers allocated from one request pool
in other requests. Make request access lists use view ID, not pointer
to view structure. This changes solve the crash reported by
Evgeny Kilin when altering complex recursive procedure->trigger chains.
2003-08-14 20:45:36 +00:00
aafemt
0d847dfce1 No more security during boot phase 2003-02-18 05:20:51 +00:00
bellardo
08a1d7447f Renamed two header files that conflicted with Darwin (and presumably other *nix ) system headers: pwd.h and math.h 2003-02-13 22:38:04 +00:00
dimitr
67749f906b Fixed exception handling. 2003-02-13 13:33:57 +00:00
dimitr
b096a2593d CONST -> const 2003-02-13 10:11:35 +00:00
dimitr
e7289b02b2 1. Re-designed PWD interface.
2. Implemented cached isc4 connection.
3. Cleanup.
2003-02-03 13:34:16 +00:00
hippoman
9a8f0768b9 Changed struct fld and FLD to local module names 2002-11-30 17:45:02 +00:00
dimitr
4764f22a3f Fixed porting bug that caused wrong privileges checks. 2002-11-21 15:37:27 +00:00
hippoman
4a76e9e4fe change TRA,REQ,TRG,REL,CTX or PRC, to module local names. 2002-11-17 00:13:59 +00:00
dimitr
9a76661ed2 Fixed one possible bug and one typo. 2002-10-13 10:30:50 +00:00
skidder
6d64014e57 Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now 2002-09-25 17:12:16 +00:00
dimitr
4211af9336 Added initialization of the local variable. 2002-09-22 13:29:08 +00:00