Fix fetchall order bug
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{application, esqlite,
|
||||
[
|
||||
{description, "sqlite nif interface"},
|
||||
{vsn, "0.8.1"},
|
||||
{vsn, "0.8.2"},
|
||||
{modules, [esqlite3, esqlite3_nif]},
|
||||
{registered, []},
|
||||
{licenses, ["Apache"]},
|
||||
|
||||
@@ -222,8 +222,7 @@ fetchall1(Statement, Acc) ->
|
||||
Row when is_list(Row) ->
|
||||
fetchall1(Statement, [Row|Acc]);
|
||||
'$done' ->
|
||||
Acc;
|
||||
%% lists:reverse(Acc);
|
||||
lists:reverse(Acc);
|
||||
{error, _} = E ->
|
||||
E
|
||||
end.
|
||||
|
||||
@@ -184,16 +184,18 @@ simple_query_test() ->
|
||||
prepare2_test() ->
|
||||
{ok, Db} = esqlite3:open(":memory:"),
|
||||
esqlite3:exec(Db, "begin;"),
|
||||
esqlite3:exec(Db, "create table test_table(one varchar(10), two int);"),
|
||||
{ok, Statement} = esqlite3:prepare(Db, "insert into test_table values('one', 2)"),
|
||||
esqlite3:exec(Db, "create table test_table(one varchar(10), two integer);"),
|
||||
{ok, Statement} = esqlite3:prepare(Db, "insert into test_table values('one', 1)"),
|
||||
|
||||
'$done' = esqlite3:step(Statement),
|
||||
1 = esqlite3:changes(Db),
|
||||
|
||||
ok = esqlite3:exec(Db, "insert into test_table values('hello4', 13);"),
|
||||
ok = esqlite3:exec(Db, "insert into test_table values('two', 2);"),
|
||||
|
||||
%% Check if the values are there.
|
||||
[[<<"one">>, 2], [<<"hello4">>, 13]] = esqlite3:q(Db, "select * from test_table order by two"),
|
||||
?assertEqual([[<<"one">>, 1],
|
||||
[<<"two">>, 2]],
|
||||
esqlite3:q(Db, "select one, two from test_table order by two asc")),
|
||||
esqlite3:exec(Db, "commit;"),
|
||||
esqlite3:close(Db),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user