]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
gpgsql schema update improvements
authorKees Monshouwer <mind04@monshouwer.org>
Fri, 11 Apr 2014 14:47:14 +0000 (16:47 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 11 Apr 2014 18:53:24 +0000 (20:53 +0200)
modules/gpgsqlbackend/Makefile.am
modules/gpgsqlbackend/dnssec-3.x_to_3.4_schema.pgsql.sql [new file with mode: 0644]
modules/gpgsqlbackend/nodnssec-3.x_to_3.4_schema.pgsql.sql
modules/gpgsqlbackend/schema.pgsql.sql
pdns/docs/pdns.xml

index 06bdc354af857c3fd0e701a70ff1fd5e9150c7b8..96cafb3c3afaa44beb6b35870bc1a98ead012319 100644 (file)
@@ -2,7 +2,7 @@ AM_CPPFLAGS=-I@PGSQL_incdir@ @THREADFLAGS@
 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
diff --git a/modules/gpgsqlbackend/dnssec-3.x_to_3.4_schema.pgsql.sql b/modules/gpgsqlbackend/dnssec-3.x_to_3.4_schema.pgsql.sql
new file mode 100644 (file)
index 0000000..eaaaa5b
--- /dev/null
@@ -0,0 +1,31 @@
+/* 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);
index 0b58eac87f04126a2ce6fdff78adec7efa77bfa5..8067e141ead76baac01bc508f9da36b80de90ce7 100644 (file)
@@ -1,7 +1,12 @@
-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);
 
index 3423e8df0dcfdf71e844d275bf79f258b8ddbc49..7d49efcaedf2952e9dd37472f620b1b45b90f76a 100644 (file)
@@ -3,7 +3,7 @@ CREATE TABLE domains (
   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)))
index affd0d2e82cb503a7021d4cfcf279eff310059a9..268614e48367e28ec036bb951acb8060108ac09e 100644 (file)
@@ -12461,29 +12461,7 @@ create index recordorder on records (domain_id, ordername text_pattern_ops);
       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: