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

182 Commits

Author SHA1 Message Date
hvlad
4ec502a7f6 a) Refactor sort module. All related sort_work_file management moved into TempSpace class now. Former sort_work_file is now TempSpace::Segment
b) Add parameter names to declarations of TempSpace methods. It make sources much more readable, i believe, and allow IntelliSense to make useful hints
c) Reworked sort module to use more memory for merge buffers. It significantly increased speed of large sorts. Memory mostly reused from TempSpace memory blocks
2007-04-03 12:57:32 +00:00
alexpeshkoff
9068d7787f Frontported alignment and endianess fixes from 2.0 2007-03-25 16:09:00 +00:00
hvlad
b3dcfede36 Close external table's file when relation is not used by the engine.
This is simplest fix for bug CORE-132 (Restore fails on external table) and CORE-961(Free external tables)
2007-03-19 21:34:52 +00:00
robocop
b94c6d20e5 Misc:
- DSC_EQUIV is no longer a macro; no need to wrap arguments in extra parenthesis.
- Make reinterpret's explicit.
- No need to cast dsc_address to UCHAR* since it's already of this type.
Hope I didn't screw someone.
2007-03-12 09:13:15 +00:00
dimitr
1b44f36eda Front-ported RISC-specific fixes. 2007-03-09 08:11:10 +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
hvlad
af5ef6ad73 Fixed CORE-1146 : AV in rse\invalidate_child_rpbs for recursive queies 2007-03-01 13:34:44 +00:00
hvlad
2e343c74ef Implement improvement CORE-1069 : Optimize index scan when more than one index scanned and ANDed 2006-12-27 21:01:02 +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
asfernandes
feea41adb4 Misc 2006-10-18 20:25:26 +00:00
hvlad
6d7acf880b Fixed bug in recursive CTE implementation 2006-10-18 09:21:34 +00:00
hvlad
ba2836868f Fixed broken handling of recursive CTE's 2006-10-18 08:41:03 +00:00
robocop
870b1a0363 Misc. 2006-10-08 06:43:59 +00:00
dimitr
988782a96a 1) A new class to handle aggregated multi-level performance counters.
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
asfernandes
5c26d54f02 1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
asfernandes
151bbaf9ce Fix MSVC6 build 2006-08-02 19:45:49 +00:00
asfernandes
a34dcf3722 Misc 2006-08-02 01:43:50 +00:00
hvlad
b20aa92714 Common table expressions implementation 2006-08-01 20:37:58 +00:00
dimitr
af6cdd9262 More protections. 2006-07-28 09:15:32 +00:00
dimitr
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
robocop
dfadf32400 Delenda est SMALL_FILE_NAMES. 2006-06-08 04:51:45 +00:00
robocop
b1f0e2efa6 Get rid of redundant cast. 2006-06-02 08:39:11 +00:00
dimitr
7cc12e8489 1) Reworked memory management in SORT. Now we're pools aware there.
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
asfernandes
7bfbe63f82 Misc 2006-05-24 03:03:52 +00:00
asfernandes
8dfca54dda Complete Dmitry's cleanup of all_proto.h 2006-05-23 12:23: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
dimitr
87e2747b4a Bugfix by George Sergeev. 2006-05-17 11:14:30 +00:00
asfernandes
6df3f27648 Misc 2006-04-07 02:58:06 +00:00
robocop
c5f2284b15 Style. 2006-04-06 08:18: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
dimitr
77dafd90c3 More clever solution for bug #459059.
Deoptimization of NOT ANY is no longer necessary.
2006-02-15 13:34:35 +00:00
robocop
5bbaab13c9 This is why we put {} around if/else always: to avoid errors like this one, where indentation is not what the compiler follows. 2006-02-10 03:35:37 +00:00
robocop
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
kkuznetsov
1498ba48ed Fix aligment issues on Solaris sparc V9 (64 bits) 2006-02-09 15:50:43 +00:00
robocop
2b99e764e3 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>)
2006-02-02 07:32:07 +00:00
robocop
c2fe7385ab The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Second step: remove them from #include clauses in other files. More to come.
2006-02-01 08:55:43 +00:00
dimitr
1293d9fd97 Fixed bug related to expression indices vs. collates, reported by Ivan. 2006-01-15 16:04:39 +00:00
robocop
d57942f544 Isolate scrollable cursors (checked by Dmitry Y.) 2005-12-31 05:58:36 +00:00
dimitr
9c4e81ad19 Fixed SF #1292106. 2005-12-12 10:52:30 +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
robocop
8f2a9719af Totally misc. 2005-11-06 06:23:31 +00:00
robocop
4ec65d006a Get rid of some redundant or unused stuff. 2005-11-06 03:31:16 +00:00
dimitr
e3578f5912 Fixed reported issues with ROW_COUNT. 2005-06-24 12:56:34 +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
0601ed34a6 fixed declarations of gds__temp_file() parameter -
buffer overflows were possible
2005-05-14 10:42:58 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
skidder
f44f06d085 Fix the memory leak from transaction pool when selectable stored procedures are called from PSQL or in subqueries 2004-12-07 01:19:55 +00:00
dimitr
f3590f5ef7 no message 2004-11-20 12:15:08 +00:00
hvlad
13730a72a8 Fixed broken unique index creation found by Adriano dos Santos Fernandes (unique indices can be created with duplicate keys) 2004-11-01 07:51:55 +00:00
robocop
524c1b8882 Misc. 2004-10-30 05:12:52 +00:00
skidder
37698bf841 Go back to passing pointers to impure areas instead of direct bitmap pointers. The approach I tried doesn't work with nod_bit_in correctly and doesn't seem pretty to me anymore 2004-10-29 00:29:17 +00:00
skidder
e7944f126c WITH LOCK could have been ignored or applied to randomly wrong table if used with FIRST and/or SKIP in stored procedure or trigger. There are 3 other places in the engine (fetch_left, OPT_compile, get_record) still using the same idiom as one which was used by pessimistic locking. I won't fix them 2004-10-25 01:09:13 +00:00
dimitr
275673fcf1 Fixed possible resource leaks for procedured subqueries. 2004-10-05 20:16:29 +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
alexpeshkoff
c3db4aaa97 added (and used in sources) template to change and restore default pool 2004-08-30 18:11:08 +00:00
dimitr
6458cc8757 Ensure FIRST/SKIP/ROWS to treat NULL arguments as zero. 2004-08-17 11:28:49 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
skidder
2915fcf547 Somewhat simplify invariant tracking stuff. It is more pessimistic now, but should work more reliably when invariants are modified (see QMDB tests for details) 2004-06-25 22:12:20 +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
c8db819ac5 Replace defines with consts 2004-05-07 07:57:46 +00:00
brodsom
5cf9fdfc90 Removing ib_stdio.h 2004-04-28 22:43:34 +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
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
skidder
b6e5ccd413 Clean up.
1. gds__alloc doesn't throw
2. Add NOMEM handlers to a couple places
3. kill HAVE_*SNPRINTF conditionals
2004-03-09 00:17:07 +00:00
alexpeshkoff
dfb7575e3e Make it compile with MSVC6 2004-03-07 11:52:05 +00:00
dimitr
cffa34f47a 1) Some cleanup and encapsulation.
2) Fixed a number of stream-related crashes.
2004-03-07 09:48:56 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +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
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
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
dimitr
5a412409ee Fixed server crashes in sort finilization. Thanks to Vlad Horsun and Oleg Loa. 2003-12-24 13:04:59 +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
dimitr
4c0ce86c24 1) Fixed server crashes when a SP is used as inner stream in left joins
2) Fixed conjuncts out-of-limits issue
2003-11-18 16:54:01 +00:00
brodsom
451460c167 -Removing some unneeded headers (WIN_NT) or explaining why are needed 2003-11-16 12:23: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
aafemt
7b89091d39 'struct' cleanup 2003-11-04 11:35:51 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
dimitr
9b20660785 1. Fixed GDSCODE and SQLCODE variables
2. Enhanced ROW_COUNT variable
3. Fixed EXCEPTION statement
4. Added explicit cursor internals
5. Some cleanup
2003-11-02 11:55:17 +00:00
dimitr
25d780fd78 Cleanup. 2003-09-29 11:00:38 +00:00
dimitr
620c35c016 Correction. 2003-09-29 08:29:36 +00:00
dimitr
b3f672ddf4 A bit more cleanup. 2003-09-28 18:49:21 +00:00
dimitr
9f5fb102c1 Cleanup and some optimization. 2003-09-28 18:23:26 +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
37f1dae9be bugfix: MERGE caused engine crash when it was comparing two NULL values (when NULL was result of a calculation (add/multiply/divide...)) 2003-09-03 21:18:27 +00:00