[Gambas-user] Postgres - obscure problem with oids
Benoît Minisini
g4mba5 at gmail.com
Sat Oct 31 13:06:56 CET 2020
Le 31/10/2020 à 04:59, Bruce a écrit :
> I have a table ("tableext") which is an "extension" to the system
> pg_catalog pg_class table. tableext relates to the pg_class on 1:1 basis
> via the pg_class OID. Inn the tableext class that oid (called "tname")
> a) is the primary key and
> b) has a datatype of "regclass", IOW the table displays the OID as a
> table name instead of an OID.
> That is all standard stuff in postgres whwn dealing with the catalog.
>
> Here's my problem. In Gambas I am trying to update a row in this
> tableext table.
>
> I can get an updateable result using
> hBuffer = $srcConn.Edit("dd.tableext", "tname = &1::regclass",
> txtTableName.Text)
>
> In other words I am forcing the integer OID from the tname. That's fine
> and I get an updatable cursor.
>
> But when I get to the hBuffer.Update point Gambas is trying to use the
> string tname and I cant see how to tell it to pass the ::regclass back
> to the postgres server, A sample db.debug output of the query it is
> trying to execute is:
>
> UPDATE "dd"."tableext"
> SET "cat" = $$LOOKUP$$,
> "facade" = $$Reference$$,
> "is audited" = FALSE,
> "strength" = $$STRONG$$,
> "aspect" = $$Reference$$,
> "comments" = NULL,
> "disposition" = NULL,
> "centity" = NULL,
> "boclass" = $$BPGroups$$
> WHERE "tname" = $$bpgroups$$
>
>
> I need that last line to be
>
> WHERE "tname" = $$bpgroups$$::regclass.
>
> Any clues (apart from writing specific update queries which is too
> onerous for the number of thesse I have to do).
>
> tia
> bruce
>
You have to write your own update request.
Regards,
--
Benoît Minisini
More information about the User
mailing list