Re: varchar truncation from 7.1 to 7.2

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: varchar truncation from 7.1 to 7.2
Дата
Msg-id 524.1028347290@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: varchar truncation from 7.1 to 7.2  (ljb <lbayuk@mindspring.com>)
Список pgsql-general
ljb <lbayuk@mindspring.com> writes:
>> The SQL standard required the change.

> Can you be more specific?

SQL92 section 9.2 "Store assignment" says (concerning assigning value V
to object column T):

            e) If the data type of T is variable-length character string and
              the length in characters M of V is greater than the maximum
              length in characters L of T, then,

              Case:

              i) If the rightmost M-L characters of V are all <space>s, then
                 the value of T is set to the first L characters of V and
                 the length in characters of T is set to L.

             ii) If one or more of the rightmost M-L characters of V are
                 not <space>s, then an exception condition is raised: data
                 exception-string data, right truncation.

Similar statements are made in other contexts such as casting a value to
varchar.

Elsewhere "exception condition" is defined:

         3.3.4  Use of terms

         3.3.4.1  Exceptions

         The phrase "an exception condition is raised:", followed by the
         name of a condition, is used in General Rules and elsewhere to
         indicate that the execution of a statement is unsuccessful, ap-
         plication of General Rules, other than those of Subclause 12.3,
         "<procedure>", and Subclause 20.1, "<direct SQL statement>", may
         be terminated, diagnostic information is to be made available,
         and execution of the statement is to have no effect on SQL-data or
         schemas.

Looks pretty black-and-white to me.  I don't much care for it either :-(
but the spec is not ambiguous.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Thomas Lockhart
Дата:
Сообщение: Re: varchar truncation from 7.1 to 7.2
Следующее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: very slow updates