Working with Records

Working with records in Fenl.

Records allow one or more values into a single record. Each value is part of a named field within the record.

Creating a Record

Records may be created using curly braces, such as {name: "john", age: 32}. The corresponding type would be described as {name: string, age: 32}.


Order of Record Fields

Fields in a record are ordered, and the ordering matters, both for determining if two records are the same type as well as for determining the order of columns in the output.

Extending a Record

A record may be extended with the fields of another record. When names collide, the new fields override the older fields. This may be done as extend(new_record, original) or original | extend(new_record).

Example: {name: "john", age: 32} | extend({age: 33, lastname: "smith" }) would produce the record {name: "john", age: 33, lastname: "smith" }.

Selecting or Projecting Fields

Specific fields from a record may be selected using select_fields. The result is a record containing only the specified fields.

Example: select_fields({name: "john", age: 33, lastname: "smith" }, "lastname", "name") produces the record {name: "john", lastname: "smith"}.

Removing Fields

Specific fields from a record may be removed using remove_fields. The result is a record without the named fields.

Example: remove_fields({name: "john", age: 33, lastname: "smith" }, "lastname", "name") produces the record {age: 33}.

© Copyright 2021 Kaskada, Inc. All rights reserved. Privacy Policy

Kaskada products are protected by patents in the United States, and Kaskada is currently seeking protection internationally with pending applications.

Kaskada is a registered trademark of Kaskada Inc.