1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-18 17:41:14 +03:00

Fix typmod interpretation for bit types. (It was erroneously assumed that

for bit(x), the typmod stores x+4, like for the character types.)
This commit is contained in:
Peter Eisentraut 2003-12-07 10:18:50 +00:00
parent 14ddc01eaf
commit d5130d2387
2 changed files with 58 additions and 7 deletions

View File

@ -1,10 +1,55 @@
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.235.2.9 2003/12/02 16:14:38 tgl Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.235.2.10 2003/12/07 10:18:50 petere Exp $
--> -->
<appendix id="release"> <appendix id="release">
<title>Release Notes</title> <title>Release Notes</title>
<sect1 id="release-7-4-1">
<title>Release 7.4.1</title>
<note>
<title>Release date</title>
<simpara>not yet</simpara>
</note>
<para>
This release contains a number of fixes for release 7.4.
</para>
<sect2>
<title>Migration to version 7.4.1</title>
<para>
A dump/restore is <emphasis>not</emphasis> required for those
running release 7.4.
</para>
<para>
If you want to install the fixes in the information schema
concerning the bit types, you need to reload the information
schema. This is either accomplished by initializing a new cluster
by running <command>initdb</command>, or by running the following
sequence of SQL commands in each database (ideally including
<literal>template1</literal>) as a superuser in
<application>psql</application>, after installing the new release:
<programlisting>
DROP SCHEMA information_schema CASCADE;
\i /usr/local/pgsql/share/information_schema.sql
</programlisting>
Substitute your installation path in the second command.
</para>
</sect2>
<sect2>
<title>Changes</title>
<para>
TBD
</para>
</sect2>
</sect1>
<sect1 id="release-7-4"> <sect1 id="release-7-4">
<title>Release 7.4</title> <title>Release 7.4</title>

View File

@ -4,7 +4,7 @@
* *
* Copyright 2003, PostgreSQL Global Development Group * Copyright 2003, PostgreSQL Global Development Group
* *
* $Id: information_schema.sql,v 1.15.2.1 2003/11/08 20:43:57 tgl Exp $ * $Id: information_schema.sql,v 1.15.2.2 2003/12/07 10:18:50 petere Exp $
*/ */
/* /*
@ -260,12 +260,16 @@ CREATE VIEW columns AS
CAST( CAST(
CASE WHEN t.typtype = 'd' THEN CASE WHEN t.typtype = 'd' THEN
CASE WHEN t.typbasetype IN (25, 1042, 1043, 1560, 1562) AND t.typtypmod <> -1 CASE WHEN t.typbasetype IN (1042, 1043) AND t.typtypmod <> -1
THEN t.typtypmod - 4 THEN t.typtypmod - 4 /* char, varchar */
WHEN t.typbasetype IN (1560, 1562) AND t.typtypmod <> -1
THEN t.typtypmod /* bit, varbit */
ELSE null END ELSE null END
ELSE ELSE
CASE WHEN a.atttypid IN (25, 1042, 1043, 1560, 1562) AND a.atttypmod <> -1 CASE WHEN a.atttypid IN (1042, 1043) AND a.atttypmod <> -1
THEN a.atttypmod - 4 THEN a.atttypmod - 4
WHEN a.atttypid IN (1560, 1562) AND a.atttypmod <> -1
THEN a.atttypmod
ELSE null END ELSE null END
END END
AS cardinal_number) AS cardinal_number)
@ -559,8 +563,10 @@ CREATE VIEW domains AS
AS data_type, AS data_type,
CAST( CAST(
CASE WHEN t.typbasetype IN (25, 1042, 1043, 1560, 1562) AND t.typtypmod <> -1 CASE WHEN t.typbasetype IN (1042, 1043) AND t.typtypmod <> -1
THEN t.typtypmod - 4 THEN t.typtypmod - 4 /* char, varchar */
WHEN t.typbasetype IN (1560, 1562) AND t.typtypmod <> -1
THEN t.typtypmod /* bit, varbit */
ELSE null END ELSE null END
AS cardinal_number) AS cardinal_number)
AS character_maximum_length, AS character_maximum_length,