Formatting

This commit is contained in:
Alexey Romanov
2014-10-13 09:53:14 +04:00
parent a362be76cd
commit 47ef78b5ed
5 changed files with 207 additions and 214 deletions

View File

@@ -11,7 +11,7 @@
%% API
%% ====================================================================
%% --------------------------------------------------------------------
%% Function:
%% Function:
%% Description:
%% --------------------------------------------------------------------
-include_lib("eunit/include/eunit.hrl").
@@ -75,9 +75,9 @@ basic_functionality() ->
Columns = ["id", "name", "age", "wage"],
AllRows = [{1, <<"abby">>, 20, 2000}, {2, <<"marge">>, 30, 2000}],
AbbyOnly = [{1, <<"abby">>, 20, 2000}],
TableInfo = [{id, integer, [{primary_key, [asc, autoincrement]}]},
{name, text, [not_null, unique]},
{age, integer, not_null},
TableInfo = [{id, integer, [{primary_key, [asc, autoincrement]}]},
{name, text, [not_null, unique]},
{age, integer, not_null},
{wage, integer}],
TableInfo1 = lists:keyreplace(age, 1, TableInfo, {age, integer, [not_null]}),
drop_all_tables(ct),
@@ -85,50 +85,50 @@ basic_functionality() ->
{error, 21, _},
sqlite3:sql_exec(ct, "-- Comment")),
?assertEqual(
[],
[],
sqlite3:list_tables(ct)),
ok = sqlite3:create_table(ct, user, TableInfo),
?assertEqual(
[user, sqlite_sequence],
[user, sqlite_sequence],
sqlite3:list_tables(ct)),
?assertEqual(
TableInfo1,
TableInfo1,
sqlite3:table_info(ct, user)),
?assertEqual(
{rowid, 1},
{rowid, 1},
sqlite3:write(ct, user, [{name, "abby"}, {age, 20}, {<<"wage">>, 2000}])),
?assertEqual(
{rowid, 2},
{rowid, 2},
sqlite3:write(ct, user, [{name, "marge"}, {age, 30}, {wage, 2000}])),
?assertMatch(
{error, 19, _},
{error, 19, _},
sqlite3:write(ct, user, [{name, "marge"}, {age, 30}, {wage, 2000}])),
?assertEqual(
[{columns, Columns}, {rows, AllRows}],
[{columns, Columns}, {rows, AllRows}],
sqlite3:sql_exec(ct, "select * from user;")),
?assertEqual(
[{columns, Columns}, {rows, AllRows}],
[{columns, Columns}, {rows, AllRows}],
sqlite3:read_all(ct, user)),
?assertEqual(
[{columns, ["name"]}, {rows, [{<<"abby">>}, {<<"marge">>}]}],
[{columns, ["name"]}, {rows, [{<<"abby">>}, {<<"marge">>}]}],
sqlite3:read_all(ct, user, [name])),
?assertEqual(
[{columns, Columns}, {rows, AbbyOnly}],
[{columns, Columns}, {rows, AbbyOnly}],
sqlite3:read(ct, user, {name, "abby"})),
?assertEqual(
[{columns, Columns}, {rows, AllRows}],
[{columns, Columns}, {rows, AllRows}],
sqlite3:read(ct, user, {wage, 2000})),
?assertEqual(
ok,
ok,
sqlite3:delete(ct, user, {name, "marge"})),
?assertEqual(
ok,
ok,
sqlite3:update(ct, user, {name, "abby"}, [{wage, 3000}])),
?assertEqual(
[{columns, Columns}, {rows, [{1, <<"abby">>, 20, 3000}]}],
[{columns, Columns}, {rows, [{1, <<"abby">>, 20, 3000}]}],
sqlite3:sql_exec(ct, "select * from user;")),
?assertEqual(
ok,
ok,
sqlite3:drop_table(ct, user)).
parametrized() ->
@@ -142,22 +142,22 @@ parametrized() ->
{error, _, _},
sqlite3:sql_exec(ct, "INSERT INTO user1 (id, name) VALUES (?, ?)", [4, bad_sql_value])),
?assertEqual(
[{columns, ["id", "name"]},
{rows, [{1, <<"john">>}, {2, <<"joe">>}, {3, <<"jack">>}, {4, <<"james">>}]}],
[{columns, ["id", "name"]},
{rows, [{1, <<"john">>}, {2, <<"joe">>}, {3, <<"jack">>}, {4, <<"james">>}]}],
sqlite3:read_all(ct, user1)),
sqlite3:drop_table(ct, user1),
sqlite3:create_table(ct, user1, [{i, integer}, {d, double}, {b, blob}]),
sqlite3:sql_exec(ct, "INSERT INTO user1 (i, d, b) VALUES (?, ?, ?)",
sqlite3:sql_exec(ct, "INSERT INTO user1 (i, d, b) VALUES (?, ?, ?)",
[null, 1.0, {blob, <<1,0,0>>}]),
?assertEqual(
[{columns, ["i", "d", "b"]},
[{columns, ["i", "d", "b"]},
{rows, [{null, 1.0, {blob, <<1,0,0>>}}]}],
sqlite3:read_all(ct, user1)).
negative() ->
drop_table_if_exists(ct, negative),
sqlite3:create_table(ct, negative, [{id, int}]),
?assertEqual({error, badarg},
?assertEqual({error, badarg},
sqlite3:write(ct, negative, [{id, bad_sql_value}])).
blob() ->
@@ -165,7 +165,7 @@ blob() ->
sqlite3:create_table(ct, blobs, [{blob_col, blob}]),
sqlite3:write(ct, blobs, [{blob_col, {blob, <<0,255,1,2>>}}]),
?assertEqual(
[{columns, ["blob_col"]}, {rows, [{{blob, <<0,255,1,2>>}}]}],
[{columns, ["blob_col"]}, {rows, [{{blob, <<0,255,1,2>>}}]}],
sqlite3:read_all(ct, blobs)).
escaping() ->
@@ -176,7 +176,7 @@ escaping() ->
ExpectedRows = [{list_to_binary(String)} || String <- Strings],
sqlite3:write_many(ct, escaping, Input),
?assertEqual(
[{columns, ["str"]}, {rows, ExpectedRows}],
[{columns, ["str"]}, {rows, ExpectedRows}],
sqlite3:read_all(ct, escaping)).
select_many_records() ->
@@ -186,15 +186,15 @@ select_many_records() ->
sqlite3:write_many(ct, many_records, [[{id, X}, {name, "bar"}] || X <- lists:seq(1, N)]),
Columns = ["id", "name"],
?assertEqual(
[{columns, Columns}, {rows, [{1, <<"bar">>}]}],
[{columns, Columns}, {rows, [{1, <<"bar">>}]}],
sqlite3:read(ct, many_records, {id, 1})),
[?assertEqual(
M,
M,
length(rows(sqlite3:sql_exec(
ct, io_lib:format("select * from many_records limit ~p;", [M])))))
|| M <- [10, 100, 1000]],
?assertEqual(
N,
N,
length(rows(sqlite3:sql_exec(ct, "select * from many_records;")))).
%% note that inserts are actually serialized by gen_server
@@ -238,7 +238,7 @@ unicode() ->
drop_table_if_exists(ct, unicode),
sqlite3:create_table(ct, unicode, [{str, text}]),
sqlite3:write(ct, unicode, [{str, UnicodeString}]),
?assertEqual([{unicode:characters_to_binary(UnicodeString)}], rows(sqlite3:read_all(ct, unicode))).
?assertEqual([{unicode:characters_to_binary(UnicodeString)}], rows(sqlite3:read_all(ct, unicode))).
acc_string_encoding() ->
?assertEqual([{62}], rows(sqlite3:sql_exec(ct, "SELECT ? + ?", [30,32]))).
@@ -283,17 +283,17 @@ script_test() ->
" "
], "\n"),
?assertEqual(
[ok, ok, ok],
[ok, ok, ok],
sqlite3:sql_exec_script(script, Script)),
?assertEqual(
[{columns,["id"]},{rows,[{1},{2}]}],
[{columns,["id"]},{rows,[{1},{2}]}],
sqlite3:read_all(script, person)),
Script2 = "select * from person; update person set id=3 where id=2",
Script2 = "select * from person; update person set id=3 where id=2",
?assertEqual(
[[{columns,["id"]},{rows,[{1},{2}]}], ok],
[[{columns,["id"]},{rows,[{1},{2}]}], ok],
sqlite3:sql_exec_script(script, Script2)),
?assertEqual(
[{columns,["id"]},{rows,[{1},{3}]}],
[{columns,["id"]},{rows,[{1},{3}]}],
sqlite3:read_all(script, person)),
BadScript = string:join(
["CREATE TABLE person2(",
@@ -306,31 +306,31 @@ script_test() ->
" "
], "\n"),
?assertEqual(
[ok, {error, 1, "near \"SYNTAX\": syntax error"}],
[ok, {error, 1, "near \"SYNTAX\": syntax error"}],
sqlite3:sql_exec_script(script, BadScript)),
sqlite3:close(script).
large_offset() ->
drop_table_if_exists(ct, large_offset),
ok = sqlite3:create_table(ct, large_offset, [{id, integer}]),
?assertMatch(
[{columns, ["id"]}, {rows, []}, {error, 20, _}],
sqlite3:sql_exec(ct, "select * from large_offset limit 1 offset 9223372036854775808")).
drop_table_if_exists(ct, large_offset),
ok = sqlite3:create_table(ct, large_offset, [{id, integer}]),
?assertMatch(
[{columns, ["id"]}, {rows, []}, {error, 20, _}],
sqlite3:sql_exec(ct, "select * from large_offset limit 1 offset 9223372036854775808")).
issue13() ->
drop_table_if_exists(ct, issue13),
ok = sqlite3:create_table(ct, issue13, [{foo, integer}]),
sqlite3:write_many(ct, issue13,
[[{foo, X}] || X <- [-1, 0, 127, 128, 255, 256]]),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > 128;")),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > ?;", [128.0])),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > ?;", [128])).
drop_table_if_exists(ct, issue13),
ok = sqlite3:create_table(ct, issue13, [{foo, integer}]),
sqlite3:write_many(ct, issue13,
[[{foo, X}] || X <- [-1, 0, 127, 128, 255, 256]]),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > 128;")),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > ?;", [128.0])),
?assertEqual(
[{columns, ["foo"]}, {rows, [{255}, {256}]}],
sqlite3:sql_exec(ct, "select foo from issue13 where foo > ?;", [128])).
enable_load_extension() ->
?assertEqual(ok, sqlite3:enable_load_extension(ct, 1)).