× 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.



On 21-Oct-2015 11:04 -0500, Vernon Hamberg wrote:
On 10/21/2015 9:55 AM, rob wrote:
Database has control of the tables in QSYS2 and SYSTOOLS.
Database has control of database objects. This allows them to
update the items in QSYS2 and SYSTOOLS.

Database does NOT have control over all stuff. Therefore do NOT
expect every CRT..., DLT..., CHG... command out there to
automatically update some object table in QSYS2.

Theoretically a[n operating] system could be implemented as such, much more directly, without the separation of what is the [realm of the] Database vs what is not. As systems become faster, a system on which everything is effectively either stored in a row [i.e. the object is just a row, much like other databases work anyhow, such as an INDEX is a row vs another\additional entity] or is simply reflected-as row data within in a database, would be possible; e.g. a *CMD could be presented as XML, so also could be stored, retrieved, and interpreted for parsing that way... already being done, except the stored-as part. The Library (*LIB) object type is just a Machine Index, which is an Index object, which is what the Dataspace Index also is... so really, the concept of querying the library directly with the SQL instead of /listing/ the objects via an inflexible hardened-rules interface is really quite limiting.

Database will have to use APIs, like open list of objects, to get
object information with services like Object_Statistics

I still suggest requesting IBM add more columns to
Object_Statistics, like changed date and system library name.


A past discussion about that feature also lamented the missing library name. However I do not recall the context [pun intended; for the geeks] for the desire to have that data included. I do recall taking advantage of the library name being included in the DSPOBJD output, but perhaps only when special-value or a generic library specification was made on the invocations, and I am not sure if any are even allowed on that [AFaiK still poorly documented] UDTF.


I agree on the changed date - less so on system library name,
since there is a column for ObjLongSchema, which will be the system
library name (unless someone creates uses
CREATE SCHEMA thisisalongnameforaschema)


I suppose specifically because that _*unless someone*_ scenario would debase the effect of the expression CAST(LEFT(OBJLONGSCHEMA,10) AS CHAR(10)), that would seem a good reason to have _system library name_ remain inclusive of such a request.?

Alternatively one could just code the SYS_OBJ_NAME scalar UDF on the OBJLONGSCHEMA column to ask the database to /calculate/ the value of the library name from the long-library name. Oh! Never mind, that is what my RETURNS CHAR(10) scalar User Defined Function (UDF) does, though of another name [RTVSN as I recall] by invoking my stored procedure that defines the Retrieve Short Name (QDBRTVSN) API. IIRC that API added support the long library [schema] name as well.

SELECT OBJNAME, OBJTYPE, OBJCREATED
, SYS_OBJ_NAME(OBJLONGSCHEMA) as LIB
FROM TABLE (QSYS2.OBJECT_STATISTICS(...


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.