Empress Logo



How to Extend Capabilities of Empress RDBMS with 3rd Party Libraries


Introduction


How it works?

APPENDIX

#!/bin/sh

empmkdb exampleDB

empbatch exampleDB <<EOM
CREATE MODULE module_str
       FUNCTION str_compare( GENERIC CHAR, GENERIC CHAR,
       GENERIC INTEGER, GENERIC INTEGER)
       RETURNS GENERIC INTEGER
       EXTERNAL NAME str_compare;
END MODULE

UPDATE MODULE module_str
USING './str-0.9.4/to/str/lib/libstr.so.9.0.24';


CREATE TABLE vendors (id longinteger, name char(3));
INSERT INTO TABLE vendors VALUES (1, "SUN");
INSERT INTO TABLE vendors VALUES (2, "IBM");
INSERT INTO TABLE vendors VALUES (3, "SGI");

CREATE TABLE hardware (id longinteger, name char);
INSERT INTO TABLE hardware VALUES (1, "Sun Sparcserver 670MP");
INSERT INTO TABLE hardware VALUES (2, "sunNetra Internet Server");
INSERT INTO TABLE hardware VALUES (3, "SUN 3/50");
INSERT INTO TABLE hardware VALUES (4, "SG Irix Onyx");

SELECT 'v'.id, 'v'.name, 'h'.id, 'h'.name
FROM vendors 'v', hardware 'h' WHERE str_compare('v'.name, 'h'.name, 3, 4) = 0;
EOM