Re: [QUESTIONS] backend dying on insert on 6.3, not dying on 6.2.1 p7

Started by Thomas G. Lockhartalmost 28 years ago2 messages
#1Thomas G. Lockhart
lockhart@alumni.caltech.edu

I've seen this myself on Solaris. If your default value as specified
in the CREATE TABLE statement is not exactly as long as the declared
width of the field, the backend dies with an assertion as soon as you
INSERT a record that needs to use the default.

Hmm. I see this on Linux also. It is only a problem for the char() type;
both varchar() and text behave properly.

You might want to post something to the bugs list...

- Tom

#2Bruce Momjian
maillist@candle.pha.pa.us
In reply to: Thomas G. Lockhart (#1)

I've seen this myself on Solaris. If your default value as specified
in the CREATE TABLE statement is not exactly as long as the declared
width of the field, the backend dies with an assertion as soon as you
INSERT a record that needs to use the default.

CREATE TABLE foo
(
i INT,
a CHAR(4) DEFAULT 'x'
);

INSERT INTO a (i) VALUES (23);

Will blow up the backend.

CREATE TABLE foo
(
i INT,
a CHAR(4) DEFAULT 'x '
);

This does not surprise me entirely, especially when char() fails but
varchar() and text work. It has to do with the way we handle char().
Can someone familiar with default handling checking into this.

-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)