Description
If SkylineOf query with SUM_RANK or BEST_RANK is used and the SQLCommon.WindowHandling flag is set to 2 or 3 the outcome of the method TemplateBNL.GetSkylineFromAlgorithm may be wrong.
On some occasions the index of the TemplateBNL.SkylineValues does not match with the index of the returned datatable.
Query used:
SELECT c.Id as Id, c.Title as Name, c.Price, co.Name As Color FROM Cars c LEFT OUTER JOIN Colors co ON c.Color_Id = co.Id SKYLINE OF c.Price HIGH, co.Name ('pink' >> 'black' >> OTHERS EQUAL), c.Id HIGH ORDER BY SUM_RANK()
Algorithms used:
SkylineBNLSort
Output of run showing all internals:
Expected DataTable was created with WindowHandling = 1
Other DataTable was created with WindowHandling = 2
Compare column values of entries with ID 54620 and 54023 in both tables. E.g. values of "Skyline0" are flipped.
Output.txt