[geeklog-hg] geeklog: Changed fixed-size char fields to varchar since Postgre...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Mon Jul 2 14:40:16 EDT 2012


changeset 8761:1e0de7041078
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/1e0de7041078
user: Dirk Haun <dirk at haun-online.de>
date: Mon Jul 02 11:40:57 2012 +0200
description:
Changed fixed-size char fields to varchar since Postgres padds them with blanks, which has all sorts of interesting side-effects, e.g. bug #0001425 (HTML post mode not recognized)

diffstat:

 sql/pgsql_tableanddata.php           |  12 ++++++------
 sql/updates/pgsql_1.8.1_to_2.0.0.php |   8 ++++++++
 2 files changed, 14 insertions(+), 6 deletions(-)

diffs (61 lines):

diff -r 4ef61b9b61ed -r 1e0de7041078 sql/pgsql_tableanddata.php
--- a/sql/pgsql_tableanddata.php	Mon Jul 02 10:33:34 2012 +0200
+++ b/sql/pgsql_tableanddata.php	Mon Jul 02 11:40:57 2012 +0200
@@ -211,7 +211,7 @@
 $_SQL[] = "
 CREATE TABLE {$_TABLES['maillist']} (
   code SERIAL, 
-  name char(32) default NULL,
+  name varchar(32) default NULL,
   PRIMARY KEY (code)
 )
 ";
@@ -244,8 +244,8 @@
 
 $_SQL[] = "
 CREATE TABLE {$_TABLES['postmodes']} (
-  code char(10) NOT NULL default '',
-  name char(32) default NULL,
+  code varchar(10) NOT NULL default '',
+  name varchar(32) default NULL,
   PRIMARY KEY (code)
 )
 ";
@@ -267,8 +267,8 @@
 
 $_SQL[] = "
 CREATE TABLE {$_TABLES['sortcodes']} (
-  code char(4) NOT NULL default '0',
-  name char(32) default NULL,
+  code varchar(4) NOT NULL default '0',
+  name varchar(32) default NULL,
   PRIMARY KEY (code)
 )
 ";
@@ -288,7 +288,7 @@
 $_SQL[] = "
 CREATE TABLE {$_TABLES['statuscodes']} (
   code int NOT NULL default '0',
-  name char(32) default NULL,
+  name varchar(32) default NULL,
   PRIMARY KEY (code)
 )
 ";
diff -r 4ef61b9b61ed -r 1e0de7041078 sql/updates/pgsql_1.8.1_to_2.0.0.php
--- a/sql/updates/pgsql_1.8.1_to_2.0.0.php	Mon Jul 02 10:33:34 2012 +0200
+++ b/sql/updates/pgsql_1.8.1_to_2.0.0.php	Mon Jul 02 11:40:57 2012 +0200
@@ -27,6 +27,14 @@
 $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD algorithm varchar(12) NOT NULL default 0";
 $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD stretch int NOT NULL default 1";
 
+// use varchars, not fixed-size char fields
+$_SQL[] = "ALTER TABLE {$_TABLES['maillist']} ALTER COLUMN name TYPE varchar(32)";
+$_SQL[] = "ALTER TABLE {$_TABLES['postmodes']} ALTER COLUMN code TYPE varchar(10)";
+$_SQL[] = "ALTER TABLE {$_TABLES['postmodes']} ALTER COLUMN name TYPE varchar(32)";
+$_SQL[] = "ALTER TABLE {$_TABLES['sortcodes']} ALTER COLUMN code TYPE varchar(4)";
+$_SQL[] = "ALTER TABLE {$_TABLES['sortcodes']} ALTER COLUMN name TYPE varchar(32)";
+$_SQL[] = "ALTER TABLE {$_TABLES['statuscodes']} ALTER COLUMN name TYPE varchar(32)";
+
 /**
  * Create Story and Submission Topic assignments
  *



More information about the geeklog-cvs mailing list