123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103(* Copyright (C) 2024--2026 Petter A. Urkedal <paurkedal@gmail.com>
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version, with the LGPL-3.0 Linking Exception.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* and the LGPL-3.0 Linking Exception along with this library. If not, see
* <http://www.gnu.org/licenses/> and <https://spdx.org>, respectively.
*)moduleConstructor=ConstructormoduleDialect=DialectmoduleField_type=Field_typemoduleQuery=QuerymoduleQuery_fmt=Query_fmtmoduleRequest=RequestmoduleRow_mult=Row_multmoduleRow_type=Row_typemoduleRow=RowmoduleShims=ShimsmoduleVersion=VersionmoduleType=structinclude(Row_type:Row_type.STD)includeRequest_type.InfixendmoduletypeCREATE=sigmoduleT=TypemoduleD=DialectincludemoduletypeofVersion.InfixmoduleQ=QuerymoduleQf=Query_fmtincludemoduletypeofQuery.Infixvalstatic:('a,'b,'m)Request_type.t->string->('a,'b,'m)Request.tvalstatic_gen:('a,'b,'m)Request_type.t->(Dialect.t->Query.t)->('a,'b,'m)Request.tvalstatic_gen_multi:(Dialect.t->Query.tlist)->(unit,unit,Row_mult.zero)Request.tvaldynamic:('a,'b,'m)Request_type.t->string->('a,'b,'m)Request.tvaldynamic_gen:('a,'b,'m)Request_type.t->(Dialect.t->Query.t)->('a,'b,'m)Request.tvaldynamic_gen_multi:(Dialect.t->Query.tlist)->(unit,unit,Row_mult.zero)Request.tvaldirect:('a,'b,'m)Request_type.t->string->('a,'b,'m)Request.tvaldirect_gen:('a,'b,'m)Request_type.t->(Dialect.t->Query.t)->('a,'b,'m)Request.tvaldirect_gen_multi:(Dialect.t->Query.tlist)->(unit,unit,Row_mult.zero)Request.tendmoduleCreate=structmoduleT=TypemoduleD=DialectincludeVersion.InfixmoduleQ=QuerymoduleQf=Query_fmtincludeQuery.Infixletstaticrtqs=Request.createStaticrt(Fun.const(Query.parseqs))letstatic_genreq_typeqf=Request.createStaticreq_typeqfletstatic_gen_multiqf=Request.create_multiStaticqfletdynamicrtqs=Request.createDynamicrt(Fun.const(Query.parseqs))letdynamic_genrtqf=Request.createDynamicrtqfletdynamic_gen_multiqf=Request.create_multiDynamicqfletdirectrtqs=Request.createDirectrt(Fun.const(Query.parseqs))letdirect_genrtqf=Request.createDirectrtqfletdirect_gen_multiqf=Request.create_multiDirectqfend