agora inbox for pljava-dev@postgresql.org  
help / color / mirror / Atom feed
Subject: [Pljava-dev] Possible to override default type mappings?
Date: Sun, 06 Aug 2006 20:51:20 -0400
Message-ID: <44D68E88.2000103@goldencode.com> (raw)

Hello,

In order to use a pre-existing Java library which works with specialized
implementations of the basic SQL types (varchar, int, etc.), I am trying
to override the default type mappings for these types to use our
specialized classes instead of java.lang.String, java.lang.Integer, etc.

Is this possible?  I keep getting an error:

test_db=# select indexOf('ABC', 'A');
ERROR:  No java type mapping installed for "test.character"

I have used SQLJ to install my jar with a deployment descriptor which
adds the type mappings and creates my "indexOf(varchar, varchar)" function:

      select sqlj.add_type_mapping('int', 'test.integer');
      select sqlj.add_type_mapping('varchar', 'test.character');

      create function indexOf(varchar, varchar) returns int
      as 'test.character.indexOf(test.character, test.character)'
      language java;

There are no errors at this stage and it looks as though the type
mappings were set up correctly:

      test_db=# select * from sqlj.typemap_entry;
       mapid |    javaname    |      sqlname
      -------+----------------+--------------------
          46 | test.integer   | pg_catalog.int4
          47 | test.character | pg_catalog.varchar

I also use sqlj.set_classpath to set my classpath to my installed jar,
which reports no error.

I am testing with PL/Java version 1.3.0 on SUSE Linux 10, PG 8.1.3
(though I will need to support this configuration with PG 8.1.4 on
multiple Linux distros).

Thanks in advance for any help.

Regards,
Eric Faulhaber





view thread (3+ messages)  latest in thread

Message-ID: <44D68E88.2000103@goldencode.com>
Permalink:  ../44D68E88.2000103@goldencode.com/
Also on:    postgresql.org/message-id/44D68E88.2000103@goldencode.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pljava-dev@postgresql.org
  Subject: Re: [Pljava-dev] Possible to override default type mappings?
  In-Reply-To: <44D68E88.2000103@goldencode.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox