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

795 Commits

Author SHA1 Message Date
asfernandes
016ddf41dc Refactored CREATE FILTER and CREATE INDEX. 2011-11-27 19:08:06 +00:00
asfernandes
b956356922 DDL refactor: ALTER EXTERNAL FUNCTION, ALTER INDEX, SET STATISTICS, CREATE SHADOW, ALTER ROLE, CREATE/ALTER DATABASE. 2011-11-22 16:33:25 +00:00
asfernandes
193f9379b9 Refactor DDL commands: DROP INDEX, DROP FILTER, DROP SHADOW, CREATE/DROP ROLE and DROP USER. 2011-11-13 21:32:12 +00:00
asfernandes
45327bf06b Feature CORE-3018 - RECREATE SEQUENCE/GENERATOR. 2011-11-10 14:55:06 +00:00
asfernandes
e090671523 Apply CORE-3114 patch (Attempt to drop non-existing generator produces bad error) with some modifications. 2011-11-09 15:30:00 +00:00
asfernandes
c627005a89 Feature CORE-3626 - Subfunctions in PSQL and EXECUTE BLOCK.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBFUNC_1.output.

Also did:
- Refactor to share more code/data between procedures and functions.
- Fixed some PSQL functions problems.
2011-10-16 20:36:07 +00:00
alexpeshkoff
70ddf7a875 Make services work correctly with multiple security databases 2011-10-04 12:51:57 +00:00
asfernandes
5ae632cf0b Feature CORE-1288 - Sub Procedures.
They're very simple for now. No access to parent variables nor to call neighbour procedures.

Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBPROC_1.output.
2011-10-02 22:11:41 +00:00
asfernandes
b7fefbc751 Make easier to use hardcoded messages. 2011-09-03 20:19:58 +00:00
alexpeshkoff
417b13b2a2 Make diagnostics about wrong array subscript a bit better 2011-08-02 09:26:49 +00:00
asfernandes
42850d55b8 Misc. 2011-07-16 18:49:28 +00:00
dimitr
d9e4c3eac0 Completed some missing parts of the PSQL functions implementation. Adriano, please review. 2011-07-15 11:52:16 +00:00
dimitr
d455d15bfe Implemented COMMENT for function arguments. 2011-07-15 08:54:00 +00:00
asfernandes
cb38cfe114 Correction and improvement to the config system. 2011-07-14 15:56:40 +00:00
dimitr
496ab098c4 Removed the accidentally committed lines. 2011-07-14 15:34:21 +00:00
dimitr
ffa0c84d97 Added the missing RDB$SYSTEM_FLAG and RDB$DESCRIPTION columns into RDB$FUNCTION_ARGUMENTS. 2011-07-14 15:27:25 +00:00
asfernandes
edcde31b79 Remove the old getVersion method from external engines. 2011-07-13 02:10:28 +00:00
asfernandes
06430c488b Fixed problems in public headers. 2011-07-12 16:07:05 +00:00
asfernandes
cd7c8dee95 Use the BLR message definition of external procedures and functions. 2011-07-10 01:23:53 +00:00
robocop
e3f52f2520 Misc. 2011-07-07 07:58:02 +00:00
alexpeshkoff
13e0341fea Use interface-based API in remote server. Use stable "next" pointers in yvalve. 2011-06-29 09:41:47 +00:00
asfernandes
4f5dd005ac Work in progress on message-based external functions and procedures. 2011-06-26 15:57:55 +00:00
asfernandes
5a414ee680 Add boost files for FB_MESSAGE. 2011-06-26 15:56:56 +00:00
hvlad
ab4e88d49e Missed FB_CARG 2011-06-13 11:08:26 +00:00
robocop
f65d84596b Misc. 2011-06-11 06:12:53 +00:00
alexpeshkoff
40348295e1 Used upgradeInterface() in a number of places.
Fixed memory leak when unloading module, related with upgraded interfaces.
Fixed timer on posix to be high resolution.
Better diagnostic in services.
2011-06-10 12:53:51 +00:00
asfernandes
5ffa6c77c8 Move v3 public include files to src/include/firebird. 2011-06-02 15:57:08 +00:00
alexpeshkoff
ffbf088273 Fixed CORE-3462: Add metadata only restore to Services API 2011-06-01 10:38:41 +00:00
asfernandes
7ad98cd292 Work in progress on the external engines API changes. 2011-06-01 01:44:54 +00:00
alexpeshkoff
3ef46d7fa8 Frontported fix for CORE-3482: nbackup ctrl-c segfaults and leaves db locked (delta file continues to grow) 2011-05-25 12:59:41 +00:00
alexpeshkoff
564b482fa9 Slightly better struct layout from cunning alignment POV 2011-05-23 11:45:09 +00:00
asfernandes
7dbe11c98a Correction. 2011-05-21 19:10:11 +00:00
asfernandes
19cbed237b Misc. 2011-05-21 18:56:02 +00:00
asfernandes
a4a71bbea5 Correction. 2011-05-21 18:55:14 +00:00
alexpeshkoff
4641d2de68 Better interfaces hierarchy: all of them are derived from IVersioned 2011-05-19 16:24:46 +00:00
alexpeshkoff
85b3b5cf95 Interface for 2PC (distributed transactions coordinator) 2011-05-19 11:38:38 +00:00
asfernandes
983686d71c Added IRoutineMetadata to external engines.
Not well tested:
1) EE is broken after shared page cache.
2) Semantics of addRef/release still keeps changing in developers minds.
2011-05-15 15:37:11 +00:00
asfernandes
5e854fe20f Remove "#pragma GCC system_header". Current build with GCC 4.5.2 and clang 2.8 shows no related warning.
This pragma was interfering with -MMD dependency output, causing crashes after full build when the API is changed.
2011-05-08 17:53:37 +00:00
asfernandes
69dc52ba48 Integrate IAttachment and ITransaction in the external engines API. 2011-05-07 19:52:44 +00:00
alexpeshkoff
c076b1d8c1 Added delay before unloading plugin module after last reference to that module outside plugin manager is gone 2011-04-29 16:24:27 +00:00
alexpeshkoff
256cb1e853 1. Use reference counted stable in global pool objects instead PublicHandle's validation.
2. Avoid massive segfaults when closing heavily loaded server.                                                                                 
3. Restored logic in YValve required for correct shutdown.                                                                                    
4. Do not change externally visible request body when preparing it.
2011-04-25 17:47:56 +00:00
asfernandes
b781d62d4a Make the new BLOB API use void* buffers, so applications can read/write char* strings or any other type without casts. 2011-04-15 18:54:02 +00:00
asfernandes
c63493ffba Added metadata support to IStatement. 2011-04-14 01:03:43 +00:00
alexpeshkoff
437d841cfa Rolled back my commit using IBlrMessage interface. Replaced with single plain structure FbMessage. 2011-04-13 12:41:40 +00:00
alexpeshkoff
bbf146f918 Renamed a number of functions to match Dmitry's requirement 2011-04-11 11:12:21 +00:00
asfernandes
04bb4ba305 Remove unused parameter and rename a constant. 2011-04-09 20:00:00 +00:00
alexpeshkoff
9a4689d3e9 Use interface IBlrMessage instead passing C++ class pointer to API interface's functions 2011-04-08 16:43:05 +00:00
alexpeshkoff
4c3f87d6bd Continued renaming interfaces. Added comments 2011-04-08 15:18:50 +00:00
alexpeshkoff
5c88e478f6 Use better names for a number of objects according to Vlad's suggestion 2011-04-07 17:16:00 +00:00
asfernandes
204b0b8d32 Remove CleanupCallback from the public header. 2011-04-02 21:41:17 +00:00
asfernandes
20bfe736bb New YValve implementation. 2011-04-02 19:38:50 +00:00
alexpeshkoff
9ef53b65e0 Remove reference counting where not appropriate 2011-03-31 13:44:22 +00:00
asfernandes
166c41c5b1 Move transactRequest, createBlob, openBlob, getSlice, putSlice and ddl from ITransaction to IAttachment.
It's better to have one standard than two, and "ddl" was broken from API POV.
So make the IAttachment always the caller, explicit or implicit (via IStatement or IRequest), and pass the ITransaction as parameter.
2011-03-21 21:56:47 +00:00
asfernandes
c863db6e6d Removed commented out Sqlda support and rename methods removing the word 'messsage'. 2011-03-20 19:15:55 +00:00
asfernandes
34fd6866bc Remove unused message types. 2011-03-20 19:15:13 +00:00
asfernandes
d9f90b811f Names 2011-03-20 19:14:28 +00:00
asfernandes
2ce201f4ae Use MessageBuffer in executeMessage and fetchMessage. 2011-03-20 19:14:03 +00:00
alexpeshkoff
f6914b8db0 Added timer-related interfaces. Added helper method to wait for plugin to be released on shutdown. Misc stability changes in PluginManager. 2011-03-16 11:04:04 +00:00
asfernandes
bbbab07d82 Misc 2011-03-10 15:54:52 +00:00
asfernandes
146448b877 Misc 2011-03-06 01:06:36 +00:00
alexpeshkoff
7c8bacb692 Detect forced unload of plugin by OS when process is exited 2011-03-04 15:49:37 +00:00
alexpeshkoff
0a7c3fc69d Fixed CORE-3369: first step to make it possible to specify non-default security database for specific database 2011-03-02 13:42:56 +00:00
asfernandes
97da335f60 Removed the legacy DSQL hash table module (HSHD). 2011-02-26 21:52:47 +00:00
asfernandes
2096bd7239 Refactor DSQL exceptions: nod_on_error, nod_sqlcode, nod_gdscode, nod_exception and nod_default. 2011-02-25 02:52:51 +00:00
asfernandes
f26d9a4b14 Fixed CORE-3201 - ATAN2 returns incorrect value for (0, 0). 2011-02-03 14:51:50 +00:00
alexpeshkoff
89d82bd9fc MT safety and exceptions processing in upgradeInterface 2011-02-01 13:11:30 +00:00
asfernandes
b0f702e7bd Another small refactor on variables in DSQL. 2011-01-31 14:47:41 +00:00
alexpeshkoff
6a2a22ec28 It was useless here 2011-01-19 17:22:19 +00:00
alexpeshkoff
86df15917b Fixed calling conventions in interfaces - thanks to Dmitry Kovalenko 2011-01-17 14:13:57 +00:00
asfernandes
233093cee4 Misc 2011-01-16 02:16:15 +00:00
alexpeshkoff
d6fcde387b New plugin manager. Use it for all types of plugins. 2011-01-14 17:31:40 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
dimitr
7eded400e8 Let's clearly distinguish between deterministic and invariant functions, they're not the same thing actually. Runtime optimization usage is to be re-considered, if necessary.
Warning: this includes an ODS change, please boot-build.
2010-11-13 15:03:44 +00:00
dimitr
086adbac30 Fixed the Windows build. 2010-11-11 07:41:56 +00:00
alexpeshkoff
0ab6c4abf7 Avoid throwing C++ exceptions from authentication plugins 2010-10-28 08:02:42 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
c6932824f7 Full fix for CORE-3024 2010-10-13 09:15:48 +00:00
asfernandes
91384eb587 Misc 2010-10-12 17:40:27 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
asfernandes
ad57aa29a1 Refactor CREATE/ALTER/CREATE OR ALTER/RECREATE VIEW and cleanup related to previously refactors 2010-08-02 02:22:26 +00:00
asfernandes
96cd57ba83 Better error reporting and adjustments 2010-07-29 00:36:31 +00:00
asfernandes
0b7c21172a Refactor CREATE/ALTER/DROP/RECREATE TABLE and DROP VIEW commands 2010-07-26 02:37:57 +00:00
alexpeshkoff
d24cd9cbd7 Implemented self-registering plugins format (same plugin can be easily linked statically
or as dynamic library, depending upon platform requirements). Self-registering plugins
need not export any functions, instead they call fb_register_plugin() on startup.

Reworked all user management to use self-registering plugins.

Removed system table RDB$USERS. PLG$USERS is not created automatically by plugin, but
will be later (work in progress).
2010-07-23 12:04:18 +00:00
alexpeshkoff
88db8b2fbc ODS change: made RDB$USERS system table, added virtual table SEC$USERS 2010-07-09 12:51:05 +00:00
asfernandes
f2c938d9fa Refactor CREATE/DROP COLLATION 2010-06-26 01:52:06 +00:00
asfernandes
b36b9764ce Misc 2010-04-16 02:31:36 +00:00
alexpeshkoff
88b8a40a04 1. Cleaned up most of SUPERSERVER usage.
SUPERSERVER has 4 different meanings in our code:
- this is milticlient server (replaced with Config::getMultiClientServer())
- use shared data cache (replaced with Config::getSharedCache())
- use shared metadata cache (replaced with macro SHARED_METADATA_CACHE)
- database are NOT shared between processes (replaced with getSharedDatabase())

2. Use fb_smp_server as both superclassic and classic binary on posix
(xinetd autodecection is done).

3. Small posix build cleanup.
2010-04-15 14:40:27 +00:00
dimitr
ab42a23369 Corrections for SQL states. 2010-04-09 08:03:41 +00:00
asfernandes
68b5c1df6f Cleanup 2010-04-07 16:32:12 +00:00
asfernandes
fd8a4d3b00 Small cleanup 2010-04-06 01:13:22 +00:00
alexpeshkoff
bf0c113988 Cleanup SUPERSERVER - this code is not needed in FB3 2010-03-23 11:55:09 +00:00
asfernandes
2ed85aef29 Misc 2010-03-21 23:01:30 +00:00
dimitr
8e579e0359 Commit the forgotten file, sorry. 2010-03-21 17:55:41 +00:00
asfernandes
77a2706b73 Misc 2010-03-01 02:14:36 +00:00
asfernandes
55b245bbac Implement Claudio' suggestion of explicit message about access to private packaged routines 2010-02-25 15:56:39 +00:00
robocop
e5cd58ecbe I hope nobody will mind if I reuse this constant for the future. 2010-02-14 10:57:30 +00:00
alexpeshkoff
43653efb47 Reserved error code for 2.5 fix 2010-02-01 14:04:05 +00:00
alexpeshkoff
55e717f810 Moved authentication code from engine to remote listener.
Get ready for authentication plugins.
2010-01-22 14:55:11 +00:00
dimitr
b795f91267 Misc. 2010-01-14 08:42:33 +00:00