mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:38:11 +00:00

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.
35 lines
680 B
CMake
35 lines
680 B
CMake
set(SOURCES
|
|
AST/CreateSchema.cpp
|
|
AST/CreateTable.cpp
|
|
AST/Expression.cpp
|
|
AST/Insert.cpp
|
|
AST/Lexer.cpp
|
|
AST/Parser.cpp
|
|
AST/Select.cpp
|
|
AST/Statement.cpp
|
|
AST/SyntaxHighlighter.cpp
|
|
AST/Token.cpp
|
|
BTree.cpp
|
|
BTreeIterator.cpp
|
|
Database.cpp
|
|
HashIndex.cpp
|
|
Heap.cpp
|
|
Index.cpp
|
|
Key.cpp
|
|
Meta.cpp
|
|
ResultSet.cpp
|
|
Row.cpp
|
|
Serializer.cpp
|
|
SQLClient.cpp
|
|
TreeNode.cpp
|
|
Tuple.cpp
|
|
Value.cpp
|
|
)
|
|
|
|
set(GENERATED_SOURCES
|
|
../../Services/SQLServer/SQLClientEndpoint.h
|
|
../../Services/SQLServer/SQLServerEndpoint.h
|
|
)
|
|
|
|
serenity_lib(LibSQL sql)
|
|
target_link_libraries(LibSQL LibCore LibSyntax LibRegex)
|