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

Download:
Muldis-DB-0.4.0.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.004   Source  

NAME ^

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

VERSION ^

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 [...].

DESCRIPTION ^

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.

BUGS AND LIMITATIONS ^

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.

AUTHOR ^

Darren Duncan (perl@DarrenDuncan.net)

LICENSE AND COPYRIGHT ^

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: