AV with soundex and PostgreSQL

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Thomas J.
Posts: 95
Joined: Mon 21 Nov 2005 12:16
Location: Germany

AV with soundex and PostgreSQL

Post by Thomas J. » Tue 16 Mar 2010 11:46

Hello all,

if I execute the command in the database admin tool I get a result set.
But if I use the TUniQuery I get an AV.

The database is setup with UTF-8

SELECT *
FROM compliance.t_item_name
WHERE soundex(c_name) = soundex('Laden')

Code: Select all

CREATE TABLE compliance.t_item_name
(
  c_source character varying(10) NOT NULL,
  c_item_id character varying(25) NOT NULL,
  c_id character varying(25) NOT NULL,
  c_name character varying(120) DEFAULT NULL::character varying,
  c_firstname character varying(120) DEFAULT NULL::character varying,
  c_middlename character varying(120) DEFAULT NULL::character varying,
  c_wholename character varying(120) DEFAULT NULL::character varying,
  CONSTRAINT t_item_name_pkey PRIMARY KEY (c_source, c_item_id, c_id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE compliance.t_item_name OWNER TO me;
The stack below

Code: Select all

main thread ($1024):
1f281ffd +000 ???
500073b7 +023 rtl140.bpl        System          3546   +7 System.AcquireExceptionObject
7732010a +00a ntdll.dll                                   KiUserExceptionDispatcher
0d0386b0 +25c pgprovider140.bpl Pgclassesuni              TPgSQLCommand.Prepare
154c2124 +008 dac140.bpl        Craccess                  TCRRecordSet.InternalPrepare
0d03ae01 +00d pgprovider140.bpl Pgclassesuni              TPgSQLRecordSet.InternalPrepare
0d039dcb +047 pgprovider140.bpl Pgclassesuni              TPgSQLRecordSet.ExecCommand
0d03b409 +01d pgprovider140.bpl Pgclassesuni              TPgSQLRecordSet.ExecFetch
154c2169 +035 dac140.bpl        Craccess                  TCRRecordSet.InternalOpen
0d03b4b1 +005 pgprovider140.bpl Pgclassesuni              TPgSQLRecordSet.InternalOpen
15465fef +037 dac140.bpl        Memdata                   TData.Open
1546eaa0 +000 dac140.bpl        Memdata                   TMemData.Open
154c2298 +000 dac140.bpl        Craccess                  TCRRecordSet.Open
1547af78 +02c dac140.bpl        Memds                     TMemDataSet.InternalOpen
154a6eb2 +0c6 dac140.bpl        Dbaccess                  TCustomDADataSet.InternalOpen
50690d05 +019 dbrtl140.bpl      DB             11328   +2 DB.TDataSet.DoInternalOpen
50690dbe +01e dbrtl140.bpl      DB             11357   +4 DB.TDataSet.OpenCursor
1547b276 +00a dac140.bpl        Memds                     TMemDataSet.OpenCursor
154a111a +1a6 dac140.bpl        Dbaccess                  TCustomDADataSet.OpenCursor
C++Builder2010
PostgreSQL 8.4
UniDac Version 3.00.0.7

Thomas J.
Posts: 95
Joined: Mon 21 Nov 2005 12:16
Location: Germany

Post by Thomas J. » Tue 16 Mar 2010 12:15

I solved the problem.
The problem was the default schemata.

--------
default schemata was compliance

SELECT *
FROM t_item_name
WHERE soundex(c_name) = soundex('Laden')

AV due to non existing funtion soundex.
But any error I noticed is thrown a AV. Why?

Thanks Thomas

Challenger
Devart Team
Posts: 925
Joined: Thu 17 Nov 2005 10:53

Post by Challenger » Fri 19 Mar 2010 12:39

We could not reproduce the AV. Perhaps this is a configuartion problem.

Post Reply