Currently, this we are running in production, not faced any issues with functional or performance or database maintenance, I am talking about banking related application
As per my knowledge/experience this should work without any downside, and, this cast creation method is part of postgresql document from 8.4 url: http://www.postgresql.org/docs/9.4/static/sql-createcast.html Thanks Sridhar BN On Sun, Feb 22, 2015 at 7:39 AM, Ken Tanzer <ken.tan...@gmail.com> wrote: > I tried that and it does indeed work. (With, of course, the appropriate > permissions to create the cast.) > > So this makes me wonder--is there any downside or unwelcome side effects > to having such a cast? And if not, why isn't it part of the default setup? > > Cheers, > Ken > > On Sat, Feb 21, 2015 at 3:34 AM, sridhar bamandlapally < > sridhar....@gmail.com> wrote: > >> Hi >> >> Please see below, this works, way for implicit type casting >> >> bns=# CREATE TEMP TABLE foo (my_array varchar[]); >> CREATE TABLE >> bns=# >> bns=# INSERT INTO foo (my_array) SELECT '{TEST}'; >> INSERT 0 1 >> bns=# >> bns=# SELECT my_array[1],array_length(my_array,1) FROM foo; >> my_array | array_length >> ----------+-------------- >> TEST | 1 >> (1 row) >> >> bns=# >> *bns=# INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}';* >> *ERROR: column "my_array" is of type character varying[] but expression >> is of type text* >> *LINE 1: INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}';* >> * ^* >> *HINT: You will need to rewrite or cast the expression.* >> bns=# >> bns=# CREATE CAST (text AS varchar[]) WITH INOUT AS IMPLICIT; >> CREATE CAST >> bns=# >> bns=# INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'; >> ---- this works >> INSERT 0 1 >> bns=# >> bns=# >> >> >> in previous mail, sorry for not mentioning varchar*"[]"* >> >> We did type cast implicit method to avoid application code changes for >> Oracle to PostgreSQL compatible >> >> Thanks >> Sridhar BN >> >> >> >> On Sat, Feb 21, 2015 at 9:38 AM, Ken Tanzer <ken.tan...@gmail.com> wrote: >> >>> I'm not able to run this unless I'm the Postgres super user. But if I >>> run it as such, it tells me that cast already exists anyway. >>> >>> CREATE CAST (text AS varchar) WITH INOUT AS IMPLICIT; >>> ERROR: cast from type text to type character varying already exists >>> >>> Of course this will work fine: >>> INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'::varchar[]; >>> >>> I was mostly surprised by having DISTINCT added to a SELECT make things >>> break. It may be too obscure an issue to be worth adding, but nothing on >>> the DISTINCT documentation suggests this possibility. >>> >>> "If DISTINCT is specified, all duplicate rows are removed from the >>> result set..." >>> http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-DISTINCT >>> >>> Cheers, >>> Ken >>> >>> On Fri, Feb 20, 2015 at 6:30 PM, sridhar bamandlapally < >>> sridhar....@gmail.com> wrote: >>> >>>> >>>ERROR: column "my_array" is of type character varying[] but >>>> expression is of type text >>>> >>>> please try this below, may be this should help >>>> >>>> CREATE CAST (text AS varchar) WITH INOUT AS IMPLICIT; >>>> >>>> just for info: >>>> actually this should be available in default >>>> >>>> >>>> On Fri, Feb 20, 2015 at 9:48 AM, Ken Tanzer <ken.tan...@gmail.com> >>>> wrote: >>>> >>>>> Hi. Here's a boiled down example of something that caught me by >>>>> surprise: >>>>> >>>>> ag_reach_test=> CREATE TEMP TABLE foo (my_array varchar[]); >>>>> CREATE TABLE >>>>> ag_reach_test=> INSERT INTO foo (my_array) SELECT '{TEST}'; >>>>> INSERT 0 1 >>>>> ag_reach_test=> SELECT my_array[1],array_length(my_array,1) FROM foo; >>>>> my_array | array_length >>>>> ----------+-------------- >>>>> TEST | 1 >>>>> (1 row) >>>>> >>>>> ag_reach_test=> INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'; >>>>> ERROR: column "my_array" is of type character varying[] but >>>>> expression is of type text >>>>> LINE 1: INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'; >>>>> ^ >>>>> HINT: You will need to rewrite or cast the expression. >>>>> >>>>> It's easy enough to add a cast, but I was curious if this was expected >>>>> and desired behavior. Thanks. >>>>> >>>>> Ken >>>>> >>>>> -- >>>>> AGENCY Software >>>>> A Free Software data system >>>>> By and for non-profits >>>>> *http://agency-software.org/ <http://agency-software.org/>* >>>>> *https://agency-software.org/demo/client >>>>> <https://agency-software.org/demo/client>* >>>>> ken.tan...@agency-software.org >>>>> (253) 245-3801 >>>>> >>>>> Subscribe to the mailing list >>>>> <agency-general-requ...@lists.sourceforge.net?body=subscribe> to >>>>> learn more about AGENCY or >>>>> follow the discussion. >>>>> >>>> >>>> >>> >>> >>> -- >>> AGENCY Software >>> A Free Software data system >>> By and for non-profits >>> *http://agency-software.org/ <http://agency-software.org/>* >>> *https://agency-software.org/demo/client >>> <https://agency-software.org/demo/client>* >>> ken.tan...@agency-software.org >>> (253) 245-3801 >>> >>> Subscribe to the mailing list >>> <agency-general-requ...@lists.sourceforge.net?body=subscribe> to >>> learn more about AGENCY or >>> follow the discussion. >>> >> >> > > > -- > AGENCY Software > A Free Software data system > By and for non-profits > *http://agency-software.org/ <http://agency-software.org/>* > *https://agency-software.org/demo/client > <https://agency-software.org/demo/client>* > ken.tan...@agency-software.org > (253) 245-3801 > > Subscribe to the mailing list > <agency-general-requ...@lists.sourceforge.net?body=subscribe> to > learn more about AGENCY or > follow the discussion. >