Has any consideration been given to postgres inheritance?
I included a rough layout of the objects above using postgres inheritance.
a "select * from acs_user;" yields
acs_object_id | acs_party_id | person_id | user_id
---------------+--------------+-----------+---------
1 | 1 | 1 | 1
-- TOC Entry ID 5 (OID 30230)
--
-- Name: acs_object Type: TABLE Owner: root
--
CREATE TABLE "acs_object" (
"acs_object_id" integer
);
--
-- TOC Entry ID 6 (OID 30240)
--
-- Name: acs_relationship Type: TABLE Owner: root
--
CREATE TABLE "acs_relationship" (
"acs_relationship_id" integer
)
INHERITS ("acs_object");
--
-- TOC Entry ID 7 (OID 30253)
--
-- Name: acs_party Type: TABLE Owner: root
--
CREATE TABLE "acs_party" (
"acs_party_id" integer
)
INHERITS ("acs_object");
--
-- TOC Entry ID 8 (OID 30266)
--
-- Name: acs_person Type: TABLE Owner: root
--
CREATE TABLE "acs_person" (
"person_id" integer
)
INHERITS ("acs_party");
--
-- TOC Entry ID 9 (OID 30281)
--
-- Name: acs_user Type: TABLE Owner: root
--
CREATE TABLE "acs_user" (
"user_id" integer
)
INHERITS ("acs_person");
--
-- TOC Entry ID 10 (OID 30298)
--
-- Name: acs_group Type: TABLE Owner: root
--
CREATE TABLE "acs_group" (
"acs_group_id" integer
)
INHERITS ("acs_party");
--
-- TOC Entry ID 11 (OID 30313)
--
-- Name: acs_membership_rel Type: TABLE Owner: root
--
CREATE TABLE "acs_membership_rel" (
"acs_membership_rel_id" integer
)
INHERITS ("acs_object");
--
-- TOC Entry ID 12 (OID 30326)
--
-- Name: acs_composition_rel Type: TABLE Owner: root
--
CREATE TABLE "acs_composition_rel" (
"acs_composition_rel_id" integer
)
INHERITS ("acs_object");
--
-- TOC Entry ID 13 (OID 30339)
--
-- Name: acs_journal_entry Type: TABLE Owner: root
--
CREATE TABLE "acs_journal_entry" (
"acs_journal_entry_id" integer
)
INHERITS ("acs_object");
--
-- TOC Entry ID 14 (OID 30352)
--
-- Name: acs_site_node Type: TABLE Owner: root
--
CREATE TABLE "acs_site_node" (
"acs_site_node" integer
)
INHERITS ("acs_object");