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

355 Commits

Author SHA1 Message Date
dimitr
fec2f3e155 Restored the legacy logic for blob sorting, thus rolling back changes for CORE-859 and CORE-1530. 2008-01-26 18:06:42 +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
asfernandes
05b90fa684 Eliminate some warnings 2008-01-16 14:37:26 +00:00
dimitr
6992f2a638 The merge continued. 2008-01-16 09:41:31 +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
robocop
2d2b8cf718 Misc. 2007-11-17 10:18:10 +00:00
paulbeach
7602a29b94 HPUX Port 2007-11-12 14:26:44 +00:00
dimitr
4d7d563e6e Fixed CORE-1533. 2007-10-29 17:57:24 +00:00
alexpeshkoff
6a844b2041 Avoid unneeded cast 2007-10-02 17:03:53 +00:00
dimitr
33fb126a74 Fixed CORE-1436. 2007-08-31 10:14:09 +00:00
hvlad
671e59e993 Fixed bug CORE-1373 : Incorrect result of recursive CTE query when recursive member's SELECT list contains expression using self-referenced fields 2007-07-21 21:28:56 +00:00
asfernandes
f09ea7782f Transliterate object names from PLANs to the client charset 2007-05-25 14:06:55 +00:00
asfernandes
c97d57013e Fixed CORE-1253 - LIST(DISTINCT) concatenate VARCHAR values as CHAR 2007-05-11 02:07:36 +00:00
dimitr
1b44f36eda Front-ported RISC-specific fixes. 2007-03-09 08:11:10 +00:00
dimitr
7eefa833f8 Adjusted the logic accordingly to the Alex's fix. 2007-03-01 15:08:11 +00:00
alexpeshkoff
86344f06c3 Use faster and more clear method when possible 2007-03-01 13:09:09 +00:00
asfernandes
e544f6fd1e Misc 2007-03-01 00:44:14 +00:00
asfernandes
2d26b3f5f8 Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases 2007-02-27 02:36:20 +00:00
dimitr
02035b1860 Fixed CORE-1130. 2007-02-15 07:20:59 +00:00
dimitr
c2392582af Fixed CORE-1029. 2006-11-29 17:48:54 +00:00
dimitr
eecccbbc72 Fixed CORE-1025. 2006-11-28 13:26:24 +00:00
asfernandes
9ca610d9f4 Misc 2006-11-23 00:30:07 +00:00
dimitr
81bbdfd4f2 Attempted to fix CORE-995. 2006-11-21 14:02:29 +00:00
dimitr
e95f81408d Fixed CORE-1005. 2006-11-21 07:47:02 +00:00
asfernandes
1d422a8330 1) Refactor intl_classes.h and intl.cpp
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
db7c21a752 Misc. 2006-09-14 09:40:58 +00:00
asfernandes
87c0e8360d Check limits 2006-09-12 16:31:38 +00:00
dimitr
a4f78f4365 1) Fixed CORE-925
2) Added assertion to EVL to catch other related bugs
3) An attempt to simplify my previous solution
2006-09-12 11:36:18 +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
arnobrinkman
eaf233717a Fix bug CORE-897 2006-08-31 18:16:58 +00:00
hvlad
b20aa92714 Common table expressions implementation 2006-08-01 20:37:58 +00:00
dimitr
cffe207614 A few fixes for the monitoring tables. 2006-07-23 12:14:59 +00:00
dimitr
a05bc8f15d 1) Fixed CORE-859.
2) I've restored the asserts disabled by Frank in 2000. I really don't see how skd_dtype == 0 can be valid, as the sorter works inproperly in this case and it allows unsupported datatypes to be attempted to sort on.
2006-07-20 11:11:37 +00:00
dimitr
c68587fe66 1. Virtual tables
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
dimitr
937008d479 Fixed a number of bugs related to the lost scale when matching some value to an int64 key. 2006-05-23 09:56:29 +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
9d2af66fc0 Fixed bug with explicit plans and dependent vs free streams. 2006-05-19 11:09:44 +00:00
dimitr
8c66a4883a 1) Fixed wrong ALL results in the ODS11 optimizer.
2) Fixed SF #527681 -- Strange/Inconsistent query results
2006-05-17 19:15:41 +00:00
dimitr
b0cb5b92cd Misc. 2006-05-13 05:00:21 +00:00
dimitr
bf1e56bff1 Fixed a bugcheck by restoring to the old nod_count processing.
Still clueless why it's done that way.
2006-04-25 12:54:12 +00:00
asfernandes
7e7f4183a3 Misc 2006-04-25 03:48:19 +00:00
dimitr
54d4cc4ddf The core implementation of the LIST function. Unstable yet. 2006-04-24 16:56:58 +00:00
arnobrinkman
782f902948 Fix "no current record .." bug when an undependent stream A is dependent on stream B and B is dependent on stream C.
Stream A was merged with the stream C and only B was correctly joined.
2006-04-22 21:18:19 +00:00
robocop
c5f2284b15 Style. 2006-04-06 08:18:53 +00:00
robocop
e455915e74 Misc. 2006-02-18 23:39:23 +00:00
robocop
044c5841ad Misc. 2006-02-10 03:28:43 +00:00
robocop
3389149564 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like.
2006-02-07 08:08:49 +00:00
robocop
2011950972 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Ninth step: while doing cleanup, I discovered some data members that aren't used anymore or that should be inside conditional code. This is the result.
2006-02-03 02:28:58 +00:00
dimitr
bf1562a49a Fixed a bug with NOT ANY/ALL reported by Alex. 2006-02-02 12:56:57 +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
51e1d59ac5 Misc. 2006-01-28 04:12:42 +00:00
robocop
1ca7a582f9 EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild. 2006-01-14 07:00:44 +00:00
dimitr
8174f08112 Allowed expression indices to be used for navigation on outer streams. 2006-01-05 17:13:23 +00:00
alexpeshkoff
f4feffe700 fixed some warnings 2005-12-02 16:48:47 +00:00
robocop
105cd42e21 Non-member functions that are used in other modules should have a prefix.
Created a couple of temporary vars for code simplification.
2005-11-06 01:56:03 +00:00
hvlad
15ac3a9f47 Fixed SF #223060
Slow processing of GREATER-THEN operator
2005-10-27 21:52:17 +00:00
arnobrinkman
c3f9c5bebc Some more cost based calculation. Fine-tunning will follow 2005-08-08 22:17:40 +00:00
aafemt
b61d8b3c17 Warnings 2005-06-22 05:13:54 +00:00
asfernandes
b0ab11bc9a Misc. 2005-06-21 01:44:43 +00:00
asfernandes
890494ac7c 1) Fixed SF #1016040 Missing external libraries causes engine exception
2) Use better error messages
2005-06-14 03:16:54 +00:00
asfernandes
559ce29c51 1) Replace length_ to strlen as noted by Claudio and Dmitry
2) Change USHORT to ULONG in intl.cpp
2005-06-06 18:14:10 +00:00
robocop
b8d1f00f94 - Corrections and changes to Adriano's commit, subject to his inspection.
- Solved an endless loop with trim and zero-length trim characters, etc.
- Some places are signaled with FB_COMPILER_MESSAGE for prompt attention.
2005-06-06 08:30:03 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
robocop
3f0b18df85 Misc. 2005-05-16 09:15:31 +00:00
alexpeshkoff
5729790ed6 1. Applied class MetaName
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
robocop
68bb0c4308 Totally misc. 2005-05-12 06:51:33 +00:00
hvlad
f1d576feb4 Fixed unregistered bug - "index key too big" when creating descending index 2005-05-07 19:45:57 +00:00
arnobrinkman
d8764cbdb1 Fix problem with distributing sort to deeper RSE, query example:
SELECT
  RDB$RELATION_NAME
FROM
  (SELECT FIRST 10 * FROM RDB$RELATIONS ORDER BY RDB$RELATION_NAME DESC)
ORDER BY
  RDB$RELATION_NAME
2005-05-04 08:56:14 +00:00
arnobrinkman
b4b0a354ca Fix bug with ORDER BY and DISTINCT on OUTER JOIN where the ORDER BY clause was given to a deeper rse, but shouldn't because the distinct should be applied first.
Reproducable query:
SELECT
  DISTINCT r.rdb$relation_name, r.rdb$relation_id
FROM
  rdb$relations r
  LEFT JOIN rdb$relation_fields f ON (f.rdb$relation_name = r.rdb$relation_name)
ORDER BY
  r.rdb$relation_id
2005-04-21 17:35:44 +00:00
dimitr
44b2667c68 Oops. 2005-03-28 15:39:52 +00:00
dimitr
706a1b925d Corrected previous commit + ODS11 branch. 2005-03-28 15:24:18 +00:00
dimitr
3037a12405 Allowed navigation using an expression index. 2005-03-28 15:07:44 +00:00
dimitr
d629414f0d Minor RSB tree output change. 2005-03-25 08:05:34 +00:00
alexpeshkoff
0e98fe0052 fix gcc warnings 2005-03-20 13:52:51 +00:00
robocop
94e04d3768 Misc. 2005-03-20 04:26:10 +00:00
dimitr
3075bdcdf2 1) Fixed bug with the lost sort node that caused unordered data to be returned.
2) Fixed badly optimized join orders in triggers.
2005-03-19 16:55:26 +00:00
arnobrinkman
5d2b73e496 Fix bug with index navigation were both dependent streams and free streams are performed in a inner join list 2005-02-22 22:12:19 +00:00
arnobrinkman
3a2d65b777 Fix, aggregate functions were also delivered from HAVING to the WHERE clause 2005-02-22 21:04:47 +00:00
dimitr
62b09e9bfc Fixed SEGV related to explicit plans. 2005-02-21 20:32:18 +00:00
robocop
854da4e241 Misc. 2005-02-21 06:01:01 +00:00
arnobrinkman
229d4415a4 Allow some more complex expressions to be unmapped 2005-02-15 12:17:51 +00:00
dimitr
e74888f7fc Minor stuff. 2005-02-15 11:52:52 +00:00
arnobrinkman
9ae0b6d273 simplify code and some cosmetic changes 2005-02-14 18:51:16 +00:00
robocop
7e5696adcd Misc. 2005-02-14 05:56:04 +00:00
arnobrinkman
29715e6834 Fix wrong commit, thanks to Claudio! 2005-02-13 11:38:39 +00:00
arnobrinkman
964710f2a0 Remove unneeded comment-blocks 2005-02-10 23:05:04 +00:00
arnobrinkman
283d7f0d8c Add new optimizer logic for handling :
ODS11:
- segment-selectivity
- better support for IS NULL
- better support for STARTING WITH
- matching both OR and AND nodes to indexes
- pick better JOIN order based on cost rules

ODSx:
- Indexed order on OUTER JOIN queries
2005-02-10 22:54:17 +00:00
arnobrinkman
d7792a2d76 fix some dependency issues 2005-02-01 14:39:36 +00:00
robocop
4fa02dbff2 Misc. 2005-01-25 06:38:58 +00:00
arnobrinkman
d299e4dae3 fix problems with explicit given PLAN and MERGE 2005-01-24 23:12:15 +00:00
robocop
778fecb78d 1.- Fix unregistered bug where an attempt to use an invalid index in an explicit plan causes garbage to be shown in the error message instead of the rejected index name.
2.- Use constants instead of hardcoded positions in node's arguments.
2005-01-21 08:39:28 +00:00
robocop
d65307b497 Style. 2004-12-24 08:52:39 +00:00
robocop
cb74ecd1f9 Fixing comments. 2004-12-22 08:50:47 +00:00
robocop
365de0fa48 Misc. 2004-12-16 03:10:20 +00:00
arnobrinkman
08ef027dfa fix wrong join order with parameters/variables/constants after my last commits 2004-12-15 20:12:27 +00:00
robocop
308bdd3de1 Misc. 2004-12-07 00:33:16 +00:00
arnobrinkman
e25f925d8e Improve cross join and merge/sort handeling 2004-12-03 23:56:51 +00:00
robocop
af6a16107a Misc. 2004-11-30 06:18:39 +00:00
arnobrinkman
e8e46c3381 1) Try to make new nodes from conjunctions applied to the top RSE of a UNION.
Deliver the new nodes (created per rse inside the union) to the optimizing phase of every rse.
2) Little refactoring of above function and the one for aggregate
2004-11-28 23:09:37 +00:00