lib_LTLIBRARIES = libgpgsqlbackend.la
EXTRA_DIST=OBJECTFILES OBJECTLIBS \
- schema.pgsql.sql nodnssec-3.x_to_3.4_schema.pgsql.sql
+ schema.pgsql.sql nodnssec-3.x_to_3.4_schema.pgsql.sql dnssec-3.x_to_3.4_schema.pgsql.sql
libgpgsqlbackend_la_SOURCES=gpgsqlbackend.cc gpgsqlbackend.hh \
spgsql.hh spgsql.cc
--- /dev/null
+/* Uncomment next 2 lines for versions <= 3.3 */
+/* ALTER TABLE domains ADD CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))); */
+/* ALTER TABLE tsigkeys ADD CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))); */
+
+ALTER TABLE records ADD disabled BOOL DEFAULT 'f';
+ALTER TABLE records ALTER COLUMN auth SET DEFAULT 't';
+ALTER TABLE records ALTER COLUMN type TYPE VARCHAR(10);
+ALTER TABLE supermasters ALTER COLUMN ip TYPE INET USING ip::INET;
+ALTER TABLE supermasters ADD CONSTRAINT supermasters_pkey PRIMARY KEY (ip, nameserver);
+
+CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops);
+DROP INDEX IF EXISTS orderindex;
+
+
+CREATE TABLE comments (
+ id SERIAL PRIMARY KEY,
+ domain_id INT NOT NULL,
+ name VARCHAR(255) NOT NULL,
+ type VARCHAR(10) NOT NULL,
+ modified_at INT NOT NULL,
+ account VARCHAR(40) DEFAULT NULL,
+ comment VARCHAR(65535) NOT NULL,
+ CONSTRAINT domain_exists
+ FOREIGN KEY(domain_id) REFERENCES domains(id)
+ ON DELETE CASCADE,
+ CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
+);
+
+CREATE INDEX comments_domain_id_idx ON comments (domain_id);
+CREATE INDEX comments_name_type_idx ON comments (name, type);
+CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
-ALTER table records ADD disabled BOOL DEFAULT 'f';
-ALTER table records ADD ordername VARCHAR(255);
-ALTER table records ADD auth BOOL DEFAULT 't';
-ALTER table records ALTER COLUMN type TYPE VARCHAR(10);
+/* Uncomment next line for versions <= 3.3 */
+/* ALTER TABLE domains ADD CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))); */
+
+ALTER TABLE records ADD disabled BOOL DEFAULT 'f';
+ALTER TABLE records ADD ordername VARCHAR(255);
+ALTER TABLE records ADD auth BOOL DEFAULT 't';
+ALTER TABLE records ALTER COLUMN type TYPE VARCHAR(10);
+ALTER TABLE supermasters ALTER COLUMN ip TYPE INET USING ip::INET;
+ALTER TABLE supermasters ADD CONSTRAINT supermasters_pkey PRIMARY KEY (ip, nameserver);
CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops);
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
- type VARCHAR(10) NOT NULL,
+ type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
For gpgsql backend with nodnssec schema:
<programlisting><xi:include href="../../modules/gpgsqlbackend/nodnssec-3.x_to_3.4_schema.pgsql.sql" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
For gpgsql backend with dnssec schema:
- <screen>
-ALTER TABLE records ADD disabled BOOLEAN DEFAULT 'f';
-ALTER TABLE records ALTER COLUMN auth SET DEFAULT 't';
-
-
-CREATE TABLE comments (
- id SERIAL PRIMARY KEY,
- domain_id INT NOT NULL,
- name VARCHAR(255) NOT NULL,
- type VARCHAR(10) NOT NULL,
- modified_at INT NOT NULL,
- account VARCHAR(40) DEFAULT NULL,
- comment VARCHAR(65535) NOT NULL,
- CONSTRAINT domain_exists
- FOREIGN KEY(domain_id) REFERENCES domains(id)
- ON DELETE CASCADE,
- CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
-);
-
-CREATE INDEX comments_domain_id_idx ON comments (domain_id);
-CREATE INDEX comments_name_type_idx ON comments (name, type);
-CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
- </screen>
+ <programlisting><xi:include href="../../modules/gpgsqlbackend/dnssec-3.x_to_3.4_schema.pgsql.sql" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
For gsqlite3 backend with nodnssec schema:
<programlisting><xi:include href="../../modules/gsqlite3backend/nodnssec-3.x_to_3.4_schema.sqlite3.sql" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
For gsqlite3 backend with dnssec schema: