mirror of
https://github.com/RGBCube/serenity
synced 2025-05-30 21:58:10 +00:00
LibSQL: Allow expressions and column names in SELECT ... FROM
Up to now the only ``SELECT`` statement that worked was ``SELECT * FROM <table>``. This commit allows a column list consisting of column names and expressions in addition to ``*``. ``WHERE`` still doesn't work though.
This commit is contained in:
parent
f33a288ca4
commit
fe50598a03
8 changed files with 90 additions and 20 deletions
|
@ -87,4 +87,17 @@ Value UnaryOperatorExpression::evaluate(ExecutionContext& context) const
|
|||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
Value ColumnNameExpression::evaluate(ExecutionContext& context) const
|
||||
{
|
||||
auto& descriptor = *context.current_row->descriptor();
|
||||
VERIFY(context.current_row->size() == descriptor.size());
|
||||
for (auto ix = 0u; ix < context.current_row->size(); ix++) {
|
||||
auto& column_descriptor = descriptor[ix];
|
||||
if (column_descriptor.name == column_name())
|
||||
return { (*context.current_row)[ix] };
|
||||
}
|
||||
// TODO: Error handling.
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue