CVS User Account cvsuser
Thu Dec 14 07:40:57 PST 2006
Log Message:
-----------
xxid SQL now starts with v74, not v73

Tags:
----
REL_1_2_STABLE

Added Files:
-----------
    slony1-engine/src/xxid:
        xxid.v74.sql (r1.1.2.1)

-------------- next part --------------
--- /dev/null
+++ src/xxid/xxid.v74.sql
@@ -0,0 +1,185 @@
+-- ----------
+-- xxid.v73.sql.in
+--
+--	SQL script for loading the transaction ID compatible datatype 
+--
+--	Copyright (c) 2003-2006, PostgreSQL Global Development Group
+--	Author: Jan Wieck, Afilias USA INC.
+--
+-- $Id: xxid.v74.sql,v 1.1.2.1 2006/12/14 15:40:57 cbbrowne Exp $
+-- ----------
+
+--
+-- Type specific input and output functions
+--
+CREATE FUNCTION @NAMESPACE at ."xxidin"(cstring) RETURNS @NAMESPACE at ."xxid"
+	AS '$libdir/xxid', '_Slony_I_xxidin'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidout"(@NAMESPACE at ."xxid") RETURNS cstring
+	AS '$libdir/xxid', '_Slony_I_xxidout'
+	LANGUAGE C;
+
+
+--
+-- The data type itself
+--
+CREATE TYPE @NAMESPACE at ."xxid" (
+	INPUT = @NAMESPACE at ."xxidin",
+	OUTPUT = @NAMESPACE at ."xxidout",
+	EXTERNALLENGTH = 12,
+	INTERNALLENGTH = 4,
+	PASSEDBYVALUE,
+	ALIGNMENT = int4
+);
+
+
+--
+-- Since our xxid type has special cases for values 0-3, it
+-- in fact IS xid, so allow implicit type casting to and from.
+--
+CREATE CAST (xid AS @NAMESPACE at .xxid)
+	WITHOUT FUNCTION AS IMPLICIT;
+CREATE CAST (@NAMESPACE at .xxid AS xid)
+	WITHOUT FUNCTION AS IMPLICIT;
+
+
+--
+-- Comparision functions for the new datatype
+--
+CREATE FUNCTION @NAMESPACE at ."xxideq"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxideq'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidne"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxidne'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidlt"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxidlt'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidle"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxidle'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidgt"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxidgt'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxidge"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxidge'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."btxxidcmp"(@NAMESPACE at ."xxid", @NAMESPACE at ."xxid") RETURNS int4
+	AS '$libdir/xxid', '_Slony_I_btxxidcmp'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at .getCurrentXid() RETURNS @NAMESPACE at ."xxid"
+	AS '$libdir/xxid', '_Slony_I_getCurrentXid'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at .getMinXid() RETURNS @NAMESPACE at ."xxid"
+	AS '$libdir/xxid', '_Slony_I_getMinXid'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at .getMaxXid() RETURNS @NAMESPACE at ."xxid"
+	AS '$libdir/xxid', '_Slony_I_getMaxXid'
+	LANGUAGE C;
+
+
+--
+-- Operators on these comparision functions
+--
+CREATE OPERATOR < (
+	PROCEDURE = @NAMESPACE at ."xxidlt",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = >, NEGATOR = >=,
+	RESTRICT = scalarltsel, JOIN = scalarltjoinsel
+);
+CREATE OPERATOR = (
+	PROCEDURE = @NAMESPACE at ."xxideq",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = =, NEGATOR = <>,
+	RESTRICT = eqsel, JOIN = eqjoinsel,
+	SORT1 = <, SORT2 = <
+);
+CREATE OPERATOR <> (
+	PROCEDURE = @NAMESPACE at ."xxidne",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = <>, NEGATOR = =,
+	RESTRICT = neqsel, JOIN = neqjoinsel
+);
+CREATE OPERATOR > (
+	PROCEDURE = @NAMESPACE at ."xxidgt",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = <, NEGATOR = <=,
+	RESTRICT = scalargtsel, JOIN = scalargtjoinsel
+);
+CREATE OPERATOR <= (
+	PROCEDURE = @NAMESPACE at ."xxidle",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = >=, NEGATOR = >,
+	RESTRICT = scalarltsel, JOIN = scalarltjoinsel
+);
+CREATE OPERATOR >= (
+	PROCEDURE = @NAMESPACE at ."xxidge",
+	LEFTARG = @NAMESPACE at ."xxid",
+	RIGHTARG = @NAMESPACE at ."xxid",
+	COMMUTATOR = <=, NEGATOR = <,
+	RESTRICT = scalargtsel, JOIN = scalargtjoinsel
+);
+
+
+--
+-- Finally the default operator class so that we can use our
+-- new data type in btree indexes.
+--
+CREATE OPERATOR CLASS @NAMESPACE at ."xxid_ops"
+	DEFAULT FOR TYPE @NAMESPACE at ."xxid" USING btree AS
+	OPERATOR 1 <  (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid"),
+	OPERATOR 2 <= (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid"),
+	OPERATOR 3 =  (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid"),
+	OPERATOR 4 >= (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid"),
+	OPERATOR 5 >  (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid"),
+	FUNCTION 1 @NAMESPACE at ."btxxidcmp" (@NAMESPACE at ."xxid", @NAMESPACE at ."xxid");
+
+
+--
+-- A special transaction snapshot data type for faster visibility checks
+--
+CREATE FUNCTION @NAMESPACE at ."xxid_snapshot_in"(cstring)
+RETURNS @NAMESPACE at ."xxid_snapshot"
+	AS '$libdir/xxid', '_Slony_I_xxid_snapshot_in'
+	LANGUAGE C;
+CREATE FUNCTION @NAMESPACE at ."xxid_snapshot_out"(@NAMESPACE at ."xxid_snapshot")
+RETURNS cstring
+	AS '$libdir/xxid', '_Slony_I_xxid_snapshot_out'
+	LANGUAGE C;
+
+
+--
+-- The data type itself
+--
+CREATE TYPE @NAMESPACE at ."xxid_snapshot" (
+	INPUT = @NAMESPACE at ."xxid_snapshot_in",
+	OUTPUT = @NAMESPACE at ."xxid_snapshot_out",
+	INTERNALLENGTH = variable,
+	ALIGNMENT = int4
+);
+
+
+--
+-- Special comparision functions used by the remote worker
+-- for sync chunk selection
+--
+CREATE FUNCTION @NAMESPACE at ."xxid_lt_snapshot"(
+		@NAMESPACE at ."xxid",
+		@NAMESPACE at ."xxid_snapshot")
+RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxid_lt_snapshot'
+	LANGUAGE C;
+
+CREATE FUNCTION @NAMESPACE at ."xxid_ge_snapshot"(
+		@NAMESPACE at ."xxid",
+		@NAMESPACE at ."xxid_snapshot")
+RETURNS boolean
+	AS '$libdir/xxid', '_Slony_I_xxid_ge_snapshot'
+	LANGUAGE C;
+
+



More information about the Slony1-commit mailing list