Re: (no subject)
"James B. Byrne via Aubit4gl-discuss" <[email protected]> Thu, 24 Jun 2021 14:12:24 -0400
| Newsgroups | gmane.comp.lang.4gl.aubit.general |
|---|---|
| Message-ID | <[email protected]> |
On Thu, June 24, 2021 13:05, Mike Aubury wrote:
> Aubit4GL shouldnt need an oid column, the oid column is only mainly to
> replicate the ROWID functionality of Informix.
> If you dont use the ROWID but use a proper primary key, you shouldn't need
> a separate OID column
>
> That said - you can use the "THRU" syntax to pick a range of columns
>
> DISPLAY BY NAME gr_customer.customer_num THRU gr_customer.phone
>
>
>
The ROWID was introduced in the series of examples in "4GL by Example" in
exercise 10. It is used to confirm a delete. That is the only reason that I
added oids. In my prior experience I would simply use a table id column
instead.
So, the question becomes why would the recommended delete process for
Informix4GL use ROWID in place of the table id (customer_num/manu_code)
sequenced column?
This is the code from the example where ROWID is employed:
########################################
FUNCTION verify_rowid(mrowid, code_in_mem) -- ex10 tags 73 - 75
########################################
DEFINE mrowid INTEGER
DEFINE code_in_mem LIKE manufact.manu_code,
code_on_disk LIKE manufact.manu_code
SELECT manu_code
INTO code_on_disk
FROM manufact
WHERE ROWID = mrowid
IF (status == NOTFOUND)
OR
(code_on_disk <> code_in_mem)
THEN
ERROR " Manufacturer: ",
code_in_mem,
" has been deleted by another user."
RETURN(FALSE) -- NOT OK to proceed
END IF
RETURN(TRUE) -- OK to proceed
END FUNCTION -- verify_rowid(mrowid, code_in_mem) --
####
--
*** e-Mail is NOT a SECURE channel ***
Do NOT transmit sensitive data via e-Mail
Unencrypted messages have no legal claim to privacy
Do NOT open attachments nor follow links sent by e-Mail
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3