Adding column names as option to map and foreach functions

This commit is contained in:
Maas-Maarten Zeeman
2011-11-21 20:56:19 +01:00
parent a082740cb6
commit 30c25d0611
2 changed files with 30 additions and 9 deletions

View File

@@ -70,22 +70,35 @@ foreach(F, Sql, Connection) ->
foreach_s(F, Statement).
%%
foreach_s(F, Statement) ->
foreach_s(F, Statement) when is_function(F, 1) ->
case try_step(Statement, 0) of
'$done' ->
ok;
'$done' -> ok;
Row when is_tuple(Row) ->
F(Row),
foreach_s(F, Statement)
end.
end;
foreach_s(F, Statement) when is_function(F, 2) ->
ColumnNames = column_names(Statement),
case try_step(Statement, 0) of
'$done' -> ok;
Row when is_tuple(Row) ->
F(ColumnNames, Row),
foreach_s(F, Statement)
end.
%%
map_s(F, Statement) ->
map_s(F, Statement) when is_function(F, 1) ->
case try_step(Statement, 0) of
'$done' ->
[];
'$done' -> [];
Row when is_tuple(Row) ->
[F(Row) | map_s(F, Statement)]
end;
map_s(F, Statement) when is_function(F, 2) ->
ColumnNames = column_names(Statement),
case try_step(Statement, 0) of
'$done' -> [];
Row when is_tuple(Row) ->
[F(ColumnNames, Row) | map_s(F, Statement)]
end.
%%