);
}
-($sql) = $sqlac->select({
- select => { -as => [ 1, 'x' ] },
- union => { -select => { select => { -as => [ 2, 'x' ] } } },
+$sql = $sqlac->select({
+ select => { -as => [ \1, 'x' ] },
+ union => { -select => { select => { -as => [ \2, 'x' ] } } },
order_by => { -desc => 'x' },
});
q{(SELECT 1 AS x) UNION (SELECT 2 AS x) ORDER BY x DESC},
);
+$sql = $sqlac->select({
+ select => '*',
+ from => 'foo',
+ except => { -select => { select => '*', from => 'foo_exclusions' } }
+});
+
+is_same_sql(
+ $sql,
+ q{(SELECT * FROM foo) EXCEPT (SELECT * FROM foo_exclusions)},
+);
+
+$sql = $sqlac->select({
+ with => [ foo => { -select => { select => \1 } } ],
+ select => '*',
+ from => 'foo'
+});
+
+is_same_sql(
+ $sql,
+ q{WITH (foo AS (SELECT 1)) SELECT * FROM foo},
+);
+
done_testing;