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

172 Commits

Author SHA1 Message Date
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
alexpeshkoff
fe46856d1e use NULL pointer instead of temporal empy Stack - noticed by Claudio 2004-04-22 14:49:16 +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
badb9fa54a Allow to modify generators from read-only transactions again 2004-04-04 17:58:30 +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
bc2d0c08b4 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:12:39 +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
dimitr
138f874b7e If a transaction is committed and its buffers are flushed, never allow a generator page to be still cached.
Discussed with Oleg Loa and Vlad Horsun.
2004-03-07 15:32:01 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
robocop
2fa67d46bc Cleanup
Reduce reinterpret and C casts
Fix isql so it can show all predefined blob types in readable form.
2004-02-24 05:34:44 +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
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +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
skidder
cb6134b31f Fix another bug mentioned in SF#750664 2004-01-09 01:21:02 +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
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00