aboutsummaryrefslogtreecommitdiffstats
path: root/lib/qualified_name.mli
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-18 12:35:26 -0300
committerGitHub <noreply@github.com>2026-05-18 12:35:26 -0300
commitcf0fffed43d0ca7618cd0013411151e057b7a32a (patch)
tree35915aee3f7160b9ff6b41c3c0502b34050f642c /lib/qualified_name.mli
parente3d3e20dfea253de291d5b31059cd55c0eaabf02 (diff)
downloadSakura-cf0fffed43d0ca7618cd0013411151e057b7a32a.tar.gz
Sakura-cf0fffed43d0ca7618cd0013411151e057b7a32a.zip
RNT interface
Co-authored-by: Estevan Castilho <tevo@riajuu.net>
Diffstat (limited to '')
-rw-r--r--lib/qualified_name.mli24
1 files changed, 11 insertions, 13 deletions
diff --git a/lib/qualified_name.mli b/lib/qualified_name.mli
index 5da7555..196dfbd 100644
--- a/lib/qualified_name.mli
+++ b/lib/qualified_name.mli
@@ -1,20 +1,18 @@
-(** Fully qualified relation name: [multigroup:schema:relation].
+(** Fully qualified relation reference: [mg:rel_name].
- Unqualified names fill in defaults: empty multigroup, ["public"] schema. *)
+ The first colon separates the multigroup name from the relation name; any
+ further colons are part of the relation name verbatim. *)
-type t = { multigroup : string; schema : string; relation : string }
+type t = { mg : string; name : string }
-val default_schema : string
+exception Unqualified of string
val parse : string -> t
-(** Split on [:] with default filling.
- - ["rel"] -> multigroup="", schema="public", relation="rel"
- - ["s:rel"] -> multigroup="", schema="s", relation="rel"
- - ["mg:s:rel"] -> multigroup="mg", schema="s", relation="rel" *)
+(** Splits on the first [:]. Raises [Unqualified] when no mg segment is
+ present (i.e. no colon, or empty mg / empty name). *)
-val make : ?multigroup:string -> ?schema:string -> string -> t
-val to_string : t -> string
+val try_parse : string -> (t, string) result
+
+val make : mg:string -> name:string -> t
-val to_key : t -> string
-(** Composite key for [RelationMap] lookup within a single database:
- ["schema:relation"]. *)
+val to_string : t -> string