× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I agree, it's something that'd at least need maintenance at upgrades, etc.
You may also need to deal with security - should, right? But, AFAIC,
those're the main issues. SYSCOLUMNS itself is just a normal SQL view over
this thing. You could have created it yourself.

At 04:46 PM 3/15/02 -0500, you wrote:

>It just concerns me to build a logical over an IBM supplied file.
>
>Rob Berendt
>--
>"They that can give up essential liberty to obtain a little temporary
>safety deserve neither liberty nor safety."
>Benjamin Franklin
>
>
>
>                     Vernon Hamberg
>                     <vhamberg@attbi.com       To:     midrange-l@midrange.com
>                     >                         cc:
>                     Sent by:                  Fax to:
>                     midrange-l-admin@mi       Subject:     Re: Retrieving
> 1, and only 1, row in SQL
>                     drange.com
>
>
>                     03/15/2002 04:02 PM
>                     Please respond to
>                     midrange-l
>
>
>
>
>
>
>Optimizer recommended a logical over QADBIFLD with these key fields:
>
>DBIREL, DBILB2, DBIATR, DBILFI, DBILFL
>
>The first is Relational? Y/N, the third is the attribute (<> 'IX'). These
>are in the where clause for SYSCOLUMNS.
>
>The other 3 are the fields you are using for selection.
>
>Cheers
>
>At 02:27 PM 3/15/02 -0500, you wrote:
>
> >The file being queried is QSYS2/SYSCOLUMNS.  This file has 6.6million
> >records on our development box.  There are no keys on the file and I am
>not
> >going to create an index on an IBM supplied file.
> >
> >The following subprocedure is used to access the file.  The point of this
> >subprocedure is threefold depending on how it is called.  One, determine
> >the existence of the library.  Two determine the existence of the file.
> >Three determine the existence of the field.  Performance is fast on the
> >field check and the file check.  Performance plummets on the file check.
> >For example a check on one of our BPCS data libraries returned a count of
> >81,390 and took about a minute.
> >
> >I thought I'd play around with STRSQL.  First I tried
> >select dbname
> >from qsys2/syscolumns
> >where dbname='DATDIVF'
> >fetch first 1 row only
> >But I got "ALWCPYDTA(*NO) specified but temporary result required for
> >SELECT IN".  I sure don't want to wait for it to copy a 6.6 million record
> >file.  Would it copy the logical (QSYS2/SYSCOLUMNS, 6,590,211 records,
> >ODOBSZ=53,248) or the physical (QSYS/QADBIFLD, 6,590,209 records,
> >ODOBSZ=2,212,638,720)?
> >
> >Any suggestions?
> >
> >      P checkdb         B
> >      D checkdb         PI            10I 0
> >      D library                       10A   CONST
> >      D File                          10A   CONST OPTIONS(*NOPASS)
> >      D field                         10A   CONST OPTIONS(*NOPASS)
> >
> >      D* Local fields
> >      D retField        S             10I 0
> >      D sqlstring       s            200a
> >      D loFile          s                   like(File)
> >      D hiFile          s                   like(File)
> >      D loField         s                   like(Field)
> >      D hiField         s                   like(Field)
> >
> >       /free
> >        sqlstring = 'Select count(*) from qsys2/syscolumns +
> >                     where DBNAME = ? +
> >                       and TBNAME between ? and ? +
> >                       and NAME   between ? and ?';
> >        if %parms>1;
> >         loFile=File;
> >         hiFile=File;
> >        else;
> >         loFile=*loval;
> >         hiFile=*hival;
> >        endif;
> >        if %parms>2;
> >         loField=Field;
> >         hiField=Field;
> >        else;
> >         loField=*loval;
> >         hiField=*hival;
> >        endif;
> >        retField=*zeros;
> >       /end-free
> >
> >      C/EXEC SQL
> >      C+ Prepare stmt from :sqlString
> >      C/END-EXEC
> >
> >
> >      C/EXEC SQL
> >      C+ declare C1 cursor for stmt
> >      C/END-EXEC
> >
> >      C/EXEC SQL
> >      C+ Open C1 using :library, :loFile, :hiFile, :loField, :hiField
> >      C/END-EXEC
> >
> >      C/EXEC SQL
> >      C+ Fetch C1 into :retField
> >      C/END-EXEC
> >
> >      C/EXEC SQL
> >      C+ Close C1
> >      C/END-EXEC
> >
> >      C                   RETURN    retField
> >      P checkdb         E
> >
> >
> >Rob Berendt
> >--
> >"They that can give up essential liberty to obtain a little temporary
> >safety deserve neither liberty nor safety."
> >Benjamin Franklin
> >
> >_______________________________________________
> >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
>list
> >To post a message email: MIDRANGE-L@midrange.com
> >To subscribe, unsubscribe, or change list options,
> >visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
> >or email: MIDRANGE-L-request@midrange.com
> >Before posting, please take a moment to review the archives
> >at http://archive.midrange.com/midrange-l.
>
>_______________________________________________
>This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
>To post a message email: MIDRANGE-L@midrange.com
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
>or email: MIDRANGE-L-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/midrange-l.
>
>
>
>
>
>_______________________________________________
>This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
>To post a message email: MIDRANGE-L@midrange.com
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
>or email: MIDRANGE-L-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.