12345678910111213141516171819202122232425262728293031323334(*****************************************************************************)(* *)(* Copyright (C) 2026 Yves Ndiaye *)(* *)(* This Source Code Form is subject to the terms of the Mozilla Public *)(* License, v. 2.0. If a copy of the MPL was not distributed with this *)(* file, You can obtain one at https://mozilla.org/MPL/2.0/. *)(* *)(*****************************************************************************)(** Operations on a query node. *)(** type of a query node. *)typet=|Substringofstring|Fieldof(string,bool,int,int64,float)Field.t(** [substring s] is [Substring s]. *)letsubstrings=Substrings(** [field f] is [Field f] . *)letfieldfield=Fieldfieldletto_string=function|Substrings->s|Fieldfield->Field.to_stringfieldletto_sexp=function|Substrings->Util.quotes|Fieldfield->Field.to_sexpfield