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