[ 
https://issues.apache.org/jira/browse/CALCITE-5866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17754347#comment-17754347
 ] 

Julian Hyde commented on CALCITE-5866:
--------------------------------------

Orthogonal to SQL semantics is {{RelNode}} semantics. In a tree of logical 
RelNodes, order is irrelevant. For example, you can perform a {{Sort}} and 
follow it by a {{Limit 10}} and the limit is under no obligation to take the 
first 10 rows from the sort. In fact there is no 'first 10' because the output 
is an unordered collection.

Given that the input SQL has to pass through RelNode before it becomes output 
SQL, you should expect all ordering to disappear.

> Not all dialects support sorting in sub-queries
> -----------------------------------------------
>
>                 Key: CALCITE-5866
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5866
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Will Noble
>            Priority: Minor
>
> The rel-to-sql converter inserts subqueries in certain situations, such as 
> when sorting by ordinal (see CALCITE-5768). Certain dialects, such as MSSQL 
> (SQL Server) ignore the {{ORDER BY}} clause in a subquery. We may need a new 
> dialect-level setting like {{canSortInSubQuery}} that dictates whether 
> Calcite can safely insert sub-queries with {{ORDER BY}} clauses in them, or 
> whether it must do everything in it's power to avoid that (such as refusing 
> to sort by ordinal in cases where not all sort expressions are included in 
> the {{SELECT}} list).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to