title: PostgreSQL 9.6 casting trouble
body: <p>I have the next function : <code>func1(a text, b text, c text)</code>. I summon it with arguments that aren't text - func1( d,e,f) when d is a numeric type, b is bigint type and c is timezone type. I found a comment that suggested to create automatic casting and I did so :</p>
  <pre><code>CREATE CAST (int AS text) WITH INOUT AS IMPLICIT;
  CREATE CAST (bigint AS text) WITH INOUT AS IMPLICIT;
  CREATE CAST (numeric AS text) WITH INOUT AS IMPLICIT;
  CREATE CAST (timezone AS text) WITH INOUT AS IMPLICIT;
  </code></pre>
  <p>Now suddenly, I got error in other function :</p>
  <pre><code>CREATE OR REPLACE FUNCTION Bl_Create_Flat_File_Pg.open_table (file_id utl_file.file_type,temp_variable text, p_percent_width bigint DEFAULT 100, p_border bigint DEFAULT 1) RETURNS VOID AS $body$
  BEGIN
  RAISE NOTICE 'INSIDE OPEN_TABLE FUNC';
  **PERFORM utl_file.put_line(file_id, '&lt;TABLE BORDER='||p_border||'  
  WIDTH='||p_percent_width||'%&gt;');**
  End;
  </code></pre>
  <p>The error I get is <code>operator is not unique: unknown || bigint</code>. So I decided to delete the casts that I created and it solved the problem but it took me to the first stage again - trying to summon the function without manual casting.</p>
  <p>What can I try next?</p>