This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
It is not the tellg() function that is initially failing, it is the seekg(). Regardless of that detail, the real source of the problem and the main difference between QSYS.LIB and other file systems is summed up in the following statement from the lseek() API reference:
In the QSYS.LIB file and independent ASP QSYS.LIB file systems, while in text mode, you can only seek to the beginning of a member; otherwise, error [EINVAL] will be returned.
As described by the statement from the lseek() API reference, it is the source of the problem. And there are no plans to remove that restriction.
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Power Systems
Product - IBM i
Component - Languages - Other
Operating system - IBM i
Source - ISV (Independent Software Vendor)
For recording keeping, the previous attributes were:
Brand - Servers and Systems Software
Product family - Programming Languages
Product - C/C++ Compilers
Component - Miscellaneous
Operating system - IBM i
Source - ISV (Independent Software Vendor)
The email for the developer who requested clarity is bouncing so I'm guessing he's not in that role any longer. So I'm posting my response to him here, so there his replacement can review it.
Hello,
I am using the seekg() and tellg() methods of the ifstream class in the C++ language on IBM i.
When the file being processed is an IFS text file, these functions work properly.
When the file being processed is a native Db2 table, the tellg() method returns nothing.
It should return the row's relative record number to be consistent. I believe this to either be an oversight or a bug.
Thank you!
-Bob Cozzi
Waiting on client info.
Hi, Mr Bob_Cozzi. Which C runtime API do you use? Could you please send your test code to my email? My email address is my nickname. Thanks.
This is not true. I modified the routine to use the C runtime library and the results were as desired.
This is not true, I switch the routine to use the normal seats and it works as desired
Inside C++ runtime function tellg(), file system API lseek() is invoked. Following is the statement about from the lseek() API reference (http://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/apis/lseek.htm)
"In the QSYS.LIB file and independent ASP QSYS.LIB file systems, while in text mode, you can only seek to the beginning of a member; otherwise, error [EINVAL] will be returned."
This is the root cause of the problem. Given nature of the QSYS.LIB file system, we would like to consider this as a system restriction and do not plan to implement the required function.
Thanks
This tellg() function calls a file system API, we are still doing investigation together with Integrated File System team.
This RFE is still being investigated.