Skip to content

Commit

Permalink
Refactored the whole RSB stuff into classes. They're inside the /recs…
Browse files Browse the repository at this point in the history
…rc sub-directory now.

Fixed the layering for WITH LOCK and (partially) ANY/ALL predicates.
Cleaned up the outdated code that never worked (mapping DISTINCT to an index, some VMS remainings).
Wiped out a lot of the pre-ODS11 optimizer logic. Some minor adjustments there.
Re-implemented the full outer join from scratch. This resolves CORE-2678 (full outer join cannot use available indices).
Resolved CORE-2796: DB_KEY is always zero for external tables.
Implemented the core part of the scrollable PSQL cursors. Implementation is still incomplete, but ready for testing.
Some other changes I don't recall at the moment ;-)

WARNING! The engine may be unstable. Please email me about any issues found.
  • Loading branch information
dyemanov committed Dec 9, 2009
1 parent cc1e7fe commit 11495a5
Show file tree
Hide file tree
Showing 66 changed files with 8,495 additions and 9,328 deletions.
128 changes: 96 additions & 32 deletions builds/win32/msvc9/engine.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -271,10 +271,6 @@
<Filter
Name="JRD files"
>
<File
RelativePath="..\..\..\src\jrd\AggregateRsb.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\alt.cpp"
>
Expand Down Expand Up @@ -511,10 +507,6 @@
RelativePath="..\..\..\src\jrd\mov.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nav.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nbak.cpp"
>
Expand Down Expand Up @@ -587,10 +579,6 @@
RelativePath="..\..\..\src\jrd\rpb_chain.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\rse.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\RuntimeStatistics.cpp"
>
Expand Down Expand Up @@ -715,14 +703,106 @@
RelativePath="..\..\..\src\jrd\why.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\WindowRsb.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\os\win32\winnt.cpp"
>
</File>
<Filter
Name="Data Access"
>
<File
RelativePath="..\..\..\src\jrd\recsrc\AggregatedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\BitmapTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\BufferredStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\Cursor.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\ExternalTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FilteredStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FirstRowsStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FullOuterJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FullTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\IndexTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\LockedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\MergeJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\NestedLoopJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\ProcedureScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecordSource.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecordSource.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecursiveStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SingularStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SkipRowsStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SortedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\Union.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\VirtualTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\WindowedStream.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header files"
Expand All @@ -731,10 +811,6 @@
RelativePath="..\..\..\src\jrd\acl.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\AggregateRsb.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\align.h"
>
Expand Down Expand Up @@ -1203,10 +1279,6 @@
RelativePath="..\..\..\src\jrd\names.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nav_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nbak.h"
>
Expand Down Expand Up @@ -1327,10 +1399,6 @@
RelativePath="..\..\..\src\jrd\rse.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\rse_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\RuntimeStatistics.h"
>
Expand Down Expand Up @@ -1511,10 +1579,6 @@
RelativePath="..\..\..\src\jrd\why_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\WindowRsb.h"
>
</File>
</Filter>
<Filter
Name="GPRE files"
Expand Down
128 changes: 96 additions & 32 deletions builds/win32/msvc9/engine_classic.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -271,10 +271,6 @@
<Filter
Name="JRD files"
>
<File
RelativePath="..\..\..\src\jrd\AggregateRsb.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\alt.cpp"
>
Expand Down Expand Up @@ -511,10 +507,6 @@
RelativePath="..\..\..\src\jrd\mov.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nav.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nbak.cpp"
>
Expand Down Expand Up @@ -587,10 +579,6 @@
RelativePath="..\..\..\src\jrd\rpb_chain.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\rse.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\RuntimeStatistics.cpp"
>
Expand Down Expand Up @@ -715,14 +703,106 @@
RelativePath="..\..\..\src\jrd\why.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\WindowRsb.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\os\win32\winnt.cpp"
>
</File>
<Filter
Name="Data Access"
>
<File
RelativePath="..\..\..\src\jrd\recsrc\AggregatedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\BitmapTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\BufferredStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\Cursor.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\ExternalTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FilteredStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FirstRowsStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FullOuterJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\FullTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\IndexTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\LockedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\MergeJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\NestedLoopJoin.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\ProcedureScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecordSource.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecordSource.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\RecursiveStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SingularStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SkipRowsStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\SortedStream.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\Union.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\VirtualTableScan.cpp"
>
</File>
<File
RelativePath="..\..\..\src\jrd\recsrc\WindowedStream.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header files"
Expand All @@ -731,10 +811,6 @@
RelativePath="..\..\..\src\jrd\acl.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\AggregateRsb.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\align.h"
>
Expand Down Expand Up @@ -1203,10 +1279,6 @@
RelativePath="..\..\..\src\jrd\names.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nav_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\nbak.h"
>
Expand Down Expand Up @@ -1327,10 +1399,6 @@
RelativePath="..\..\..\src\jrd\rse.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\rse_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\RuntimeStatistics.h"
>
Expand Down Expand Up @@ -1507,10 +1575,6 @@
RelativePath="..\..\..\src\jrd\why_proto.h"
>
</File>
<File
RelativePath="..\..\..\src\jrd\WindowRsb.h"
>
</File>
</Filter>
<Filter
Name="GPRE files"
Expand Down
Loading

0 comments on commit 11495a5

Please sign in to comment.