Cast null to int4 upgrading from Version 7.2 - Mailing list pgsql-patches

From Dwight Emmons
Subject Cast null to int4 upgrading from Version 7.2
Date
Msg-id 20061116215335.374B49F93C9@postgresql.org
Whole thread Raw
Responses Re: Cast null to int4 upgrading from Version 7.2
Re: Cast null to int4 upgrading from Version 7.2
Re: Cast null to int4 upgrading from Version 7.2
List pgsql-patches

My company is currently using version 7.2 and would like to convert to the latest version.   Unfortunately, version 7.3 implicitly casts a null text to an int4.  For example:

 

Create table employee_table (

   employee_id integer

   employee_name text

   employee_address text);

 

Select * from employee_table where employee_id = ‘’;

 

When executing this select statement in version 7.2 the null will be converted to an int zero and not fail.  In version 8.2 it fails.  We have over 20,000 lines of code and do not want to modify and test all of it.  Has anyone come across this problem?  (I am not interested in debating the theory of nulls versus zero.  I am just trying to avoid unnecessary costs).

 

I am not a DBA, and am looking for explicit instructions to solve this problem.  Is it possible to create a CAST after upgrading to version 8.2?    My research tells me the following cast was no longer implemented after version 7.2.  Will executing the following CAST solve my problem?

 

CREATE CAST (text AS int4) WITH FUNCTION int4(text);

 

If so, can someone give me instructions as to executing this statement?

 

Any help is appreciated….

 

Dwight

 

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: replication docs: split single vs. multi-master
Next
From: Markus Schiltknecht
Date:
Subject: Re: replication docs: split single vs. multi-master