-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In addition to that, this link 
http://www.postgresql.org/docs/8.3/static/release-8-3.html would be helpful.

Gurjeet Singh wrote:
> On Wed, Mar 4, 2009 at 11:21 AM, tushar <tushar.qa
> <http://tushar.qa>@gmail.com <http://gmail.com>> wrote:
> 
>     -----BEGIN PGP SIGNED MESSAGE-----
>     Hash: SHA1
> 
>     Devan Goodwin wrote:
>     > Suspect we might have something in our schema that doesn't work on
>     8.3,
>     > doing some testing on fedora and hit this:
>     >
>     > psql:tables/rhn_contact_groups.sql:45: ERROR:  operator does not
>     exist:
>     > character = integer HINT:  No operator matches the given name and
>     > argument type(s). You might need to add explicit type casts.
>     >
>     > This is with: postgresql-server-8.3.6-1.fc10.i386
>     >
>     > Whereas the sql loads fine on postgresql-server-8.1.11-1.el5_1.1.
>     >
>     > Probably not a huge deal but it'll probably surface at some point.
>     :) I
>     > can't even tell what it's complaining about... anybody know?
>     >
>     > Devan
>     >
> 
>     I verified against PG version 8.1,8.2, it is working fine , for
>     example take this table :-
>     create table test(n char(1) not null check(n in (0,1))); :-by
>     default it is doing implicitly typecasting ,whereas on PG8.3 we need
>     to do it explicitly typecasting
>     like this :- create table test(n char(9) not null check(n in
>     (0::bpchar,1::bpchar))); it will work .
> 
> 
> Yeah, PG 8.3 removed some implicit typecast functions, and implicit
> casting of character data to numbers is one of them.
> 
> In your case, it is complaining about it's inability to find a
> comparison operator = to compare character data to integer data. That's
> the pitfall of having same data in two table columns, but with different
> datatypes.
> 
> For eg. one table has int columns  A, and other table has varchar column
> B, but the data populated by application in both is supposed to be of
> type integer (cases like foreign keys implemented in app);
> 
> create table t ( a int primary key );
> create table t1( a char(10) references t(a) ); -- will work in < 8.3 but
> not in >= 8.3
> 
> insert into t values( 123 );
> insert into t1 values( '123' );
> 
> select * from t, t1 where t.a = t1.a; -- will work in PG < 8.3 but not
> since 8.3 (if you dont use the FKey in create table)
> 
> Solution is to either change the datatype of one of the columns to match
> the other one, or to use explicit casting.
> 
> HTH,
> Best regards,
> -- 
> gurjeet[[email protected]
> EnterpriseDB      http://www.enterprisedb.com
> 
> singh.gurj...@{ gmail | hotmail | indiatimes | yahoo }.com
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Spacewalk-devel mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/spacewalk-devel








                                              --
                                        regards,tushar
                                        http://webeatoracle.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFJrkM2fQNodY2PIRoRAsbJAJ96c3/WrJy83gvbdlz54uKn1CcsIQCfTZKS
ehkQysLk5pcsecmaTE2/UK4=
=4CBk
-----END PGP SIGNATURE-----

_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to