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



What is the difference between a data space index and a user index ?

Any insights into why the QDLS file system performs slower than the other file 
system ?

Is a stream file a distinct object type also ?

Thanks,

Steve Richter



---------- Original Message ----------------------------------
From: Dave McKenzie <davemck@zbiggroup.com>
Reply-To: mi400@midrange.com
Date:  Wed, 2 Jan 2002 19:26:12 -0800

>The mapping of path names to streamfile objects is implemented as a nested
>hierarchy of DSI's (data space indexes--the same kind of objects that
>constitute database access paths).  There's a root DSI contained in QSYS,
>which has an entry for each top-level directory (/dev, /home, etc.); each
>entry containing the virtual address of the DSI for that directory.  The
>top-level DSI's have entries for the objects in that directory, including
>streamfile objects and DSI's for the second-level sub-directories, and so on,
>and so on.  So there's a separate DSI for every directory and sub-directory
>in the IFS.
>
>Actually, there are two root DSI's in QSYS named "QP0DSystem Root" which has
>entries for the "root" filesystem, and "QP0DHidden System Root" which has
>entries for other filesystems (e.g. QOpenSys).  You can see these by doing
>DMPOB QSYS *LIB and scanning for "Root".  The DSI's have hex type 0C 01.  You
>can dump a DSI with SST using the address in the QSYS dump.  In a given DSI,
>to find the index entries for sub-directories, look for x0C01 in the entry;
>it will be followed by some zeros and the virtual address of the DSI.  Note
>that the names in the DSI entries are in Unicode where each character is
>coded as x00 followed by the ASCII code for the character.
>
>HOWEVER, I fully agree with Simon that normal application programming for IFS
>should use high-level languages and API's.  I think anyone trying to use MI
>for it is, in Donald Rumsfeld's phrase, "out of their mind."  I mentioned the
>above purely for the entertainment of the idly curious.
>
>Remember Donald Knuth's dictum: "Premature optimization is the root of all
>evil"
>
>--Dave
>
>On Wednesday 02 January 2002 13:32, Simon Coulter wrote:
>> My comments for what they are worth:
>>
>> Since the Source/Sink MI instructions are both blocked and a royal pain to
>> work with, isn't MI access to database files generally achieved by calling
>> various QDM* and QDB* "APIs"?  So what's the big deal with calling a
>> program to access the IFS?  Using pointers and based storage will allow
>> you to access all the data.
>>
>> If you want speed then use C.  It will be at least as fast as MI access,
>> possibly faster, has direct support for the IFS structure and APIs, and
>> you can embed most MI instructions in C due to support for MI built-ins.
>> (Actually, you could probably have written the code to do this in the time
>> it's taken to experiment.)
>>
>> IFS files are Byte Stream Spaces which are object type X'1E'.  The
>> documentation for RSLVSP allows that object type which implies that you
>> can resolve to an IFS object.  BUT the object name supported by RSLVSP is
>> restricted to 30 characters.  Does that imply that IFS objects have an
>> additional layer imposing the hierarchy?  Much like QDLS where the
>> hierarchy resolves to a single-level-store object.
>>
>> So, if you could convert the IFS path to the underlying *STMF or *DSTMF
>> (since the images in question are on optical disk) then you should be able
>> to resolve to it.  If you can resolve to it you should be able to take a
>> space pointer to it.  If you can set a space pointer then you can access
>> the data since a *STMF is a much simpler object than a database file.
>>
>> Does anyone know if this path to object conversion assumption is valid?
>> If so, does anyone know where the conversion table is located or an API
>> (probably undocumented) to perform the conversion?
>>
>> Regards,
>> Simon Coulter.
>>
>> --------------------------------------------------------------------
>>    FlyByNight Software         AS/400 Technical Specialists
>>    http://www.flybynight.com.au/
>>
>>    Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
>>    Fax:   +61 3 9419 0175   mailto: shc@flybynight.com.au   \ /
>>                                                              X
>>                  ASCII Ribbon campaign against HTML E-Mail  / \
>> --------------------------------------------------------------------
>
>_______________________________________________
>This is the MI Programming on the AS400 / iSeries (MI400) mailing list
>To post a message email: MI400@midrange.com
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/mi400
>or email: MI400-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/mi400.
>
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.