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

918 Commits

Author SHA1 Message Date
asfernandes
bf6c2c1dfe Correction. 2013-03-29 23:25:28 +00:00
alexpeshkoff
697ef0c127 Avoid reusing old dpb codes as it was suggested some time ago in devel - looks like we have enough of them 2013-03-29 07:39:15 +00:00
alexpeshkoff
6a48bd8e14 Fixed problems when config file is missing
Make config manager and it's external interfaces work with 64-bit integers
Added support for boolean values (like 'true' & 'yes') to external config interfaces
Added support for kmg multipliers to config manager
2013-03-28 13:43:18 +00:00
alexpeshkoff
e4356e4b46 Added operator include to config files 2013-03-27 11:45:02 +00:00
asfernandes
78c168c78e Work in progress standardizing the external engines API. 2013-03-25 15:59:38 +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
alexpeshkoff
afa0770781 1. Fixed broken by me a few time ago server shutdown.
2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?"
   Currently it's more or less ready for use with JAttachment::release().
2013-03-15 16:37:32 +00:00
asfernandes
09c26be42d Update generated file. 2013-03-07 15:29:22 +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
0d299d455a Remove FbMessage struct from the API.
This struct lost its main value (group various blr-related properties in a single parameter).
And since openCursor/fetch already split the message/buffer, it does not make sense anymore to have it.
2013-02-26 03:42:19 +00:00
asfernandes
53d4d58113 Change message buffers type to void*. It adds some casts, but avoid them in users' code. 2013-02-23 03:09:17 +00:00
alexpeshkoff
5ecced8462 Better names for statement's flags 2013-02-22 07:24:46 +00:00
alexpeshkoff
33b4336028 Enhancements of IMetadataBuilder 2013-02-21 14:59:24 +00:00
asfernandes
1d1f81bdc9 Replaced ICoerceMetadata with IMetadataBuilder and add a builder creator method in IMaster.
This change is to make applications who define they own message format (without metadata inspection and coercion) to easily create its IMessageMetadata.
2013-02-20 19:41:01 +00:00
asfernandes
fc9d355bf9 Misc. 2013-02-20 19:40:44 +00:00
alexpeshkoff
ba9413b26a Add IStatement::getFlags() to help user make a solution what to do with SQL statement 2013-02-19 11:20:49 +00:00
alexpeshkoff
7ab231a713 A number of fixes related with ICoerceMetadata interface - thanks to Adriano 2013-02-18 11:06:52 +00:00
asfernandes
ddc4d4eac3 Misc. 2013-02-17 23:06:40 +00:00
alexpeshkoff
fc12495d0e Modified IStatement interface in our API:
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
   therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +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
8be83d5844 misc 2013-01-08 15:03:01 +00:00
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
asfernandes
a8483163ee Fixed CORE-3929 - Error "attempted update of read-only column" when trying select minvalue from list with more than 255 elements. 2012-09-20 15:53:04 +00:00
dimitr
9f2a992078 Implemented:
CORE-2780: Include client library version and protocol version in mon$attachments
CORE-2187: Return the Hostname in mon$attachments
CORE-3779: Report OS user name in MON$ATTACHMENTS
+ some cleanup.
2012-09-12 07:45:51 +00:00
asfernandes
22fef2016a Feature CORE-3291 - New pseudocolumn to get number of transaction that created this record version. 2012-08-28 01:02:56 +00:00
robocop
f601bbdb8b Misc. 2012-08-08 02:20:30 +00:00
alexpeshkoff
561ef68248 Misc diags 2012-07-19 07:49:24 +00:00
asfernandes
a9324d3733 Misc. 2012-07-19 01:52:38 +00:00
alexpeshkoff
9bf5e60dfa Anti isc_random pass 2012-06-29 12:44:41 +00:00
alexpeshkoff
0fc893a4e1 Better names for API functions 2012-06-26 13:43:26 +00:00
alexpeshkoff
b91c68bb30 Cross-build support + android port: work in progress, currently can build fbclient for android 2012-06-22 11:39:24 +00:00
alexpeshkoff
477e14a820 Implemented CORE-2666: Make it possible to use API to do remote backups/restores 2012-06-20 11:47:30 +00:00
alexpeshkoff
ec99aff55f Implemented CORE-3594: Include expected and actual string length into error message 2012-06-06 11:06:31 +00:00
asfernandes
87ea81df34 Improvements to the UDR engines. 2012-06-05 15:31:32 +00:00
asfernandes
1dcad0fe90 Misc. 2012-06-03 03:00:24 +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
asfernandes
4a431dd696 1) Change UdrCpp triggers macros to match procedures and functions - first phase.
2) Adjustments to procedures and functions.
2012-05-29 16:02:39 +00:00
asfernandes
17ecd7f39b More C++-ish to the C++ API. 2012-05-24 15:56:36 +00:00
asfernandes
339da08ae3 Misc. 2012-05-23 15:44:43 +00:00
asfernandes
595bc63f5b Improvements and correction to external routines. 2012-05-23 15:39:27 +00:00
robocop
642d506cd9 Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. 2012-05-19 12:04:37 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
robocop
501f14a9d3 I plan to use this msg because the current one is misleading. 2012-04-10 01:38:57 +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
e0eda0c873 Fixed use of UTF8 strings in services 2012-03-15 15:05:31 +00:00
alexpeshkoff
a23cc5f472 Misc 2012-03-15 08:14:19 +00:00
alexpeshkoff
1d18be26d5 Changed order of args as requested by Claudio 2012-03-10 12:07:47 +00:00
hvlad
4041b0e780 Undo part of previous commit: it is not good to make internal type (ThreadId) as public 2012-03-01 15:42:24 +00:00
hvlad
adf02dd070 Misc 2012-03-01 15:27:23 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
alexpeshkoff
c881c9bc6c Always define appropriate macro before including pthread.h 2012-02-29 07:08:01 +00:00
asfernandes
aa2b0a02e1 Corrections. 2012-02-26 14:26:51 +00:00
asfernandes
1198014fcf Renamed error constant/message by Alex request. 2012-02-25 13:55:04 +00:00
alexpeshkoff
2a5e7e7f32 Implemented CORE-672: "Over the wire" connection encryption 2012-02-24 12:39:27 +00:00
asfernandes
df31dac958 Refactor GRANT and REVOKE commands. This eliminates the DYN subsystem. 2012-02-19 02:17:27 +00:00
robocop
d1fa698a13 Delete unused and wrong definition. 2012-02-15 03:36:04 +00:00
mapopa
25d006ecdf comment cleanup STEXT and UTEXT not used anywhere 2012-02-12 14:54:34 +00:00
asfernandes
27bb1f8bc1 1) Removed READ/WRITE BLOB sql commands. 2) Refactored request operations to fix server crashes. 2012-02-03 19:01:36 +00:00
asfernandes
e51ddc7a38 Misc. 2012-01-29 02:53:44 +00:00
robocop
32712c2c40 Misc and cleanup 2012-01-27 09:10:12 +00:00
dimitr
88336dfde3 Cleaned up and slightly refactored the XDR logic. 2012-01-25 07:13:53 +00:00
robocop
c333847adf Uninvited file went with others in the commit. 2012-01-24 09:26:07 +00:00
robocop
a12820300f Move hardcoded message to the msg db. 2012-01-24 03:04:28 +00:00
dimitr
f0112290c6 Disallowed deletions from RDB$DATABASE. This fixes the only problematic part of CORE-3735: Unprivileged user can delete from RDB$DATABASE, RDB$COLLATIONS, RDB$CHARACTER_SETS. The implemented solution could be used to protect other system tables from direct modifications. 2012-01-20 10:23:31 +00:00
alexpeshkoff
a91c034a37 Misc 2012-01-13 11:36:32 +00:00
dimitr
69cede6f1a Refactored CREATE/ALTER USER. Untested at runtime. 2012-01-08 18:33:59 +00:00
alexpeshkoff
1a4b65f4c2 Fixed overloaded virtual function error - thanks to Adriano 2011-12-26 10:05:29 +00:00
asfernandes
359f74e73a Misc. 2011-12-24 18:08:13 +00:00
asfernandes
d1f9bce0d6 Correction. 2011-12-24 17:59:53 +00:00
alexpeshkoff
7fb8ebd3a9 Fixed CORE-1898: Increase the password length from 8 characters, CORE-3372: Simplify process of non-default security database creation 2011-12-23 12:43:58 +00:00
dimitr
e7c9ebba12 Re-implemented the disabled code in the remote server. Cleaned up the legacy logic that doesn't look actual these days.
Some code refactoring.
2011-12-22 15:32:06 +00:00
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