## SortProperties
- 为了区分 unordered columns 和 literal values
- 因为 literal value 不会破坏 ordering(当它作为某些二元表达式的 child 且另外的 child 是有序 时)。
- 作为对比,unordred columns 不会维护这种有序性。
- 例:
- `((a_orderd + b_unordered) + c_ordered)` 无法保证顺序性
- `((a_orderd + 999) + c_ordered)` 则可以
- 枚举类型:
- **Ordered(SortOptions)**:有序数据
- **Unordered**:无序数据
- **Singleton**:表示 single-valued literal numbers
# SQL 默认行为(PG)
- ORDER BY SQL 语法:
`ORDER BY sort_expression1 [ASC | DESC] [NULLS { FIRST | LAST }]`
- 如果没有指定 ASC | DESC , 默认为 ASC,小的在前面
- 如果没有指定 `NULLS { FIRST | LAST }`
- 对于 ASC,默认是 NULLS LAST
- 对于 DESC,默认是 NULLS FIRST