Commit 04bd2610 authored by Marc G. Fournier's avatar Marc G. Fournier

Missed a few files that were added with the lib/modules patch...

parent 5b4b3d56
--
-- PostgreSQL code for IP addresses.
--
-- $Id: ip.sql.in,v 1.1 1998/04/22 04:20:30 scrappy Exp $
--
load '_OBJWD_/ip_DLSUFFIX_';
--
-- Input and output functions and the type itself:
--
create function ipaddr_in(opaque)
returns opaque
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_out(opaque)
returns opaque
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create type ipaddr (
internallength = 6,
externallength = variable,
input = ipaddr_in,
output = ipaddr_out
);
--
-- The various boolean tests:
--
create function ipaddr_lt(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_le(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_eq(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_ge(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_gt(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_ne(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_in_net(ipaddr, ipaddr)
returns bool
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_mask(ipaddr)
returns ipaddr
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
create function ipaddr_bcast(ipaddr)
returns ipaddr
as '_OBJWD_/ip_DLSUFFIX_'
language 'c';
--
-- Now the operators. Note how some of the parameters to some
-- of the 'create operator' commands are commented out. This
-- is because they reference as yet undefined operators, and
-- will be implicitly defined when those are, further down.
--
create operator < (
leftarg = ipaddr,
rightarg = ipaddr,
-- negator = >=,
procedure = ipaddr_lt
);
create operator <= (
leftarg = ipaddr,
rightarg = ipaddr,
-- negator = >,
procedure = ipaddr_le
);
create operator = (
leftarg = ipaddr,
rightarg = ipaddr,
commutator = =,
-- negator = <>,
procedure = ipaddr_eq
);
create operator >= (
leftarg = ipaddr,
rightarg = ipaddr,
negator = <,
procedure = ipaddr_ge
);
create operator > (
leftarg = ipaddr,
rightarg = ipaddr,
negator = <=,
procedure = ipaddr_gt
);
create operator <> (
leftarg = ipaddr,
rightarg = ipaddr,
negator = =,
procedure = ipaddr_ne
);
--
-- eof
--
--
-- PostgreSQL code for MAC addresses.
--
-- $Id: mac.sql.in,v 1.1 1998/04/22 04:20:36 scrappy Exp $
--
load '_OBJWD_/mac_DLSUFFIX_';
--
-- Input and output functions and the type itself:
--
create function macaddr_in(opaque)
returns opaque
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_out(opaque)
returns opaque
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create type macaddr (
internallength = 6,
externallength = variable,
input = macaddr_in,
output = macaddr_out
);
--
-- The boolean tests:
--
create function macaddr_lt(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_le(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_eq(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_ge(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_gt(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
create function macaddr_ne(macaddr, macaddr)
returns bool
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
--
-- Now the operators. Note how some of the parameters to some
-- of the 'create operator' commands are commented out. This
-- is because they reference as yet undefined operators, and
-- will be implicitly defined when those are, further down.
--
create operator < (
leftarg = macaddr,
rightarg = macaddr,
-- negator = >=,
procedure = macaddr_lt
);
create operator <= (
leftarg = macaddr,
rightarg = macaddr,
-- negator = >,
procedure = macaddr_le
);
create operator = (
leftarg = macaddr,
rightarg = macaddr,
commutator = =,
-- negator = <>,
procedure = macaddr_eq
);
create operator >= (
leftarg = macaddr,
rightarg = macaddr,
negator = <,
procedure = macaddr_ge
);
create operator > (
leftarg = macaddr,
rightarg = macaddr,
negator = <=,
procedure = macaddr_gt
);
create operator <> (
leftarg = macaddr,
rightarg = macaddr,
negator = =,
procedure = macaddr_ne
);
--
-- Finally, the special manufacurer matching function:
--
create function macaddr_manuf(macaddr)
returns text
as '_OBJWD_/mac_DLSUFFIX_'
language 'c';
--
-- eof
--
#-------------------------------------------------------------------------
#
# Makefile--
# Makefile for soundex
#
#-------------------------------------------------------------------------
PGDIR = ../..
SRCDIR = $(PGDIR)/src
include $(SRCDIR)/Makefile.global
INCLUDE_OPT = -I ./ \
-I $(SRCDIR)/ \
-I $(SRCDIR)/include \
-I $(SRCDIR)/interfaces/libpq \
-I $(SRCDIR)/port/$(PORTNAME)
CFLAGS += $(INCLUDE_OPT)
ifeq ($(PORTNAME), linux)
ifdef LINUX_ELF
ifeq ($(CC), gcc)
CFLAGS += -fPIC
endif
endif
endif
ifeq ($(PORTNAME), i386_solaris)
CFLAGS+= -fPIC
endif
MODNAME = soundex
MODULE = $(MODNAME)$(DLSUFFIX)
all: module sql
module: $(MODULE)
sql: $(MODNAME).sql
install: $(MODULE)
cp -p $(MODULE) $(LIBDIR)/modules
cd $(LIBDIR)/modules; strip $(MODULE)
%.sql: %.sql.in
sed "s|MODULE_PATHNAME|$(LIBDIR)/modules/$(MODULE)|" < $< > $@
.SUFFIXES: $(DLSUFFIX)
%$(DLSUFFIX): %.c
$(CC) $(CFLAGS) -shared -o $@ $<
depend dep:
$(CC) -MM $(INCLUDE_OPT) *.c >depend
clean:
rm -f $(MODULE) $(MODNAME).sql
ifeq (depend,$(wildcard depend))
include depend
endif
--------------- soundex.sql:
CREATE FUNCTION text_soundex(text) RETURNS text
AS '_OBJWD_/soundex.so' LANGUAGE 'c';
SELECT text_soundex('hello world!');
CREATE TABLE s (nm text)\g
insert into s values ('john')\g
insert into s values ('joan')\g
insert into s values ('wobbly')\g
select * from s
where text_soundex(nm) = text_soundex('john')\g
select nm from s a, s b
where text_soundex(a.nm) = text_soundex(b.nm)
and a.oid <> b.oid\g
CREATE FUNCTION text_sx_eq(text, text) RETURNS bool AS
'select text_soundex($1) = text_soundex($2)'
LANGUAGE 'sql'\g
CREATE FUNCTION text_sx_lt(text,text) RETURNS bool AS
'select text_soundex($1) < text_soundex($2)'
LANGUAGE 'sql'\g
CREATE FUNCTION text_sx_gt(text,text) RETURNS bool AS
'select text_soundex($1) > text_soundex($2)'
LANGUAGE 'sql';
CREATE FUNCTION text_sx_le(text,text) RETURNS bool AS
'select text_soundex($1) <= text_soundex($2)'
LANGUAGE 'sql';
CREATE FUNCTION text_sx_ge(text,text) RETURNS bool AS
'select text_soundex($1) >= text_soundex($2)'
LANGUAGE 'sql';
CREATE FUNCTION text_sx_ne(text,text) RETURNS bool AS
'select text_soundex($1) <> text_soundex($2)'
LANGUAGE 'sql';
DROP OPERATOR #= (text,text)\g
CREATE OPERATOR #= (leftarg=text, rightarg=text, procedure=text_sx_eq,
commutator=text_sx_eq)\g
SELECT *
FROM s
WHERE text_sx_eq(nm,'john')\g
SELECT *
from s
where s.nm #= 'john';
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment