Sha256: bfdc5b881818540f715e0d3ed716d98f40d23ca4ad0f896f6b5e21a5c2bb5354

Contents?: true

Size: 1.01 KB

Versions: 3

Compression:

Stored size: 1.01 KB

Contents

.TH Unwrap
.PP
Inverse of wrap
.SH Signature
.PP
.RS
.nf
unwrap(operand: Relation, tva: AttrName) \-> Relation
.fi
.RE
.SH Examples
.PP
.RS
.nf
unwrap(wrap(suppliers, [:city, :status], :extra), :extra)
.fi
.RE
.SH Description
.PP
Computes the relation obtained by unwrapping a tuple\-valued attribute \fB\fCtva\fR\&.
Unwrapping of \fB\fCtva\fR on an input tuple \fB\fCt\fR consists in removing \fB\fCtva\fR from
\fB\fCt\fR and extending the result with \fB\fCtva\fR\&'s own attributes:
.PP
.RS
.nf
Tuple(x: 1, tva: Tuple(y: 2, z: 3)) \-> Tuple(x: 1, y: 2, z: 3)
.fi
.RE
.PP
\fB\fCtva\fR must be a tuple\-valued attribute. It should not itself contain any
attribute whose name clashes with an attribute of \fB\fCoperand\fR\&. In the examples
above, \fB\fCtva\fR may not contain an attribute called \fB\fCx\fR\&.
.SH Implementation notes
.PP
This operator does not compile to SQL so far. Contributions are welcome to
provide it with a SQL compilation for SQL DBMSs that support this kind of
feature (e.g. PostgreSQL with JSON data type)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alf-shell-0.16.3 doc/man/unwrap.man
alf-shell-0.16.2 doc/man/unwrap.man
alf-shell-0.16.1 doc/man/unwrap.man