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

264 Commits

Author SHA1 Message Date
asfernandes
553da033a1 Changed blob filter functions to throw exceptions instead of return status codes 2008-04-12 04:11:03 +00:00
hvlad
d8dce81b86 Create temporary page space on first reference of temporary page space ID. This allows to use temporary page space for blobs storage even if no GTT was referenced. 2008-04-09 17:21:23 +00:00
asfernandes
21da64cca7 Link blobs of autonomous transaction with the outer transaction - to fix invalid BLOB ID errors. 2008-04-05 19:28:52 +00:00
dimitr
580544fbd7 More changes targeted to a better error diagnostics. 2008-04-04 10:01:06 +00:00
dimitr
f715a3d796 More changes targeted to a better error diagnostics. 2008-04-03 08:10:14 +00:00
dimitr
0e9ae43558 Cleanup/refactoring. 2008-03-19 12:27:52 +00:00
asfernandes
0b6ecafe1b 1) Remove REPLAY_OSRI_API_CALLS_SUBSYSTEM code
2) Remove internal y-valve function INTERNAL_COMPILE_REQUEST
3) Go direct to engine internals from DSQL, without need to exit/enter the attachment lock and check exceptions in status vector
2008-03-07 15:23:21 +00:00
robocop
e9e1ead67a Mostly style, constness, native memcpy and explicit constructors. 2008-02-02 17:04:06 +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
1fa56f4cd7 The merge is being fixed. 2008-01-16 12:10:43 +00:00
dimitr
d4d587d155 The merge continued. 2008-01-16 08:16:36 +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
paulbeach
7602a29b94 HPUX Port 2007-11-12 14:26:44 +00:00
hvlad
b38d29c22b Fixed bug CORE-1584 : Server crashed or bugcheck when inserting in monitoring tables 2007-11-10 09:46:52 +00:00
alexpeshkoff
c4f6801e34 avoid cast 2007-11-01 17:19:54 +00:00
alexpeshkoff
abd533f545 Fixed CORE-1499: Wrong alignment of data, used in INTL converters 2007-10-05 14:37:33 +00:00
asfernandes
9a1eb5891b Misc 2007-05-23 15:29:53 +00:00
asfernandes
4c97cfc22b Correction 2007-05-23 10:48:00 +00:00
asfernandes
2e663f91b5 Improvement CORE-1280 - Verify well-formedness of text blobs 2007-05-23 02:26:27 +00:00
asfernandes
c67afcb4ee Improvement CORE-1277 - Automatic transliteration of text blobs 2007-05-22 02:14:20 +00:00
hvlad
9cfd2c8207 Fixed CORE-1247 : Blobs garbage collector removed wrong blob if going blob descriptor contains 0:0 (NULL value) but field's NULL flag is not set 2007-05-07 09:39:45 +00:00
alexpeshkoff
d63491e3c5 Finished gcc-warnings cleanup 2007-04-11 16:05:40 +00:00
alexpeshkoff
f0d465bf34 Fixed gcc warnings, general (un)signed usage cleanup 2007-04-11 09:28:50 +00:00
asfernandes
20299bb856 Misc 2007-03-24 17:44:09 +00:00
asfernandes
032a4b170c Don't leak memory after conversion to blob for store the value in a variable or parameter 2007-03-24 03:00:22 +00:00
dimitr
937333b619 An alternative attempt to fix the alignment issue. We don't need to track the entire blob_id, the record number part is enough. Hence there's no need to read the whole blob_id as int64.
Discussed with Vlad and Alex, tested on SPARC.
2007-03-23 11:25:41 +00:00
asfernandes
23dba8075c Fix problem where a temporary blob could not be returned to the client throwing "invalid BLOB ID" 2007-03-22 01:42:33 +00:00
asfernandes
bf5db7403e Fixed CORE-1169 - Conversion of temporary blobs to the destination blob type when materializing 2007-03-15 02:30:14 +00:00
asfernandes
7c72839ea2 Allow conversions from numbers to blobs 2007-03-09 15:42:17 +00:00
asfernandes
2100a06c84 Make MOV_move know how to move blobs.
This fixes CORE-1147: Blobs are not converted to string in UDF parameters.
2007-03-02 00:46:03 +00:00
asfernandes
2d26b3f5f8 Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases 2007-02-27 02:36:20 +00:00
robocop
d009be834f Misc. 2007-02-09 08:34:16 +00:00
asfernandes
0ac7d125cd Fixed CORE-1122 - Recursive Query bug in FB2.1 2007-02-08 14:46:58 +00:00
dimitr
543fc5e0d1 Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment. 2006-10-31 15:59:23 +00:00
robocop
e56aeea01a Cleanup. 2006-09-09 08:32:32 +00:00
asfernandes
eb4fb2f491 1) Concatenate of BLOBs
2) Start a refactoration on descriptor manipulations
2006-08-10 02:53:16 +00:00
asfernandes
df38d56bb5 Misc 2006-08-06 18:03:22 +00:00
asfernandes
da697e6e78 Work on CORE-655 - Blob Type 1 compatibility with VarChar:
Compatibility of blobs with others data types and different blob sub_types in assignments and CAST.
2006-08-05 19:52:26 +00:00
robocop
d2d3230637 Misc. 2006-07-01 08:50:21 +00:00
asfernandes
1dcdd0d3ca Misc 2006-05-25 03:15:53 +00:00
hvlad
18362ed19e Changes noted by Claudio 2006-05-24 11:38:16 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
asfernandes
24d936cd70 Misc 2006-05-22 01:29:06 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +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
asfernandes
22640e1189 BLB_put_segment can't write more than 64K in one shot.
Create BLB_put_data and use it. Thanks to Claudio.
2006-05-13 18:35:13 +00:00
asfernandes
7a9ab50851 Make everything that is convertible to string convertible to blob too 2006-05-13 01:24:55 +00:00
robocop
c5f2284b15 Style. 2006-04-06 08:18:53 +00:00
robocop
a8c34522a8 Totally misc. 2006-03-18 06:22:54 +00:00
asfernandes
53a61936d0 Misc 2006-03-18 01:57:16 +00:00
hvlad
25fb29b127 Fixed SF #1446987 2006-03-17 09:28:35 +00:00
robocop
1f84bac700 Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. 2006-02-23 05:08:26 +00:00
robocop
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
hvlad
961aea2f41 Correction 2006-02-03 22:05:04 +00:00
hvlad
00fdbbe579 Replace one fb_assert with BUGCHECK as Claudio suggested some time ago 2006-02-03 16:57:26 +00:00
dimitr
7dc2833785 Fixed one more compatibility issue with arrays. 2005-12-12 18:39:47 +00:00
dimitr
228d0ab300 Better error reporting. 2005-12-12 10:55:18 +00:00
dimitr
6aa3b33c79 Rolled back one of my previous commits.
We cannot forbid array->array assignments.
2005-12-10 10:25:08 +00:00
dimitr
f0b9e6d400 More changes re. blobs handling. 2005-12-06 10:11:18 +00:00
dimitr
6bbe2b239f Oops. 2005-12-05 12:45:42 +00:00
dimitr
9fde3787da 1. Cleanup.
2. Made array->blob assignments possible.
2005-12-05 12:40:22 +00:00
robocop
f00fc0ff56 1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
alexpeshkoff
62a24d46e4 1. Moved data structures, written to database file, into ods.h.
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +00:00
dimitr
3f5bb7564d 1) Prepare the blobs mover to be ready for dtype_blob variables.
2) Fix the string routines to work with PSQL blobs.
2005-11-25 15:20:26 +00:00
skidder
4ac89757a6 Fix the issue with bad incremental backups created when large blobs were changed.
Direct thanks to Hui Wang of BroadView QA team who chased down the problem.
2005-11-16 01:27:02 +00:00
hvlad
acc87f9e7f Fixed FB2 regression with blobs 2005-10-16 11:19:16 +00:00
dimitr
fd76a3eff0 Fixed SF #1211328. 2005-10-13 13:39:18 +00:00
robocop
a32d2f48b6 Totally misc. 2005-07-31 03:34:04 +00:00
robocop
6c89683142 Totally misc. 2005-07-31 00:45:38 +00:00
asfernandes
8b193dc794 Fixed field-test #1244126 - Update text BLOBs when connected with NONE charset 2005-07-25 12:01:19 +00:00
dimitr
894fa1e011 Removed unused thread scheduling option. 2005-06-12 06:27:12 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
skidder
3e6b170862 Roll back implementation of Claudio suggestion for consturctor of BID structure. It forced addition of constructors for message structures generated by GPRE which is not correct 2004-10-03 20:18:13 +00:00
skidder
36c4d7b832 Implement BID constructor as Claudio suggested 2004-10-01 21:12:46 +00:00
skidder
abe8670cbe Use slightly more hairy BID structure to work correctly on Sparc, PPC and other RISC platforms 2004-09-30 17:45:09 +00:00
skidder
02a0915156 Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally 2004-09-28 06:28:38 +00:00
robocop
6a8f60a552 Got rid of redundant cast 2004-09-15 03:47:43 +00:00
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
skidder
2dfaa5dc95 Fix for regression in DEV_BUILD I caused recently 2004-08-03 16:04:17 +00:00
robocop
1bbb740b98 Undo inheritance in ODS page types as requested by Nickolay. Either some macros are too silly or the compiler is limited by the standard here.
Notice I may have missed some file that's not compiled in Win32.
2004-07-10 03:20:33 +00:00
skidder
f4e7ebdd3b Implement rudimentary framework to track lifetimes of active BLOBs.
This solves the following issues:
1) Outrageous memory consumption when blobs are converted from strings during request processing
2) Materialization doesn't cause invalidation of BLOB IDs too early.
Original behaviour caused errors with updatable views or procedures receiving BLOB arguments.
2004-06-22 20:13:10 +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
bed146ad19 -Replace *_thread_data macros with inline functions (jrd step 2) 2004-05-23 03:18:10 +00:00
brodsom
f4ca41fa3d -Replace *_thread_data macros with inline functions (jrd step 1) 2004-05-22 14:28:54 +00:00
robocop
441817bd82 1.- Misc changes
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +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
brodsom
b30a0b8799 Macro cleaning 2004-05-12 00:02:37 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
brodsom
a549091c94 - Split sqlda.h to avoid duplicated definitions between ibase.h and sqlda.h
- Replace define for constants
- Remove contants.h where not used.
2004-04-30 22:47:16 +00:00
brodsom
2c0ab256cf Removing duplicated definitions between
ibase.h and blob_filter.h
ibase.h and constants.h
2004-04-29 17:48:39 +00:00
skidder
2689422538 Back out my block leak fix and return to 1.5.0 logic in this place 2004-04-27 01:45:53 +00:00
skidder
7472c7319a Use another approach to address memory leak when converting strings to blobs. This one works for updatable views 2004-04-25 21:52:42 +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
a23237df19 Undo my change for BLOBs in read_only transactions and add comment 2004-04-10 17:24:43 +00:00
alexpeshkoff
c8cb5dc1cf changed buffer allocation to Array from str 2004-04-01 15:11:10 +00:00
robocop
68c038d132 More cleanup. Get rid of obsolete files, too. 2004-03-30 08:34:14 +00:00
robocop
faa41f7b3b Cleanup 2004-03-30 04:10:52 +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
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
skidder
48995ca4b3 Fix memory leak from transaction pool happening during conversion from string to blob 2004-02-01 05:33:55 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
skidder
07c34616c6 Engine fully builds on Linux AMD64 now 2004-01-22 06:51:37 +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
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
skidder
c59ba8cfe5 Do not allow to create BLOBs or set generators from read-only transactions.
This should finally close SF#750664
2004-01-09 01:51:27 +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
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
84062732d8 More cleanup 2003-12-03 08:19:24 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
brodsom
89e8f89f86 Extern "C" cleaning 2003-11-06 03:03:36 +00:00
robocop
9ead7a37b4 const correctness
placed some variables in context
fixed some function signatures
closed a few possible buffer overruns
sorry to the platform maintainers, I can't verify what I did for non-Win32 builds
2003-10-29 10:53:47 +00:00
aafemt
900fa62a1d 'struct' cleanup 2003-10-20 10:53:52 +00:00
robocop
480c1ee968 const correctness 2003-10-08 08:42:48 +00:00
brodsom
64c31be213 extern cleaning
removing underscores in macros
DLL_EXPORT cleaning
2003-10-03 01:34:14 +00:00
brodsom
4a15406cd0 -Code format 2003-09-12 01:58:51 +00:00
brodsom
8624a7c209 -Use NULL instead 0 for null pointers
-Remove unneeded casts
2003-09-01 07:58:04 +00:00
brodsom
6a2ef35fda -Remove NULL_PTR
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:16:03 +00:00
aafemt
9dbf56310a sdl is UCHAR again 2003-08-15 10:23:46 +00:00
brodsom
e401cb40c7 -Fix cast warnings
-Fix signed/unsigned comparison warnings
2003-08-09 20:58:34 +00:00
aafemt
b672867147 sdl is a plain char again. Some cleanup around it 2003-07-24 10:21:42 +00:00
aafemt
19bb54f2a8 STATUS -> ISC_STATUS 2003-04-10 06:49:16 +00:00
brodsom
b9bdc2a2fe - Avoiding some signed unsigned comparisons 2003-04-03 13:52:42 +00:00
skidder
8fbe3f2d29 Fix up the reason of slowdown of Windows CS 2003-03-24 14:41:42 +00:00
brodsom
458eaa2b65 Use the same ifdef for function declarations and definitions. (found with gcc never defined warnings) 2003-03-01 18:04:21 +00:00
brodsom
17632bddca Remove warnings 2003-02-20 00:10:25 +00:00
brodsom
3cb91fce80 Remove PIPE and STACK defines (PIPE_SERVER, PIPE_CLIENT, PIPE_LIBRARY, PIPE_SERVER_YVALUE, PIPE_BRIDGE_TO_V3, V3, V3_PATH, ALTPIPE)(STACK_EFFICIENT, STACK_REDUCTION) 2003-02-14 02:24:44 +00:00
dimitr
67749f906b Fixed exception handling. 2003-02-13 13:33:57 +00:00
eku
a7f18b2e31 Removed "register" variables from the source code. It's up to the compiler
to hold variables in CPU registers.
2003-02-10 13:28:35 +00:00
skidder
ba5e11b15c Integrate new memory manager into the engine 2003-01-16 17:47:10 +00:00
hippoman
9a8f0768b9 Changed struct fld and FLD to local module names 2002-11-30 17:45:02 +00:00
dimitr
53d61c2997 Cleanup. 2002-11-25 10:24:49 +00:00
hippoman
7387e6fb70 changed nod,tra,req,trg,rel,ctx,prc struct names to local module names 2002-11-20 23:18:16 +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
5f61e44ddc Global names change:
FBOK=>FB_SUCCESS
FAILURE=>FB_FAILURE
xxx_FBOK=>xxx_SUCCESS
2002-11-14 08:33:08 +00:00
kkuznetsov
6887f405ab Renaming all occurences of SUCCESS to FBOK 2002-11-13 15:01:21 +00:00
hippoman
25c1dbd367 * Changed NOD struct name to JRD_NOD. 2002-11-11 19:42:47 +00:00