dimitr
6ae3e2cbaf
1) Fixed CORE-4383: Index and BLOBs garbage collection doesn't work for update_in_place().
...
2) Applied the same approach to temporary GC records.
3) Refactored the Record class to avoid reallocations, to improve encapsulation and to simplify the code.
4) Slightly refactored UndoItem to isolate its logic from the Record class.
5) Reduced the in-memory size of the undo log.
6) Slightly better alternative to the legacy NULL reporting for outer joins.
7) Minor fixes and adjustments in BufferedStream.
2015-02-19 14:15:00 +00:00
dimitr
29e238f78d
Type correctness (mostly signed->unsigned adjustments).
2014-12-29 21:15:54 +00:00
dimitr
bd3ce4e6fb
This commit is expected to fix CORE-4384: Problems when a table grows beyond 65535 pointer pages. Testing would be appreciated.
2014-12-29 17:40:47 +00:00
asfernandes
cebc7c36b3
Misc.
2014-11-30 21:09:39 +00:00
hvlad
f5e1502b63
Small optimization by Dimitry Sibiryakov:
...
set ppg_min_space to the next really non-full slot when current ppg_min_space slot is marked as full.
2014-11-21 12:23:19 +00:00
asfernandes
8b76cfcff8
Misc.
2014-10-12 19:33:09 +00:00
asfernandes
c642ddca82
Misc.
2014-10-12 02:25:02 +00:00
skidder
0030f9adeb
Fix warnings
2014-09-22 19:25:40 +00:00
hvlad
8ba9d33798
Implement improvement CORE-4556 : Allocate data pages in group of sequential ordered pages (extents)
...
Validation code will follow
2014-09-18 22:31:53 +00:00
skidder
7c743fc291
Fix build warnings
2014-07-17 18:48:46 +00:00
dimitr
153b06b2fd
Minor structure changes.
2014-06-13 16:28:22 +00:00
asfernandes
bb735cb5a2
Misc.
2014-05-23 02:12:56 +00:00
hvlad
714c151a2d
Front ported fix for bug CORE-4372 : Deadlock is possible when two data pages contains record fragments pointing to each other
2014-05-16 10:53:28 +00:00
robocop
4aeb269291
Use enumerations where possible (1).
2014-04-04 18:36:35 +00:00
robocop
9683418a7c
Shortcut.
2014-03-26 19:11:32 +00:00
robocop
ae8f6d6b8f
Misc.
2014-03-03 04:37:29 +00:00
robocop
b873d352fd
Make DPM_fetch_back return bool.
2014-02-25 06:31:39 +00:00
robocop
3460f121f6
Misc.
2013-05-21 21:47:23 +00:00
dimitr
941029af90
Correction as per Claudio's request.
2013-05-03 13:29:21 +00:00
dimitr
d0e20d5f8c
Pass the pool explicitly, it saves us one TLS access per record.
2013-04-06 09:12:14 +00:00
asfernandes
26ab241631
Misc.
2013-03-30 02:31:03 +00:00
hvlad
a418373026
Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention.
2013-03-21 08:23:39 +00:00
dimitr
680d1b4e34
Fixed CORE-4036: Bugcheck or database corruption when attempting to store long incompressible data into a table.
2013-03-17 14:39:09 +00:00
asfernandes
50475858e2
Misc.
2013-03-10 15:39:13 +00:00
hvlad
50c4099b92
Make tracing VIO works and more easy to use:
...
- log into file instead of console
- rebuild only small set of affected modules when VIO_DEBUG is changed
2013-03-10 14:48:17 +00:00
hvlad
0e766ce3d5
Fixed bug CORE-4002 : Error message "index unexpectedly deleted" in database trigger on commit transaction
2012-11-30 08:01:34 +00:00
hvlad
b6c6915693
Fixed bug CORE-3855 : Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page
2012-05-26 22:01:30 +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
hvlad
e67ae1a372
Undo patch for CORE-3468
2012-03-21 14:45:44 +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
robocop
eed418a89e
Make blb resemble more a class: private data members, convert some functions into methods, add methods with code that was in other files, etc.
2012-02-15 03:34:21 +00:00
asfernandes
add3d8ddef
Misc.
2011-06-08 01:55:13 +00:00
hvlad
945a1bdbf4
Fixed bug CORE-3515 : Index corruption. Validation put "missing entries" message into firebird.log
2011-06-05 08:15:33 +00:00
asfernandes
f14ec26183
Misc.
2011-06-04 02:18:55 +00:00
dimitr
f75b00b62d
Misc.
2011-06-01 17:03:14 +00:00
dimitr
df893a708d
Better (I hope) solution for CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. It also resolves the [temporary] inability to restore generator values.
2011-06-01 16:58:55 +00:00
hvlad
99c9c8e2db
Enabled background threads (garbage collector and cache writer).
...
Introduced special kind of system attachments used in this threads and show its activity in monitoring.
2011-05-27 07:57:16 +00:00
hvlad
fef1f49c94
Shared page cache implementation
2011-05-09 10:15:19 +00:00
hvlad
542d70ac61
Fixed bug CORE-3468 : Attempt to read after the end of file when nbackup state is stalled
2011-05-05 22:05:59 +00:00
asfernandes
03ce334e2b
Misc
2011-04-04 13:37:47 +00:00
robocop
43606cad9b
Misc, style, etc.
2011-04-02 04:27:07 +00:00
alexpeshkoff
f89ac854ef
Getting ready to use 32 (not 31) page and transaction numbers
2011-01-21 17:55:04 +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
2dc25a44bb
OSRI and new posix build
2010-10-12 08:02:57 +00:00
robocop
9eaa31856a
Cleanup.
2010-04-29 05:15:57 +00:00
asfernandes
0c47a04538
1) Use RAII with the non-cached requests.
...
2) Change GPRE generated code to something that fits the future SMP-aware engine, replacing calls of "request = CMP_compile2(...)" by "request.compile(...)". Boot build required.
2010-04-19 22:49:18 +00:00
asfernandes
39498cb65b
Use AutoCacheRequest in all cacheable system requests. Fixes some request leakages.
2010-04-18 15:04:52 +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
robocop
ac551e2b71
Cleanup.
2010-04-04 08:52:10 +00:00