-module(starmap@insertion). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([insert_into/1, columns1/2, columns2/3, columns3/4, columns4/5, columns5/6, columns6/7, columns7/8, columns8/9, columns9/10, value/2, values/2]). -export_type([insertion/2]). -type insertion(GES, GET) :: {insertion, binary(), GES, list(GET)}. -spec insert_into(binary()) -> insertion(nil, nil). insert_into(Table) -> {insertion, Table, nil, []}. -spec columns1(insertion(nil, nil), starmap@schema:column(GEY, GEZ)) -> insertion(starmap@schema:column(GEY, GEZ), GEY). columns1(Insertion, Column1) -> {insertion, erlang:element(2, Insertion), Column1, []}. -spec columns2( insertion(nil, nil), starmap@schema:column(GFI, GFJ), starmap@schema:column(GFM, GFJ) ) -> insertion({starmap@schema:column(GFI, GFJ), starmap@schema:column(GFM, GFJ)}, {GFI, GFM}). columns2(Insertion, Column1, Column2) -> {insertion, erlang:element(2, Insertion), {Column1, Column2}, []}. -spec columns3( insertion(nil, nil), starmap@schema:column(GFX, GFY), starmap@schema:column(GGB, GFY), starmap@schema:column(GGE, GFY) ) -> insertion({starmap@schema:column(GFX, GFY), starmap@schema:column(GGB, GFY), starmap@schema:column(GGE, GFY)}, {GFX, GGB, GGE}). columns3(Insertion, Column1, Column2, Column3) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3}, []}. -spec columns4( insertion(nil, nil), starmap@schema:column(GGR, GGS), starmap@schema:column(GGV, GGS), starmap@schema:column(GGY, GGS), starmap@schema:column(GHB, GGS) ) -> insertion({starmap@schema:column(GGR, GGS), starmap@schema:column(GGV, GGS), starmap@schema:column(GGY, GGS), starmap@schema:column(GHB, GGS)}, {GGR, GGV, GGY, GHB}). columns4(Insertion, Column1, Column2, Column3, Column4) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4}, []}. -spec columns5( insertion(nil, nil), starmap@schema:column(GHQ, GHR), starmap@schema:column(GHU, GHR), starmap@schema:column(GHX, GHR), starmap@schema:column(GIA, GHR), starmap@schema:column(GID, GHR) ) -> insertion({starmap@schema:column(GHQ, GHR), starmap@schema:column(GHU, GHR), starmap@schema:column(GHX, GHR), starmap@schema:column(GIA, GHR), starmap@schema:column(GID, GHR)}, {GHQ, GHU, GHX, GIA, GID}). columns5(Insertion, Column1, Column2, Column3, Column4, Column5) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4, Column5}, []}. -spec columns6( insertion(nil, nil), starmap@schema:column(GIU, GIV), starmap@schema:column(GIY, GIV), starmap@schema:column(GJB, GIV), starmap@schema:column(GJE, GIV), starmap@schema:column(GJH, GIV), starmap@schema:column(GJK, GIV) ) -> insertion({starmap@schema:column(GIU, GIV), starmap@schema:column(GIY, GIV), starmap@schema:column(GJB, GIV), starmap@schema:column(GJE, GIV), starmap@schema:column(GJH, GIV), starmap@schema:column(GJK, GIV)}, {GIU, GIY, GJB, GJE, GJH, GJK}). columns6(Insertion, Column1, Column2, Column3, Column4, Column5, Column6) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4, Column5, Column6}, []}. -spec columns7( insertion(nil, nil), starmap@schema:column(GKD, GKE), starmap@schema:column(GKH, GKE), starmap@schema:column(GKK, GKE), starmap@schema:column(GKN, GKE), starmap@schema:column(GKQ, GKE), starmap@schema:column(GKT, GKE), starmap@schema:column(GKW, GKE) ) -> insertion({starmap@schema:column(GKD, GKE), starmap@schema:column(GKH, GKE), starmap@schema:column(GKK, GKE), starmap@schema:column(GKN, GKE), starmap@schema:column(GKQ, GKE), starmap@schema:column(GKT, GKE), starmap@schema:column(GKW, GKE)}, {GKD, GKH, GKK, GKN, GKQ, GKT, GKW}). columns7( Insertion, Column1, Column2, Column3, Column4, Column5, Column6, Column7 ) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4, Column5, Column6, Column7}, []}. -spec columns8( insertion(nil, nil), starmap@schema:column(GLR, GLS), starmap@schema:column(GLV, GLS), starmap@schema:column(GLY, GLS), starmap@schema:column(GMB, GLS), starmap@schema:column(GME, GLS), starmap@schema:column(GMH, GLS), starmap@schema:column(GMK, GLS), starmap@schema:column(GMN, GLS) ) -> insertion({starmap@schema:column(GLR, GLS), starmap@schema:column(GLV, GLS), starmap@schema:column(GLY, GLS), starmap@schema:column(GMB, GLS), starmap@schema:column(GME, GLS), starmap@schema:column(GMH, GLS), starmap@schema:column(GMK, GLS), starmap@schema:column(GMN, GLS)}, {GLR, GLV, GLY, GMB, GME, GMH, GMK, GMN}). columns8( Insertion, Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8 ) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8}, []}. -spec columns9( insertion(nil, nil), starmap@schema:column(GNK, GNL), starmap@schema:column(GNO, GNL), starmap@schema:column(GNR, GNL), starmap@schema:column(GNU, GNL), starmap@schema:column(GNX, GNL), starmap@schema:column(GOA, GNL), starmap@schema:column(GOD, GNL), starmap@schema:column(GOG, GNL), starmap@schema:column(GOJ, GNL) ) -> insertion({starmap@schema:column(GNK, GNL), starmap@schema:column(GNO, GNL), starmap@schema:column(GNR, GNL), starmap@schema:column(GNU, GNL), starmap@schema:column(GNX, GNL), starmap@schema:column(GOA, GNL), starmap@schema:column(GOD, GNL), starmap@schema:column(GOG, GNL), starmap@schema:column(GOJ, GNL)}, {GNK, GNO, GNR, GNU, GNX, GOA, GOD, GOG}). columns9( Insertion, Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8, Column9 ) -> {insertion, erlang:element(2, Insertion), {Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8, Column9}, []}. -spec value(insertion(GPG, GPH), GPH) -> insertion(GPG, GPH). value(Insertion, Value1) -> erlang:setelement( 4, Insertion, begin _pipe = erlang:element(4, Insertion), lists:append(_pipe, [Value1]) end ). -spec values(insertion(GPM, GPN), list(GPN)) -> insertion(GPM, GPN). values(Insertion, Values) -> erlang:setelement( 4, Insertion, begin _pipe = erlang:element(4, Insertion), lists:append(_pipe, Values) end ).