1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 04:58:13 +00:00
serenity/Userland/Libraries/LibSQL/AST
Jan de Visser 7fc901d1b3 LibSQL+SQLServer: Implement first cut of SELECT ... ORDER BY foo
Ordering is done by replacing the straight Vector holding the query
result in the SQLResult object with a dedicated Vector subclass that
inserts result rows according to their sort key using a binary search.
This is done in the ResultSet class.

There are limitations:
- "SELECT ... ORDER BY 1" (or 2 or 3 etc) is supposed to sort by the
n-th result column. This doesn't work yet
- "SELECT ... column-expression alias ... ORDER BY alias" is supposed to
sort by the column with the given alias. This doesn't work yet

What does work however is something like
```SELECT foo FROM bar SORT BY quux```
i.e. sorted by a column not in the result set. Once functions are
supported it should be possible to sort by random functions.
2022-01-16 11:17:15 +01:00
..
AST.h LibSQL: Implement LIKE SQL expressions 2022-01-07 10:50:39 +03:30
CreateSchema.cpp LibSQL: Improve error handling 2021-12-04 20:49:22 +03:30
CreateTable.cpp LibSQL: Improve error handling 2021-12-04 20:49:22 +03:30
Expression.cpp LibSQL: Implement LIKE SQL expressions 2022-01-07 10:50:39 +03:30
Insert.cpp LibSQL: Improve error handling 2021-12-04 20:49:22 +03:30
Lexer.cpp LibSQL: Make lexer and parser more standard SQL compliant 2021-06-24 00:36:53 +02:00
Lexer.h LibSQL: Make lexer and parser more standard SQL compliant 2021-06-24 00:36:53 +02:00
Parser.cpp LibSQL: Properly parse ESCAPE expressions 2022-01-07 10:50:39 +03:30
Parser.h LibSQL: Replace Optional<NonnullRefPtr<T>> with RefPtr<T> 2021-09-03 15:36:51 +02:00
Select.cpp LibSQL+SQLServer: Implement first cut of SELECT ... ORDER BY foo 2022-01-16 11:17:15 +01:00
Statement.cpp LibSQL: Add current statement to the ExecutionContext 2021-11-10 14:47:49 +01:00
SyntaxHighlighter.cpp LibSQL: Make lexer and parser more standard SQL compliant 2021-06-24 00:36:53 +02:00
SyntaxHighlighter.h LibSQL: Move Lexer and Parser machinery to AST directory 2021-06-24 00:36:53 +02:00
Token.cpp LibSQL: Move Lexer and Parser machinery to AST directory 2021-06-24 00:36:53 +02:00
Token.h LibSQL: Invent statement execution machinery and CREATE SCHEMA statement 2021-07-08 17:55:59 +04:30