Re: Check constraints for varchar[] and varchar[][] columns in a table - Mailing list pgsql-general

From Alexander Farber
Subject Re: Check constraints for varchar[] and varchar[][] columns in a table
Date
Msg-id CAADeyWiVq5Bu52+owCytSZxmT2ZPRunoNpvPyT5PXMDy6xGK8g@mail.gmail.com
Whole thread Raw
In response to Re: Check constraints for varchar[] and varchar[][] columns in a table  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Okay, let's call it <~

:-)

On Fri, Mar 4, 2016 at 4:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Alexander Farber <alexander.farber@gmail.com> writes:
> I am trying to add CHECK constraints to the VARCHAR arrays:

>         hand1 varchar[7] NOT NULL CHECK (ALL(hand1) ~ '^[*A-Z]$'),

> but get syntax errors near "ALL"
> - probably because that keyword is supposed to be on the right side?

Yeah, the syntax has to be "scalar operator ALL (array)".

> Could anyone please recommend a way to implement check constraints here?

The workaround that's been suggested in the past is to define a reversed
pattern match operator, ie one that has the pattern on the left.  There's
no such thing in the core PG distribution, but the only hard part of making
your own is figuring out what to name the operator ;-)

                        regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Check constraints for varchar[] and varchar[][] columns in a table
Next
From: Alex Ignatov
Date:
Subject: String literal doesn't autocast to text type