/* $PostgreSQL: pgsql/contrib/cube/cube.sql.in,v 1.25 2009/06/11 18:30:03 tgl Exp $ */

– Adjust this setting to control where the objects get created. SET search_path = public;

– Create the user-defined type for N-dimensional boxes –

CREATE OR REPLACE FUNCTION cube_in(cstring) RETURNS cube AS '$libdir/cube' LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION cube(float8[], float8[]) RETURNS cube AS '$libdir/cube', 'cube_a_f8_f8' LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION cube(float8[]) RETURNS cube AS '$libdir/cube', 'cube_a_f8' LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION cube_out(cube) RETURNS cstring AS '$libdir/cube' LANGUAGE C IMMUTABLE STRICT;

CREATE TYPE cube (

INTERNALLENGTH = variable,
INPUT = cube_in,
OUTPUT = cube_out,
ALIGNMENT = double

);

COMMENT ON TYPE cube IS 'multi-dimensional cube ''(FLOAT-1, FLOAT-2, …, FLOAT-N), (FLOAT-1, FLOAT-2, …, FLOAT-N)''';