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

47 Commits

Author SHA1 Message Date
alexpeshkoff
d513daa574 Divide IStatus information into 3 parts: errors, warnings and completion code.
Errors and warnings are processed in IStatus independently. Completion code
is moved away from IStatus and returned directly by appropriate functions.
Replaced isSuccess() with more generic function getStatus(), which sets
appropriate bits in returned value when errors/warnings are present.

Also use same style when returning bytes' array and it's length in different
interfaces.
2014-08-27 09:24:30 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
alexpeshkoff
a9721f18e0 Added first parameter IStatus* to a lot of functions in API interfaces 2014-07-02 12:57:12 +00:00
alexpeshkoff
86d9a11f6c Mac port 2014-02-26 12:31:20 +00:00
alexpeshkoff
83db69c849 Fixed new gcc 4.7 warning "deleting object of polymorphic class" in many places. Adjusted use of interface types (reference counted vs just vesrioned). Avoided some hacks caused by badly chosen interface type. 2013-11-18 12:20:23 +00:00
asfernandes
e4bbefd170 Misc 2013-06-11 15:57:30 +00:00
alexpeshkoff
b9a96911ca Avoid extra atomic operations when assigning pointer to the object with pre-incremented counter (like returned from the function) to reference-counted pointer holder 2013-04-17 11:16:06 +00:00
asfernandes
ee953572eb Work in progress standardizing the external engines API. 2013-03-25 15:34:15 +00:00
asfernandes
b9bc308a72 Work in progress fixing external triggers. 2013-03-23 21:12:27 +00:00
asfernandes
48fd751c6e Fixing FB_MESSAGE macro and external functions and procedures.
Isolate external routines them from request-based ones.
2013-03-04 01:42:58 +00:00
asfernandes
491fdd82b2 Unifying the external engines API with the new ones. 2013-02-15 02:48:54 +00:00
asfernandes
dc8e42e9bb Migrate external triggers to the new message-based style. 2013-01-29 01:21:32 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
asfernandes
87ea81df34 Improvements to the UDR engines. 2012-06-05 15:31:32 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
alexpeshkoff
1ceb4847e1 Make plugins use passed instance of master interface, not one got from fb_get_master_interface(). This helps in case when >1 fbclient libraries is loaded by process. 2012-03-26 11:34:52 +00:00
alexpeshkoff
1d18be26d5 Changed order of args as requested by Claudio 2012-03-10 12:07:47 +00:00
hvlad
7124c3bc15 Fixed Win32 build 2012-03-02 12:12:15 +00:00
asfernandes
ec14b1aac0 Replace reinterpret_casts to static_casts. 2012-02-26 14:26:23 +00:00
alexpeshkoff
2a5e7e7f32 Implemented CORE-672: "Over the wire" connection encryption 2012-02-24 12:39:27 +00:00
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
asfernandes
edcde31b79 Remove the old getVersion method from external engines. 2011-07-13 02:10:28 +00:00
asfernandes
cd7c8dee95 Use the BLR message definition of external procedures and functions. 2011-07-10 01:23:53 +00:00
alexpeshkoff
18ef64b242 Fixed UnloadDetector in a case when it gets linked in non-plugin module 2011-06-14 11:34:26 +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
asfernandes
7ad98cd292 Work in progress on the external engines API changes. 2011-06-01 01:44:54 +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
69dc52ba48 Integrate IAttachment and ITransaction in the external engines API. 2011-05-07 19:52:44 +00:00
alexpeshkoff
bbf146f918 Renamed a number of functions to match Dmitry's requirement 2011-04-11 11:12:21 +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
alexpeshkoff
9ef53b65e0 Remove reference counting where not appropriate 2011-03-31 13:44:22 +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
hvlad
dca44e309d Make it compiles on Windows after Alex's changes. MSVC10 build will follow later. 2011-01-24 12:51:32 +00:00
asfernandes
27be9721a5 Correction 2011-01-17 19:28:20 +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
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02: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
asfernandes
ccd83436a1 Misc 2010-05-01 17:34:46 +00:00
asfernandes
850b9248dd Fix UDR engine config file 2010-05-01 17:08:56 +00:00
robocop
b02d70c8fd Use correct English. 2009-11-06 05:27:22 +00:00
robocop
5ed1680699 Misc. 2009-11-03 07:36:20 +00:00
asfernandes
2e32ff0ed3 Fix build with a clean checkout 2009-11-02 03:01:49 +00:00
robocop
6b997b901f Misc. 2009-10-30 10:59:52 +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