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

193 Commits

Author SHA1 Message Date
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
asfernandes
e1ba33a2ae Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required. 2010-04-02 21:48:15 +00:00
robocop
e235d70e12 Misc. 2010-02-13 08:34:08 +00:00
dimitr
4c4a77a4fe Refactored SQZ into a class. Fixed all the SCHAR* pointers to be UCHAR* + appropriate cleanup.
Make the interface and internals friendly to any byte sequence, even the one longer than 32K.
2010-02-12 12:53:06 +00:00
asfernandes
0057047932 Misc 2009-12-30 00:50:39 +00:00
robocop
fc62cfe6e7 Misc. 2009-12-28 11:46:55 +00:00
hvlad
ce9fd62c3c Swept flag implementation.
A little optimisation of mark_full() - don't call it if not necessary, don't mark PP if its flags already matched to DP flags.
2009-12-28 09:11:20 +00:00
robocop
0564019d2f Misc and cleanup. 2009-12-24 11:48:17 +00:00
asfernandes
e386c68e8e Misc 2009-12-17 23:59:07 +00:00
hvlad
8c757b0f30 ODS change : implement dpg_secondary flag.
Other : make table scan skip secondary data pages, propagate record type to the store_big_record to allow record head be stored at the primary record page.
2009-12-17 09:50:28 +00:00
robocop
b2798cbd87 Misc. 2009-12-16 08:07:36 +00:00
asfernandes
b137cdfd80 Misc 2009-12-14 23:55:56 +00:00
hvlad
559494bfd3 A couple of ODS changes :
- abandon page checksums and use page number for validation
- PIP have now pip_used field to track number of allocated pages
- two more flag bits per data page is now reserved on pointer page. One is for the swept flag and second is still not used but makes calculations easy
- misc changes
Don't forget to rebuild your DBs !
2009-12-14 09:46:16 +00:00
robocop
f955568fc9 The architect created ODS12 and saw it was good, then he said "thy shall be the only one among your race", dropped the older ones and sent the developers to the four corners of the cyberspace to convert the masses to ODS12. 2009-11-27 02:33:40 +00:00
robocop
579a456329 Style. 2009-11-25 08:38:52 +00:00
robocop
804ad6048a Restrict us to ODS11 and ODS12 until the dust settles down. 2009-11-24 11:42:56 +00:00
asfernandes
13e1546a70 Misc 2009-11-21 00:10:16 +00:00
robocop
9ce4040042 Replace the now obsolete dbb_minor_original by dbb_minor_version. 2009-11-18 12:02:00 +00:00
robocop
afc138e9bc Generators page cleanup, as requested by Ann Harrison. 2009-11-18 11:54:21 +00:00
dimitr
e6909de7f7 Wipe out the SCROLLABLE_CURSORS code + minor cleanup.
Also, surfaced scrollability for PSQL cursors (without internal support yet).
2009-10-31 06:25:01 +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
asfernandes
9c1918d39b Misc 2009-10-15 02:15:31 +00:00
dimitr
78fcc3a1b5 Let's better use a context pool, if required. 2009-10-12 06:39:34 +00:00
hvlad
789b069820 Improvement CORE-2672 : Reduce precedence writes 2009-10-11 22:15:51 +00:00
robocop
3e66cd45f5 Comments. 2009-08-20 11:18:57 +00:00
robocop
de4be11750 Misc. 2009-07-13 10:00:43 +00:00
asfernandes
5dda9c1677 Misc 2009-06-27 03:03:56 +00:00
robocop
48377f4e35 Convert goto into a for() loop. 2009-06-25 10:59:10 +00:00
asfernandes
097b0ca2c2 Misc 2009-06-25 02:29:13 +00:00
robocop
bb2544fb47 Style. 2009-06-23 04:12:59 +00:00
robocop
bb83e70cfe Isolate even more the scrollable cursors-related code. 2009-06-22 08:45:38 +00:00
asfernandes
928d2616fd Misc 2009-06-19 02:29:08 +00:00
hvlad
c63ae53d19 Patch by DS and VKh to speed up SQZ in some cases 2009-06-10 12:41:13 +00:00
hvlad
643a6f933b Undo huge and not friendly fix for Sun compiler 2009-06-10 12:11:53 +00:00
alexpeshkoff
cf14a23b6f Fixed Sun compiler build 2009-06-10 10:09:01 +00:00
robocop
2e3ce0d23d Misc. 2009-06-07 09:49:58 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
asfernandes
283509ad8d Misc 2009-03-01 15:42:23 +00:00
robocop
fab6a3a6cf Get rid of superflous parentheses. 2009-02-28 11:57:40 +00:00
robocop
14733c1985 Align braces in relatively large or complex blocks. 2009-02-25 06:08:43 +00:00
hvlad
ff50ab26a2 Fixed bug CORE-2340 : Bugcheck 258 (page slot not empty) could occurs under high concurrent load 2009-02-24 08:19:11 +00:00
robocop
3689f15321 Style. 2009-01-20 08:33:59 +00:00
asfernandes
5311dd5a5e Misc 2008-12-20 19:57:43 +00:00
robocop
ff99dc3d46 Style. 2008-12-18 10:47:25 +00:00
robocop
511c7eb7d8 Promote thread_data* as function argument. 2008-12-14 10:19:27 +00:00
dimitr
1a943d1990 Splitted the undo log into two parts: in-memory one for initial undo items (but they're much more dense now) and on-disk (cached up to TempSpaceLimit) one for full record versions (used in update-in-place).
This dramatically reduces the memory usage for bulk updates, thus solving CORE-1575 (serious memory bug on multiple update a table in a single transaction) and CORE-1477 (Avoiding excessive memory consumption by undo-log after series of updates) and predicting out-of-memory conditions that could often lead to record-level corruptions.
2008-10-14 10:07:37 +00:00
alexpeshkoff
13a15d4bfe 1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +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
2c78462820 The merge continued. 2008-01-16 08:46:02 +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
asfernandes
c67afcb4ee Improvement CORE-1277 - Automatic transliteration of text blobs 2007-05-22 02:14:20 +00:00
robocop
64f6eb42a1 Misc. 2006-07-21 01:35:17 +00:00
dimitr
0b9db43702 Misc. 2006-05-31 08:29:29 +00:00
robocop
7040d668fd Misc. 2006-05-25 08:40:23 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
asfernandes
1a9279d068 Fix of VIO_DEBUG code 2006-05-22 17:41:10 +00:00
asfernandes
d2652c6252 Misc 2006-05-22 02:36:53 +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
robocop
d74438baed Fix the discordant data types between flags and the vars used to work with them (really dangerous if the flag is USHORT and you hold it in a UCHAR). Also, get rid of some debris of the uppercased typedefs. 2006-04-19 07:10:53 +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
alexpeshkoff
e85ee26ade fixed gcc warning(s) 2006-01-18 10:43:13 +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
dimitr
ccc9cfefe6 Restored the fragmentation logic I removed one year ago.
I cannot reproduce the old bug anymore and this code allows smaller version stubs.
2005-10-05 08:54:03 +00:00
dimitr
fde48e9530 Moved page-level code to DPM. 2005-03-29 09:43:31 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
robocop
1062dbc1e2 Restore check for negative rec number just in case. 2004-10-02 09:28:19 +00:00
skidder
85297ac45a Fix MSVC7 builds 2004-09-28 21:50:10 +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
1741432859 Got rid of redundant cast to jrd_req* 2004-08-26 11:07:57 +00:00
skidder
6b4dea743e Do not write rubbish from uninitialized stack variable into pad space of data pages 2004-08-12 21:18:11 +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
robocop
682b582764 USHORT -> bool 2004-07-07 03:47:12 +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
9dbe1e64fe -Remove casts unneeded after macro cleaning 2004-05-14 18:43:34 +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
5cf9fdfc90 Removing ib_stdio.h 2004-04-28 22:43:34 +00:00