-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.