View on
Darren Duncan > Muldis-DB-0.4.0 > Muldis::DB::Engine::Example::PhysType



Annotate this POD

View/Report Bugs
Module Version: 0.004   Source  


Muldis::DB::Engine::Example::PhysType - Physical representations of all core data types


This document describes Muldis::DB::Engine::Example::PhysType version 0.4.0 for Perl 5.

It also describes the same-number versions for Perl 5 of [...].


This file is used internally by Muldis::DB::Engine::Example; it is not intended to be used directly in user code.

It provides physical representations of data types that this Example Engine uses to implement Muldis D. The API of these is expressly not intended to match the API that the language itself specifies as possible representations for system-defined data types.

Specifically, this file represents the core system-defined data types that all Muldis D implementations must have, namely: Bool, Order, Int, Num, Text, Blob, Tuple, Relation, and the Cat.* types.

By contrast, the optional data types are given physical representations by other files: Muldis::DB::Engine::Example::PhysType::Temporal, Muldis::DB::Engine::Example::PhysType::Spatial.


This file assumes that it will only be invoked by other components of Example, and that they will only be feeding it arguments that are exactly what it requires. For reasons of performance, it does not do any of its own basic argument validation, as doing so should be fully redundant. Any invoker should be validating any arguments that it in turn got from user code. Moreover, this file will often take or return values by reference, also for performance, and the caller is expected to know that they should not be modifying said then-shared values afterwards.


Darren Duncan (


This file is part of the Muldis DB framework.

Muldis DB is Copyright © 2002-2007, Darren Duncan.

See the LICENSE AND COPYRIGHT of Muldis::DB for details.

syntax highlighting: