]> granicus.if.org Git - postgresql/commitdiff
Fix previous patch to exprTypmod.
authorTatsuo Ishii <ishii@postgresql.org>
Wed, 25 May 2005 02:03:52 +0000 (02:03 +0000)
committerTatsuo Ishii <ishii@postgresql.org>
Wed, 25 May 2005 02:03:52 +0000 (02:03 +0000)
src/backend/parser/parse_expr.c

index 745bc9e78776b271d001b66d07b56beb6c5d13c8..9bdee98dafb0e8830e287c1f466a4746bd80da35 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.129.2.2 2005/05/24 23:52:02 ishii Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.129.2.3 2005/05/25 02:03:52 ishii Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -981,11 +981,12 @@ exprTypmod(Node *expr)
                                        case BPCHAROID:
                                                if (!con->constisnull)
                                                {
-                                                       int32 len = VARSIZE(DatumGetPointer(con->constvalue));
+                                                       int32 len = VARSIZE(DatumGetPointer(con->constvalue)) - VARHDRSZ;
 
                                                        if (pg_database_encoding_max_length() > 1)
                                                                len = pg_mbstrlen_with_len(VARDATA(DatumGetPointer(con->constvalue)), len);
-                                                       return len;
+
+                                                       return len + VARHDRSZ;
                                                }
                                                break;
                                        default: