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
brodsom
64c1dee04e
-Use C++ struct declaration style.
2004-05-24 17:31:47 +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
9dbe1e64fe
-Remove casts unneeded after macro cleaning
2004-05-14 18:43:34 +00:00
brodsom
1ffe279896
-Avoid shadow warning
2004-05-12 19:39:17 +00:00
brodsom
b30a0b8799
Macro cleaning
2004-05-12 00:02:37 +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
brodsom
2f4865a195
Replace defines for constants
2004-04-29 14:51:02 +00:00
brodsom
5cf9fdfc90
Removing ib_stdio.h
2004-04-28 22:43:34 +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
alexpeshkoff
0acfd46d50
better memory allocation for csb_idx_allocation
2004-04-04 08:25:40 +00:00
alexpeshkoff
98aebc619a
changed csb_index_allocation to Array from str
2004-04-01 16:32:54 +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
alexpeshkoff
67f1740fea
Various cleanup to make engine compile and work after mentioned earlier changes.
...
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
robocop
2ab1f94dd2
Cleanup
...
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
arnobrinkman
9efc5a488b
some optimization in index-stuff
2004-03-07 21:50:53 +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
skidder
f99d7d5f9f
Fix MSVC7 build issue
2004-02-26 01:31:26 +00:00
skidder
b3d29d6511
Fix POSIX build issue
2004-02-26 00:32:31 +00:00
arnobrinkman
9ddf4b9450
Use compressed index-entries.
...
This will save 2 bytes on every duplicate entry and pagenumber / recordnumber are stored by 7-bits as needed.
2004-02-25 22:14:19 +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
robocop
2b295a9108
General cleanup. Sorry if I missed some occurrence.
2004-01-28 07:50:41 +00:00
robocop
b441cd9aef
Cleanup
2004-01-13 09:52:19 +00:00
robocop
06a4df3708
A requiem for JOURNAL and WAL.
...
Instructions in the list.
2004-01-06 10:33:18 +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
skidder
7dc877ff23
Fix ODS10 support after per-segment index selectivity was introduced
2003-12-31 22:40:09 +00:00
robocop
16cbc204df
Cleanup
2003-12-31 05:36:12 +00:00
arnobrinkman
8d69efa666
use standard memcpy / memmove functions and fix a bug with large-key index
2003-12-28 13:42:45 +00:00
robocop
ad0b5c4de3
General cleanup
2003-12-22 10:00:59 +00:00
dimitr
516ed97c39
Fixed my yesterday's bug.
2003-12-15 21:10:20 +00:00
dimitr
6ae0d51b91
IMPORTANT - this commit introduces an ODS change!
...
1. Added selectivity to idx_repeat and irtd
2. Let's make the selectivity array independent from ODS
3. Cleanup
TODO - use per-segment selectivities in the optimizer and get rid of idx::idx_selectivity for ever
2003-12-14 18:22:06 +00:00
arnobrinkman
bcaa8859d3
Fix some descending bugs i created
2003-12-11 23:06:36 +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
arnobrinkman
801b4f00bb
another descending problem
2003-12-04 00:55:26 +00:00
arnobrinkman
ce69dfce07
Fix bugs created by myself and the problem (finally ;-) why descending indices were slower as ascending in some cases.
2003-12-04 00:22:12 +00:00
arnobrinkman
bd7b3e08de
remove unnessecary code
2003-12-02 15:35:21 +00:00
aafemt
227f881dda
Wrong variable name fixed. Thanks to Claudio
2003-12-02 11:52:39 +00:00
brodsom
7844cc7cd4
Fix scope change that breaks posix build
2003-12-02 02:47:34 +00:00
arnobrinkman
710037031f
Enhanced Index Structure.
...
1) NULLs on top when sorting on ASC index, DESC stays the same.
2) Support for larger index lengths, can be up to 1/4 page size.
3) Store record-number on non-leafpages for faster lookup in many duplicates.
4) Jump-nodes for faster key-lookup in index on larger page-sizes.
5) Segment selectivity calculation added.
2003-12-01 02:37:25 +00:00
dimitr
f99e3373d4
Let's support segment-level selectivities. Amen.
2003-11-30 21:14:30 +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
brodsom
ff070a16a8
Replacing assert with fb_assert
2003-11-03 23:59:24 +00:00
aafemt
900fa62a1d
'struct' cleanup
2003-10-20 10:53:52 +00:00
brodsom
9757af1c66
Macro cleaning
2003-10-09 02:02:42 +00:00
brodsom
64c31be213
extern cleaning
...
removing underscores in macros
DLL_EXPORT cleaning
2003-10-03 01:34:14 +00:00
arnobrinkman
9759921ef9
Fix problem with MinGW build :-(
2003-09-21 00:38:22 +00:00
arnobrinkman
cc87aaae41
Before starting with the new index-structure i do some code clean-up.
2003-09-17 23:24:03 +00:00
arnobrinkman
7e024c858e
Remove IGNORE_NULL_IDX_KEY define.
...
Still to go : nav.cpp, nav_proto.h, ods.h, dba.epp
2003-09-16 23:19:46 +00:00
dimitr
dabc8fc047
Some cleanup
2003-09-16 17:08:44 +00:00
skidder
b05dc24810
Forward port removal of artificial index number limitation from 1.0.3.
...
Fix bug in dbb_max_idx calculation. Do not port GC and metadata versioning
changes as they seem very dangerous to me.
2003-08-18 21:13:56 +00:00
aafemt
5ca9856d5b
replacing BTR_get_quad() by get_long
2003-08-13 10:45:10 +00:00
dimitr
d25f1382fb
no message
2003-06-28 12:48:04 +00:00
dimitr
945bd0042a
Cleanup
2003-06-27 16:55:58 +00:00
dimitr
c17f3cc0df
Small cleanup.
2003-05-26 15:46:20 +00:00
dimitr
873ac89b67
no message
2003-05-05 14:25:40 +00:00
dimitr
3ad80a5611
no message
2003-04-11 07:28:47 +00:00
skidder
8fbe3f2d29
Fix up the reason of slowdown of Windows CS
2003-03-24 14:41:42 +00:00
brodsom
3bcad89ae7
Replace UTEXT with UCHAR
2003-03-18 02:03:46 +00:00
skidder
b68242f571
Fix up engine to work with multi-field foreign constraints again after nulls handing changes in unique indices
2003-03-09 21:07:29 +00:00
dimitr
d6932d887d
Allowed NULLs in unique indices.
2003-03-05 11:23:08 +00:00
tamlin
80a0e44eba
back out const-correcntess fix
2003-02-20 06:57:44 +00:00
tamlin
72f10a1fa2
const correctness and a quite large speed-up in BTR_get_quad for IA32 CPU arch.
2003-02-20 00:24:33 +00:00
brodsom
45efaaa7e0
Remove inline keyword.
2003-02-13 22:49:16 +00:00
dimitr
67749f906b
Fixed exception handling.
2003-02-13 13:33:57 +00:00
brodsom
6b884aa14d
Remove some unused defines & macros
2003-02-13 12:16:25 +00:00
dimitr
b096a2593d
CONST -> const
2003-02-13 10:11:35 +00:00
brodsom
6ec592a397
Remove DN10000 define (apollo)
2003-02-10 17:01:34 +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
brodsom
32ad3f4583
Change debug defines names to DEBUG_*
2003-02-10 00:03:54 +00:00
skidder
ba5e11b15c
Integrate new memory manager into the engine
2003-01-16 17:47:10 +00:00
dimitr
b4e1b71321
Cleanup.
2002-12-15 13:03:57 +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
seanleyne
b3ad604669
Removed support for obsolete "PC_PLATFORM" define
2002-10-31 05:06:02 +00:00
seanleyne
0b82f4aa07
Removed obsolete "Netware" port
2002-10-30 06:40:58 +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
eku
6380cea068
Removed compiler warnings. Fixed more SIG_FPTR issues. Use GNU C to check
...
format strings against arguments.
2002-09-24 12:57:10 +00:00
eku
4eaf8c0914
Autoconf cleanup:
...
o since the define 'VAX' was only used to tell that the byte order is
LITTLE_ENDIAN (it have nothing else to do with the VAX computer family)
it can safely replaced with '!WORDS_BIGENDIAN'.
o check if pointers are 64 bit
o replaced HAS_64BIT_POINTERS with 'SIZEOF_VOID_P == 8'
2002-09-17 05:58:40 +00:00
bellardo
773836f1b1
Finished removal of setjmp/longjmp code, and fixed a handful of FB1->FB2
...
porting bugs.
2002-04-04 07:10:40 +00:00
tamlin
80f7fb6dd4
New C++ memory pool
2001-12-24 02:51:06 +00:00
skywalker
365a7fe19c
Changes to compile fb2 under autoconf includes some structural changes
2001-07-29 17:42:23 +00:00
tamlin
9a776a604e
First steps towards a C++ conversion.
2001-05-23 13:26:42 +00:00