Packages
cake
0.2.0
4.1.0
4.0.0
3.0.0
2.2.2
2.2.1
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.0
retired
0.15.0
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.1
retired
0.10.0
retired
0.9.2
retired
0.9.1
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
0.4.0
retired
0.3.0
retired
0.2.0
retired
0.1.0
retired
0.0.1
retired
🎂 An SQL query builder for Gleam for SQL dialects 🐘PostgreSQL, 🪶SQLite, 🦭MariaDB, and 🐬MySQL
Retired package: Deprecated - a stable release is available, please use >= 1.0.0
Current section
Files
Jump to
Current section
Files
src/cake@internal@example@cake_write.erl
-module(cake@internal@example@cake_write).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([exec_dummy_update/0, exec_dummy_delete/0, exec_dummy_insert/0, main/0]).
-spec exec_dummy_update() -> nil.
exec_dummy_update() ->
nil.
-spec exec_dummy_delete() -> nil.
exec_dummy_delete() ->
nil.
-spec drop_cats_table_if_exists() -> binary().
drop_cats_table_if_exists() ->
<<"DROP TABLE IF EXISTS cats;"/utf8>>.
-spec create_cats_table() -> binary().
create_cats_table() ->
<<"CREATE TABLE cats (
name text,
age int,
is_wild boolean,
owner_id int
);"/utf8>>.
-spec run_write_on_postgres(
cake@internal@write_query:write_query(any()),
fun((gleam@dynamic:dynamic_()) -> {ok, PEO} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, list(PEO)} | {error, gleam@pgo:query_error()}.
run_write_on_postgres(Query, Query_decoder) ->
cake@adapter@postgres:with_connection(
fun(Conn) ->
_ = begin
_pipe = drop_cats_table_if_exists(),
cake@adapter@postgres:execute_raw_sql(_pipe, Conn)
end,
_ = begin
_pipe@1 = create_cats_table(),
cake@adapter@postgres:execute_raw_sql(_pipe@1, Conn)
end,
_pipe@2 = Query,
cake@adapter@postgres:run_write(_pipe@2, Query_decoder, Conn)
end
).
-spec run_write_on_sqlite(
cake@internal@write_query:write_query(any()),
fun((gleam@dynamic:dynamic_()) -> {ok, PES} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, list(PES)} | {error, sqlight:error()}.
run_write_on_sqlite(Query, Query_decoder) ->
cake@adapter@sqlite:with_memory_connection(
fun(Conn) ->
_ = begin
_pipe = drop_cats_table_if_exists(),
cake@adapter@sqlite:execute_raw_sql(_pipe, Conn)
end,
_ = begin
_pipe@1 = create_cats_table(),
cake@adapter@sqlite:execute_raw_sql(_pipe@1, Conn)
end,
_pipe@2 = Query,
cake@adapter@sqlite:run_write(_pipe@2, Query_decoder, Conn)
end
).
-spec exec_dummy_insert() -> {ok, list(gleam@dynamic:dynamic_())} |
{error, gleam@pgo:query_error()}.
exec_dummy_insert() ->
cake@internal@stdlib@iox:print_dashes(),
Query_decoder = fun gleam@dynamic:dynamic/1,
cake@internal@stdlib@iox:println(<<"SQLite"/utf8>>),
_ = begin
_pipe@1 = run_write_on_sqlite(
begin
_pipe = [cake@internal@example@cake_write_queries:new()],
cake@internal@example@cake_write_queries:to_insert_query(_pipe)
end,
Query_decoder
),
_pipe@2 = cake@internal@stdlib@iox:print_tap(
_pipe@1,
<<"Result: "/utf8>>
),
cake@internal@stdlib@iox:dbg(_pipe@2)
end,
gleam_erlang_ffi:sleep(100),
cake@internal@stdlib@iox:println(<<"Postgres"/utf8>>),
_ = begin
_pipe@4 = run_write_on_postgres(
begin
_pipe@3 = [cake@internal@example@cake_write_queries:new(),
cake@internal@example@cake_write_queries:new(),
cake@internal@example@cake_write_queries:new()],
cake@internal@example@cake_write_queries:to_insert_query(
_pipe@3
)
end,
Query_decoder
),
_pipe@5 = cake@internal@stdlib@iox:print_tap(
_pipe@4,
<<"Result: "/utf8>>
),
cake@internal@stdlib@iox:dbg(_pipe@5)
end.
-spec main() -> nil.
main() ->
gleam_erlang_ffi:sleep(100),
_ = exec_dummy_insert(),
gleam_erlang_ffi:sleep(100),
_ = exec_dummy_update(),
gleam_erlang_ffi:sleep(100),
_ = exec_dummy_delete(),
gleam_erlang_ffi:sleep(100),
nil.