   This  time  it's during the parser (gdb told me). varcharin()
    is called with a atttypmod of  0  causing  a  palloc()  of  0
    bytes.  How should a VARCHAR type whithout a specified length
    behave? Is this type 1 character or a  variable  size  up  to
    4096?

I thought we fixed this on Feb 3. look at
parse_expr.c line 104: it should read: 
                                if (con->typename != NULL)
!                                       result = parser_typecast(val,
con->typename, -1);
                                else

I think all funcs calling with atttypmod = 0 are allways wrong, should
be -1.
or a number > 0 (or 4 if atttypmod includes the VARHDRSZ don't know) 

Andreas

Thu, 5 Feb 1998 18:23:59 +0100 
Zeugswetter Andreas DBT <Andreas.Zeugswetter@telecom.at>
Re: atttypmod of  0
> 
>    This  time  it's during the parser (gdb told me). varcharin()
>     is called with a atttypmod of  0  causing  a  palloc()  of  0
>     bytes.  How should a VARCHAR type whithout a specified length
>     behave? Is this type 1 character or a  variable  size  up  to
>     4096?
> 
> I thought we fixed this on Feb 3. look at
> parse_expr.c line 104: it should read: 
>                                 if (con->typename != NULL)
> !                                       result = parser_typecast(val,
> con->typename, -1);
>                                 else
> 
> I think all funcs calling with atttypmod = 0 are allways wrong, should
> be -1.
> or a number > 0 (or 4 if atttypmod includes the VARHDRSZ don't know) 
> 
> Andreas
> 
> 

Yes, we did, but now I fixed varcharin, and bpcharin to test for
atttypmod of 0 and do the right thing, I think.  If we need to make the
default atttypmod value -1, then we can change it back.  Let me know if
the current fix does not work.

Should I make atttypmod default to -1?

-- 
Bruce Momjian
maillist@candle.pha.pa.us

Thu, 5 Feb 1998 12:41:44 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] Re: atttypmod of  0
> 
>    This  time  it's during the parser (gdb told me). varcharin()
>     is called with a atttypmod of  0  causing  a  palloc()  of  0
>     bytes.  How should a VARCHAR type whithout a specified length
>     behave? Is this type 1 character or a  variable  size  up  to
>     4096?
> 
> I thought we fixed this on Feb 3. look at
> parse_expr.c line 104: it should read: 
>                                 if (con->typename != NULL)
> !                                       result = parser_typecast(val,
> con->typename, -1);
>                                 else
> 
> I think all funcs calling with atttypmod = 0 are allways wrong, should
> be -1.
> or a number > 0 (or 4 if atttypmod includes the VARHDRSZ don't know) 

It does include the VARHDRSZ.

-- 
Bruce Momjian
maillist@candle.pha.pa.us

Thu, 5 Feb 1998 12:57:21 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] Re: atttypmod of  0
> 
> > 
> >    This  time  it's during the parser (gdb told me). varcharin()
> >     is called with a atttypmod of  0  causing  a  palloc()  of  0
> >     bytes.  How should a VARCHAR type whithout a specified length
> >     behave? Is this type 1 character or a  variable  size  up  to
> >     4096?
> > 
> > I thought we fixed this on Feb 3. look at
> > parse_expr.c line 104: it should read: 
> >                                 if (con->typename != NULL)
> > !                                       result = parser_typecast(val,
> > con->typename, -1);
> >                                 else
> > 
> > I think all funcs calling with atttypmod = 0 are allways wrong, should
> > be -1.
> > or a number > 0 (or 4 if atttypmod includes the VARHDRSZ don't know) 
> 
> It does include the VARHDRSZ.

    So the right check would be "atttypmod > 4" instead of "> 0"
    But fixing all the other places to use one and the same
    value (0 or -1) would be a good idea.

> 
> -- 
> Bruce Momjian
> maillist@candle.pha.pa.us
> 
> 


Until later, Jan


-- 

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#======================================== jwieck@debis.com (Jan Wieck) #


Thu, 5 Feb 1998 19:19:37 +0100 (MET)
jwieck@debis.com (Jan Wieck)
Re: [HACKERS] Re: atttypmod of  0
> > It does include the VARHDRSZ.
> 
>     So the right check would be "atttypmod > 4" instead of "> 0"
>     But fixing all the other places to use one and the same
>     value (0 or -1) would be a good idea.
> 

I already have.  0 is the default, but I can change it.

-- 
Bruce Momjian
maillist@candle.pha.pa.us

Thu, 5 Feb 1998 13:47:34 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] Re: atttypmod of  0