-module(galchemy@examples@schema_introspection). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\galchemy\\examples\\schema_introspection.gleam"). -export([main/0]). -file("src\\galchemy\\examples\\schema_introspection.gleam", 28). -spec sample_columns() -> list(galchemy@schema@introspection@postgres:column_row()). sample_columns() -> [{column_row, <<"public"/utf8>>, <<"users"/utf8>>, <<"id"/utf8>>, 1, false, <<"integer"/utf8>>, <<"int4"/utf8>>, none, none, none, none, {some, <<"nextval('users_id_seq'::regclass)"/utf8>>}}, {column_row, <<"public"/utf8>>, <<"users"/utf8>>, <<"email"/utf8>>, 2, false, <<"text"/utf8>>, <<"text"/utf8>>, none, none, none, none, none}]. -file("src\\galchemy\\examples\\schema_introspection.gleam", 61). -spec sample_constraints() -> list(galchemy@schema@introspection@postgres:constraint_row()). sample_constraints() -> [{constraint_row, <<"public"/utf8>>, <<"users"/utf8>>, <<"users_pkey"/utf8>>, primary_key_constraint, <<"id"/utf8>>, 1, none, none, none}, {constraint_row, <<"public"/utf8>>, <<"users"/utf8>>, <<"users_email_key"/utf8>>, unique_constraint, <<"email"/utf8>>, 1, none, none, none}]. -file("src\\galchemy\\examples\\schema_introspection.gleam", 88). -spec sample_indexes() -> list(galchemy@schema@introspection@postgres:index_row()). sample_indexes() -> [{index_row, <<"public"/utf8>>, <<"users"/utf8>>, <<"users_email_idx"/utf8>>, true, <<"CREATE UNIQUE INDEX users_email_idx ON public.users USING btree (email)"/utf8>>}]. -file("src\\galchemy\\examples\\schema_introspection.gleam", 6). -spec main() -> nil. main() -> Options = begin _pipe = galchemy@schema@introspection@postgres:default_options(), galchemy@schema@introspection@postgres:only_schemas( _pipe, [<<"public"/utf8>>] ) end, gleam_stdlib:println(<<"Schema introspection example"/utf8>>), gleam_stdlib:println(<<"Columns query:"/utf8>>), gleam_stdlib:println( gleam@string:inspect( galchemy@schema@introspection@postgres:compile_columns_query( Options ) ) ), gleam_stdlib:println(<<"Constraints query:"/utf8>>), gleam_stdlib:println( gleam@string:inspect( galchemy@schema@introspection@postgres:compile_constraints_query( Options ) ) ), gleam_stdlib:println(<<"Indexes query:"/utf8>>), gleam_stdlib:println( gleam@string:inspect( galchemy@schema@introspection@postgres:compile_indexes_query( Options ) ) ), gleam_stdlib:println(<<"Snapshot from sampled rows:"/utf8>>), gleam_stdlib:println( gleam@string:inspect( galchemy@schema@introspection@postgres:rows_to_snapshot( sample_columns(), sample_constraints(), sample_indexes() ) ) ).