Let's say I have a database with two tables, a and b. Each has one column. 'a' has a column 't' of type text. 'b' has a column 'v' of type 'varchar' (no length specified). If I join the two tables, I see in the plan something that looks like this: Merge Cond: (a.t = (b.v)::text) I thought 'character varying' (aka varchar) sans length was an alias for text. Is it not? -- Jon
Jon Nelson <jnelson+pgsql@jamponi.net> writes:
> I thought 'character varying' (aka varchar) sans length was an alias
> for text. Is it not?
It has the same behavior, but it is a distinct type, so dummy coercions
are needed.
regards, tom lane
On Fri, Feb 4, 2011 at 1:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Jon Nelson <jnelson+pgsql@jamponi.net> writes: >> I thought 'character varying' (aka varchar) sans length was an alias >> for text. Is it not? > > It has the same behavior, but it is a distinct type, so dummy coercions > are needed. Are there any performance implications for this dummy coercion? Especially in joins. -- Jon
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера