pg_hamming/install.sh

38 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
mv libhamming.so /usr/lib/
USER=postgres
DATABASE=imhashdb
LIB_PATH="'/usr/lib/libhamming.so'"
psql -U $USER $DATABASE <<EOF
CREATE OR REPLACE FUNCTION hash_is_within_distance18(bytea, bytea, integer) RETURNS boolean
AS $LIB_PATH, 'hash_is_within_distance18'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_is_within_distance8(bytea, bytea, integer) RETURNS boolean
AS $LIB_PATH, 'hash_is_within_distance8'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_is_within_distance32(bytea, bytea, integer) RETURNS boolean
AS $LIB_PATH, 'hash_is_within_distance32'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_distance18(bytea, bytea) RETURNS integer
AS $LIB_PATH, 'hash_distance18'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_distance8(bytea, bytea) RETURNS integer
AS $LIB_PATH, 'hash_distance8'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_distance32(bytea, bytea) RETURNS integer
AS $LIB_PATH, 'hash_distance32'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_is_within_distance18_any(bytea, bytea, integer) RETURNS bool
AS $LIB_PATH, 'hash_is_within_distance18_any'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION hash_equ18_any(bytea, bytea) RETURNS bool
AS $LIB_PATH, 'hash_equ18_any'
LANGUAGE C STRICT;
EOF