Fix previous patch to exprTypmod.
authorTatsuo Ishii <ishii@postgresql.org>
Wed, 25 May 2005 02:13:48 +0000 (02:13 +0000)
committerTatsuo Ishii <ishii@postgresql.org>
Wed, 25 May 2005 02:13:48 +0000 (02:13 +0000)
src/backend/parser/parse_expr.c

index ce9ec2177c0a9d83147e59f8588bf76c7f971ada..6c0c53d0748b9b4ad24314de15e9fc3d0fff889d 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.163.2.2 2005/05/24 23:15:05 ishii Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.163.2.3 2005/05/25 02:13:48 ishii Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1358,11 +1358,11 @@ 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: