---
name: "KiokuDB::Role::Immutable"
section: "3pm"
platform: "linux"
package: "libkiokudb-perl"
version: "0.57-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/KiokuDB::Role::Immutable"
---

# KiokuDB::Role::Immutable(3pm)

A role for objects that are never updated.

## NAME

KiokuDB::Role::Immutable - A role for objects that are never updated.

## VERSION

version 0.57

## SYNOPSIS

```
    with qw(KiokuDB::Role::Immutable);
```

## DESCRIPTION

This is a role for objects that are never updated after they are inserted to the database.

The object will be skipped entirely on all update/store operations unless it is being collapsed for the first time, and its child objects will **not** be updated unless they are found while collapsing another object.

This means that:

```
    my $immutable = $kiokudb->lookup($id);
    $immutable->child->name("foo");
    $kiokudb->update($immutable);
```

will not work, you need to update the child directly:

```
    $kiokudb->update($immutable->child);
```

## AUTHOR

Yuval Kogman \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
