|
Hi Troy
So far as I know, there is no way that the new file "remembers" the old
key field length. This feels like a library list issue.
Is the new table created with SQL at first? When it doesn't seem to work?
Also, is there any kind of caching at the client? I don't see how, but I
just wonder.
This doesn't make much sense, does it? Whew!!
Vern
On 3/12/2013 1:46 PM, Troy Hyde wrote:
Sorry in advance for the verbose email.process is
I received a question from another programmer in my shop. I'll give a
little background and then provide his question.
When performing an upgrade from one major release to another, our
to rename the existing data library and then restore the new packageversion
of that library. We then migrate the data from the old library to thenew.
For some tables the data is copied with a CPYF and for some it is copiedvia
programmatically.queries
Here's Matt's question:
I have a file that was created using DDS. A new version was created but a
key field length was changed from 2 to 4. I have a java program that
that file using the jt400 toolkit. When I run a query against the newfile,
I retrieve the ResultSet metadata to get the field names and lengths.of
However, the metadata returned from the query still gives the old length
the key field that was changed from 2 to 4. If I change query slightly,the
correct metadata is returned. I believe it is the query optimizer that isthat
returning the incorrect metadata. How do I reset the query optimizer so
the new metadata is returned for the query?PEPX
Nearly all of our tables are created with DDS. In this case, the table
contains only three columns:two
PETELR 2A in the old library and 4A in the new library
PEXDYS 5P 0 in both libraries
PEPASS 16A in both libraries.
The key is PETELR, PEXDYS.
So to reiterate:
In DATALIB we have the table with the two byte key.
We rename DATALIB to DATALIBOLD.
RSTLIB DATALIB which has the table with the four byte key.
CPYF DATALIBOLD/PEPX DATALIB/PEPX MBROPT(*REPLACE) FMTOPT(*MAP)
When he runs his query, the resultset metadata says the column PETELR is
bytes.the
If we rename the table, use CRTPF to rebuild it from DDS and CPYF from
renamed version to the new version, the problem is resolved.
Any thoughts?
Cheers, Troy
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
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 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.