Re: [U2] stop
+--+ | | STOP statement | | _ | | | SYNTAX | | STOP [expression] | STOPE [expression] | STOPM [expression] | | DESCRIPTION | |Use the STOP statement to terminate program execution and |return system control to the calling environment, which can be |a menu, a paragraph, another BASIC program, or the UniVerse |command processor. | | | More End Help List Commands +---+ Page Down +--+ From: jerry.n...@scccd.edu To: U2-Users@listserver.u2ug.org Date: Fri, 9 May 2014 15:52:02 + Subject: [U2] stop stop Jerry L Neff, Programmer/Analyst - IS State Center Community College District Phone (559) 244-5952 Fax (559) 222-9954 jerry.n...@scccd.edumailto:jerry.n...@scccd.edu ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] INDEX taking forever to rebuild after server upgrade.
Hello, We recently upgraded to a new Windows 2012 R2 server with the latest version of UniVerse (11.2.x). Everything seems to be working great except we noticed that 1 index on 1 record is taking a TON of time to do a rebuild. The basic syntax we're using is EXECUTE 'CREATE.INDEX ':FILENAME:' ':FIELDNAME EXECUTE 'BUILD.INDEX ':FILENAME:' ':FIELDNAME The output looks like Clearing Index File INDEX.007 Starting DATA processing for index 'OTHER_REF'! 2251000 processed. *** However, this used to finish in a couple minutes and now runs for HOURS without finishing. Any ideas what would cause this or how to remedy the situation? Maybe the index is corrupt? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] INDEX taking forever to rebuild after server upgrade.
Ryan, That's a good point, we do have a lot of strings with NULL so maybe setting NULLS to NO would help. Chris From: ryan.l...@meritain.com To: u2-users@listserver.u2ug.org Date: Mon, 21 Apr 2014 12:47:38 -0400 Subject: Re: [U2] INDEX taking forever to rebuild after server upgrade. Chris, Does your index return a bunch of empty string values? If so, your CREATE.INDEX command might have needed a NO.NULLS keyword to prevent index records from being created. Ryan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Monday, April 21, 2014 11:39 AM To: u2-users@listserver.u2ug.org Subject: [U2] INDEX taking forever to rebuild after server upgrade. Hello, We recently upgraded to a new Windows 2012 R2 server with the latest version of UniVerse (11.2.x). Everything seems to be working great except we noticed that 1 index on 1 record is taking a TON of time to do a rebuild. The basic syntax we're using is EXECUTE 'CREATE.INDEX ':FILENAME:' ':FIELDNAME EXECUTE 'BUILD.INDEX ':FILENAME:' ':FIELDNAME The output looks like Clearing Index File INDEX.007 Starting DATA processing for index 'OTHER_REF'! 2251000 processed. *** However, this used to finish in a couple minutes and now runs for HOURS without finishing. Any ideas what would cause this or how to remedy the situation? Maybe the index is corrupt? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Note: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] INDEX taking forever to rebuild after server upgrade.
No, we have not since I wasn't sure if it was something on our end or with the new version of UniVerse. Has this come up with anyone else by chance that you know of? Chris From: neilri...@gmail.com Date: Mon, 21 Apr 2014 09:48:07 -0700 To: u2-users@listserver.u2ug.org Subject: Re: [U2] INDEX taking forever to rebuild after server upgrade. Chris, did you open a support case with Rocket on this? On Apr 21, 2014, at 9:39 AM, Chris Austin cjausti...@hotmail.com wrote: Hello, We recently upgraded to a new Windows 2012 R2 server with the latest version of UniVerse (11.2.x). Everything seems to be working great except we noticed that 1 index on 1 record is taking a TON of time to do a rebuild. The basic syntax we're using is EXECUTE 'CREATE.INDEX ':FILENAME:' ':FIELDNAME EXECUTE 'BUILD.INDEX ':FILENAME:' ':FIELDNAME The output looks like Clearing Index File INDEX.007 Starting DATA processing for index 'OTHER_REF'! 2251000 processed. *** However, this used to finish in a couple minutes and now runs for HOURS without finishing. Any ideas what would cause this or how to remedy the situation? Maybe the index is corrupt? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ODBC - Not finding the MV fields.
I guessing could do all that.. OR have excel refresh the tables when u connect... Maintaining separate tables just for ODBC is silly From: troy.b...@nordsonasymtek.com To: u2-users@listserver.u2ug.org Date: Sat, 15 Feb 2014 13:21:37 -0500 Subject: Re: [U2] ODBC - Not finding the MV fields. I tend to agree with Bill with a similar approach of using a second ODBC compliant dictionary.If you've tried running HS.UPDATE.FILEINFO on dictionaries with complex I-descriptors, you find out that it churns forever and doesn't come back. To limit the ODBC visibility to what we need, we have about 5 live universe accounts so we created 5 new ODBC shell accounts that are named with _ODBC added as a suffix. Each of these accounts has the usual ODBC file called HS_FILE_INFO file in them. To eliminate all the overhead in maintaining this this dual dictionary scheme, we added another field to our main dictionary editor so that we can flag specific fields that are 'ODBC ready' from a consumption point of view. Only certain files and fields that have been sanitized are flagged for ODBC. If we have changed any ODBC flags on a field, when we exit the dictionary editor process, a phantom is launched that logs into each of our xxx_ODBC accounts and runs a refresh. To save processing time, we also have a small table of filenames that tell these programs which files can have ODBC fields in them. As part of this refresh, any new files that have ODBC fields are automatically created with an empty dictionary and no data section. The F file pointer (line 2) is updated to point to the live 'data' portion of the files in our real data accounts. A few other steps such as building the ODBC @ items are done such as @SELECT, @, @EMPTY.NULL, @ASSOC_KEY.xxx. We also automatically update HS_FILE_INFO with 'READ' for read only, run a COMPILE.DICT and finally run HS.UPDATE.FILEINFO before logging to the next account and running the same process. So our xxx_ODBC accounts have only a few files in them with these ODBC limited dictionaries that are automatically refreshed when changes are made. Using this, we've been able to completely automate all of the ODBC maintenance overhead once we've set up the initial paired and empty xxx_ODBC accounts in Universe. When a new field is requested it only takes a few moments to flag the field and subsequently test with MS access. -Troy -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Friday, February 14, 2014 12:32 PM To: 'U2 Users List' Subject: Re: [U2] ODBC - Not finding the MV fields. Chris: 1. The legacy dictionaries here tend to have overhead not needed by ODBC. 2. Only after experiencing some difficult ODBC problems here... and trying to simplify the problem... did I realize that some traditional DICT characteristics are problematic to ODBC. 3. While having two dictionaries for the same data is not my first choice... 4. When it works... it is a beautiful thing. --Bill _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com This email is intended only for the use of the party to which it is addressed and may contain information that is privileged, confidential, or protected by law. If you are not the intended recipient you are hereby notified that any dissemination, copying or distribution of the email or its contents is strictly prohibited. If you have received this message in error, please notify us immediately, by replying to the message and deleting it from your computer. WARNING: Internet communications are not assured to be secure or clear of inaccuracies as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. Therefore, we do not accept responsibility for any errors or omissions that are present in this email, or any attachment, that have arisen as a result of e-mail transmission. _ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ODBC - Not finding the MV fields.
We have a ton of I descriptors and it's quick when u set the option to refresh in excel.. How many I descriptors do u gave? From: troy.b...@nordsonasymtek.com To: u2-users@listserver.u2ug.org Date: Sat, 15 Feb 2014 13:21:37 -0500 Subject: Re: [U2] ODBC - Not finding the MV fields. I tend to agree with Bill with a similar approach of using a second ODBC compliant dictionary.If you've tried running HS.UPDATE.FILEINFO on dictionaries with complex I-descriptors, you find out that it churns forever and doesn't come back. To limit the ODBC visibility to what we need, we have about 5 live universe accounts so we created 5 new ODBC shell accounts that are named with _ODBC added as a suffix. Each of these accounts has the usual ODBC file called HS_FILE_INFO file in them. To eliminate all the overhead in maintaining this this dual dictionary scheme, we added another field to our main dictionary editor so that we can flag specific fields that are 'ODBC ready' from a consumption point of view. Only certain files and fields that have been sanitized are flagged for ODBC. If we have changed any ODBC flags on a field, when we exit the dictionary editor process, a phantom is launched that logs into each of our xxx_ODBC accounts and runs a refresh. To save processing time, we also have a small table of filenames that tell these programs which files can have ODBC fields in them. As part of this refresh, any new files that have ODBC fields are automatically created with an empty dictionary and no data section. The F file pointer (line 2) is updated to point to the live 'data' portion of the files in our real data accounts. A few other steps such as building the ODBC @ items are done such as @SELECT, @, @EMPTY.NULL, @ASSOC_KEY.xxx. We also automatically update HS_FILE_INFO with 'READ' for read only, run a COMPILE.DICT and finally run HS.UPDATE.FILEINFO before logging to the next account and running the same process. So our xxx_ODBC accounts have only a few files in them with these ODBC limited dictionaries that are automatically refreshed when changes are made. Using this, we've been able to completely automate all of the ODBC maintenance overhead once we've set up the initial paired and empty xxx_ODBC accounts in Universe. When a new field is requested it only takes a few moments to flag the field and subsequently test with MS access. -Troy -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Friday, February 14, 2014 12:32 PM To: 'U2 Users List' Subject: Re: [U2] ODBC - Not finding the MV fields. Chris: 1. The legacy dictionaries here tend to have overhead not needed by ODBC. 2. Only after experiencing some difficult ODBC problems here... and trying to simplify the problem... did I realize that some traditional DICT characteristics are problematic to ODBC. 3. While having two dictionaries for the same data is not my first choice... 4. When it works... it is a beautiful thing. --Bill _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com This email is intended only for the use of the party to which it is addressed and may contain information that is privileged, confidential, or protected by law. If you are not the intended recipient you are hereby notified that any dissemination, copying or distribution of the email or its contents is strictly prohibited. If you have received this message in error, please notify us immediately, by replying to the message and deleting it from your computer. WARNING: Internet communications are not assured to be secure or clear of inaccuracies as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. Therefore, we do not accept responsibility for any errors or omissions that are present in this email, or any attachment, that have arisen as a result of e-mail transmission. _ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ODBC - Not finding the MV fields.
I found the answer in case anyone stumbles upon this. In Excel, under UniVerse ODBC Data Source Setup there's a radio button that's defaulted to Fast Connect (Old OTL). This was the problem.. When you bring MultiValue fields into ODBC it treats them like tables and you need to have refresh your environmental variables for them to be picked up after you setup an association. THE SOLUTION = check the radio button Refresh OTL on Connect. I believe we needed this with UniVerse 11.x and up. FROM THE DOCS: Fast Connect (Old OTL) – This option applies only to UniVerse files that are not tables. When you select this option, the ODBC table list is not refreshed in memory, and the File Information Cache is read from disk and used instead. This option may result in faster connect times, but possibly in a less up-to-date list of available tables.Note: The HS_USE_FILEINFO environment variable has no effect at UniVerse 10.2. Refresh OTL on Connect – This option applies only to UniVerse files that are not tables. When you select this option, the ODBC table list is queried. This operation may impact initial connect time. The File Infor-mation Cache is not updated by the operation. Update the cache by running HS.UPDATE.FILEINFO in the UniVerse account you are accessing on the server system From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Thu, 13 Feb 2014 15:04:09 -0600 Subject: [U2] ODBC - Not finding the MV fields. We're running UniVerse 11.x and we've had ODBC setup for a while but recently started to use it more. The single-value fields work just fine, but on some of the Multi-Value fields (only certain tables) we can get the ODCB to work in excel by manually entering the SQL command but they don't show in Microsoft Query. So the issue is that we don't see it in the Microsoft Query window, or even in Access (for certain tables). Is there anyway to debug why the MV on some tables work, but others don't? Is there a way to list the tables that ODBC recognizes? I tried using Dr. DeeBee and it wasn't much help since I didn't get a log after running it. Any help is appreciated, thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ODBC - Not finding the MV fields.
Bill, Not sure why you would do those 6 steps, when running HS.UPDATE.FILEINFO from a command line or program will do the same thing (reset the cache w the updated tables). I like to limit the amount of dictionary entries I have. Chris From: bi...@hkmetalcraft.com To: u2-users@listserver.u2ug.org Date: Fri, 14 Feb 2014 12:37:29 -0500 Subject: Re: [U2] ODBC - Not finding the MV fields. Chris: 1. For things here, I usually create a new DICTionary... copy the old DICT to the new DICT... and strip out NAME and other DICT columns not needed by ODBC... in the new DICT. 2. A @SELECT of type PH is needed where the Phrase needs to specify the chosen fields... in the new DICT 3. LOGTO HS.ADMIN. 4. Launch HS.ADMIN. 5. Run 6... Update File Info Cache in an account. 6. I hope that this helps. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, February 13, 2014 4:04 PM To: u2-users@listserver.u2ug.org Subject: [U2] ODBC - Not finding the MV fields. We're running UniVerse 11.x and we've had ODBC setup for a while but recently started to use it more. The single-value fields work just fine, but on some of the Multi-Value fields (only certain tables) we can get the ODCB to work in excel by manually entering the SQL command but they don't show in Microsoft Query. So the issue is that we don't see it in the Microsoft Query window, or even in Access (for certain tables). Is there anyway to debug why the MV on some tables work, but others don't? Is there a way to list the tables that ODBC recognizes? I tried using Dr. DeeBee and it wasn't much help since I didn't get a log after running it. Any help is appreciated, thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] ODBC - Not finding the MV fields.
We're running UniVerse 11.x and we've had ODBC setup for a while but recently started to use it more. The single-value fields work just fine, but on some of the Multi-Value fields (only certain tables) we can get the ODCB to work in excel by manually entering the SQL command but they don't show in Microsoft Query. So the issue is that we don't see it in the Microsoft Query window, or even in Access (for certain tables). Is there anyway to debug why the MV on some tables work, but others don't? Is there a way to list the tables that ODBC recognizes? I tried using Dr. DeeBee and it wasn't much help since I didn't get a log after running it. Any help is appreciated, thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] UvRestore error
Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000 . Unable to write item Z29864873 ýA38385000 . Unable to write item Z2986R6163ýA38385000 . Unable to write item Z2986G5760ýA38385000 . Unable to write item Z2986D3700ýA38385000 . Unable to write item Z2986C2830ýA38385000 . Unable to write item Z2986C26938000ýA38385000 . Unable to write item Z2986C2670ýA38385000 . It looks like it's producing the error when attempting to write the INDEX (I_CLIENT/INDEX.001). Does anyone know how to fix these types of errors or what they might mean? Thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UvRestore error
John, Thanks for the reply. I'll write a utility to parse the ID's on that table and see if I find any @VM's.. I did notice some unconventional ID's being used when I did a LIST by ID.. probably best to remove those and re-index. Chris Date: Tue, 26 Nov 2013 13:35:42 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error I'm just guessing, but I think the problem is a value mark (ASCII 253) embedded in the item IDs. The 3rd party backup software we use also balks at backing up items with value marks in the ID because they're not valid UTF-8 characters. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 8:16 AM To: u2-users@listserver.u2ug.org Subject: [U2] UvRestore error Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000 . Unable to write item Z29864873 ýA38385000 . Unable to write item Z2986R6163ýA38385000 . Unable to write item Z2986G5760ýA38385000 . Unable to write item Z2986D3700ýA38385000 . Unable to write item Z2986C2830ýA38385000 . Unable to write item Z2986C26938000ýA38385000 . Unable to write item Z2986C2670ýA38385000 . It looks like it's producing the error when attempting to write the INDEX (I_CLIENT/INDEX.001). Does anyone know how to fix these types of errors or what they might mean? Thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UvRestore error
The examples I posted below appear to be when it builds the INDEX on the table CLIENT. I'm just not sure if it's referring to the actual ID of the record.. or a field inside that CLIENT record? Date: Tue, 26 Nov 2013 13:44:34 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error There appear to be some in the examples you posted. They appear as ý in a lot of terminal emulations. You can verify how they appear on your screen by editing one into a record: ED BP MV.TEST I ^253 -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:39 PM To: U2 Users List Subject: Re: [U2] UvRestore error John, Thanks for the reply. I'll write a utility to parse the ID's on that table and see if I find any @VM's.. I did notice some unconventional ID's being used when I did a LIST by ID.. probably best to remove those and re-index. Chris Date: Tue, 26 Nov 2013 13:35:42 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error I'm just guessing, but I think the problem is a value mark (ASCII 253) embedded in the item IDs. The 3rd party backup software we use also balks at backing up items with value marks in the ID because they're not valid UTF-8 characters. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 8:16 AM To: u2-users@listserver.u2ug.org Subject: [U2] UvRestore error Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000 . Unable to write item Z29864873 ýA38385000 . Unable to write item Z2986R6163ýA38385000 . Unable to write item Z2986G5760ýA38385000 . Unable to write item Z2986D3700ýA38385000 . Unable to write item Z2986C2830ýA38385000 . Unable to write item Z2986C26938000ýA38385000 . Unable to write item Z2986C2670ýA38385000 . It looks like it's producing the error when attempting to write the INDEX (I_CLIENT/INDEX.001). Does anyone know how to fix these types of errors or what they might mean? Thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UvRestore error
Thanks Bob, I like the idea of using an I-descriptor to DCOUNT on the @ID :) Cheers Chris Date: Tue, 26 Nov 2013 13:58:22 -0800 From: bob_woodw...@k2sports.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error One of the ways that I've used in the past to check for @VM's, @SVM's, and @TM's is to do a simple SELECT of the file, a SAVE.LIST, then EDIT.LIST. A simple scan usually shows the errant record ID's because they are usually longer than the rest of the record ID's making them stick out like a sore thumb. You could also make an I-descriptor that just does a DCOUNT on @ID. Then you can simply select the I-descriptor for the bad keys. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:50 PM To: U2 Users List Subject: Re: [U2] UvRestore error The examples I posted below appear to be when it builds the INDEX on the table CLIENT. I'm just not sure if it's referring to the actual ID of the record.. or a field inside that CLIENT record? Date: Tue, 26 Nov 2013 13:44:34 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error There appear to be some in the examples you posted. They appear as ý in a lot of terminal emulations. You can verify how they appear on your screen by editing one into a record: ED BP MV.TEST I ^253 -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:39 PM To: U2 Users List Subject: Re: [U2] UvRestore error John, Thanks for the reply. I'll write a utility to parse the ID's on that table and see if I find any @VM's.. I did notice some unconventional ID's being used when I did a LIST by ID.. probably best to remove those and re-index. Chris Date: Tue, 26 Nov 2013 13:35:42 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error I'm just guessing, but I think the problem is a value mark (ASCII 253) embedded in the item IDs. The 3rd party backup software we use also balks at backing up items with value marks in the ID because they're not valid UTF-8 characters. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 8:16 AM To: u2-users@listserver.u2ug.org Subject: [U2] UvRestore error Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000 . Unable to write item Z29864873 ýA38385000 . Unable to write item Z2986R6163ýA38385000 . Unable to write item Z2986G5760ýA38385000 . Unable to write item Z2986D3700ýA38385000 . Unable to write item Z2986C2830ýA38385000 . Unable to write item Z2986C26938000ýA38385000 . Unable to write item Z2986C2670ýA38385000 . It looks like it's producing the error when attempting to write the INDEX (I_CLIENT/INDEX.001). Does anyone know how to fix these types of errors or what they might mean? Thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http
Re: [U2] UvRestore error
I wrote a program to check for @VM, @SVM, and @FM on every record in that table and it didn't find anything so it must be something else. The part I'm struggling with is locating what this means Unable to write item Z29864873 ýA38385000 . since there's no ý in the @IDs. I wonder if it comes from a field we have INDEXED (indexed I-descriptor). Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Nov 2013 16:00:48 -0600 Subject: Re: [U2] UvRestore error Thanks Bob, I like the idea of using an I-descriptor to DCOUNT on the @ID :) Cheers Chris Date: Tue, 26 Nov 2013 13:58:22 -0800 From: bob_woodw...@k2sports.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error One of the ways that I've used in the past to check for @VM's, @SVM's, and @TM's is to do a simple SELECT of the file, a SAVE.LIST, then EDIT.LIST. A simple scan usually shows the errant record ID's because they are usually longer than the rest of the record ID's making them stick out like a sore thumb. You could also make an I-descriptor that just does a DCOUNT on @ID. Then you can simply select the I-descriptor for the bad keys. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:50 PM To: U2 Users List Subject: Re: [U2] UvRestore error The examples I posted below appear to be when it builds the INDEX on the table CLIENT. I'm just not sure if it's referring to the actual ID of the record.. or a field inside that CLIENT record? Date: Tue, 26 Nov 2013 13:44:34 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error There appear to be some in the examples you posted. They appear as ý in a lot of terminal emulations. You can verify how they appear on your screen by editing one into a record: ED BP MV.TEST I ^253 -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:39 PM To: U2 Users List Subject: Re: [U2] UvRestore error John, Thanks for the reply. I'll write a utility to parse the ID's on that table and see if I find any @VM's.. I did notice some unconventional ID's being used when I did a LIST by ID.. probably best to remove those and re-index. Chris Date: Tue, 26 Nov 2013 13:35:42 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error I'm just guessing, but I think the problem is a value mark (ASCII 253) embedded in the item IDs. The 3rd party backup software we use also balks at backing up items with value marks in the ID because they're not valid UTF-8 characters. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 8:16 AM To: u2-users@listserver.u2ug.org Subject: [U2] UvRestore error Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000 . Unable to write item Z29864873 ýA38385000 . Unable to write item Z2986R6163ýA38385000 . Unable to write item Z2986G5760ýA38385000 . Unable to write item Z2986D3700ýA38385000 . Unable to write item Z2986C2830ýA38385000 . Unable to write item Z2986C26938000ýA38385000 . Unable to write item Z2986C2670ýA38385000 . It looks like it's producing the error when attempting to write the INDEX (I_CLIENT/INDEX.001). Does anyone know how to fix these types of errors or what they might mean? Thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UvRestore error
I figured it out. It wasn't one of the @ID's.. rather an I-descriptor that we had indexed on that CLIENT table that was calculating EXACTLY how that message displays. For example, the symbolic (I-Descriptor) for one of the records is calculating Z29864873 ýA38385000 I appreciate the help, this was an issue that was lingering for some time, nice to have an answer and clean it up so we can rebuild the indices faster. Chris From: bernard.lu...@pentanasolutions.com To: u2-users@listserver.u2ug.org Date: Wed, 27 Nov 2013 09:50:02 +1100 Subject: Re: [U2] UvRestore error I had this error once. This happens when the @tm, @sm @vm exists in the indexed field (or if the indexed field is than the maximum key size (as defined in the CONFIG MAXKEYSIZE command) So you may have to write a program to analyse the result of your I-descriptor field used for indexing. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, 27 November 2013 9:32 AM To: U2 Users List Subject: Re: [U2] UvRestore error I wrote a program to check for @VM, @SVM, and @FM on every record in that table and it didn't find anything so it must be something else. The part I'm struggling with is locating what this means Unable to write item Z29864873 ýA38385000 . since there's no ý in the @IDs. I wonder if it comes from a field we have INDEXED (indexed I-descriptor). Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Nov 2013 16:00:48 -0600 Subject: Re: [U2] UvRestore error Thanks Bob, I like the idea of using an I-descriptor to DCOUNT on the @ID :) Cheers Chris Date: Tue, 26 Nov 2013 13:58:22 -0800 From: bob_woodw...@k2sports.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error One of the ways that I've used in the past to check for @VM's, @SVM's, and @TM's is to do a simple SELECT of the file, a SAVE.LIST, then EDIT.LIST. A simple scan usually shows the errant record ID's because they are usually longer than the rest of the record ID's making them stick out like a sore thumb. You could also make an I-descriptor that just does a DCOUNT on @ID. Then you can simply select the I-descriptor for the bad keys. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:50 PM To: U2 Users List Subject: Re: [U2] UvRestore error The examples I posted below appear to be when it builds the INDEX on the table CLIENT. I'm just not sure if it's referring to the actual ID of the record.. or a field inside that CLIENT record? Date: Tue, 26 Nov 2013 13:44:34 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error There appear to be some in the examples you posted. They appear as ý in a lot of terminal emulations. You can verify how they appear on your screen by editing one into a record: ED BP MV.TEST I ^253 -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 1:39 PM To: U2 Users List Subject: Re: [U2] UvRestore error John, Thanks for the reply. I'll write a utility to parse the ID's on that table and see if I find any @VM's.. I did notice some unconventional ID's being used when I did a LIST by ID.. probably best to remove those and re-index. Chris Date: Tue, 26 Nov 2013 13:35:42 -0800 From: jhes...@momtex.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UvRestore error I'm just guessing, but I think the problem is a value mark (ASCII 253) embedded in the item IDs. The 3rd party backup software we use also balks at backing up items with value marks in the ID because they're not valid UTF-8 characters. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, November 26, 2013 8:16 AM To: u2-users@listserver.u2ug.org Subject: [U2] UvRestore error Hello, I noticed an error when doing a UVRESTORE. We have a UniVerse region with client information and data. When doing a UVRESTORE I get the following Restoring c:\CHRIS/I_CLIENT (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.000 (21:35:56) Restoring c:\CHRIS/I_CLIENT/INDEX.001 (21:35:58) Unable to write item Z2988M8280ýA38385000
Re: [U2] Ref: Web Services at Universe 11.n
Harold, I don't see the big deal with downloading the HP-UX Internet Express for HP-UX 11i v2https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=HPUXIEXP1123jumpid=reg_R1002_USEN that contains curl, along with several other useful tools would be? I can't see too many cons of having this package on your server.. curl is about as 'light' of an application as it gets. Chris Date: Thu, 31 Oct 2013 13:46:25 -0700 From: harold.o...@clark.wa.gov To: u2-users@listserver.u2ug.org Subject: Re: [U2] Ref: Web Services at Universe 11.n Hi Rudy: We're not using any web services at present - but we'd like to. (Basically I'm a beginner at this and trying to learn what is possible.) We need to interface our current jail system with a new RMS that is coming in, and the vendors of it prefer web services interfaces. So that's why. Unlike you, our underlying O/S is a form of unix - hpux actually - not Windows. Unfortunately, I don't know anything about WSD on unix. You notice Richard used curl and was happy with it, but right now that is not available on our hpux system. There is a download available where we can get curl along with some other web tools, but my system admin is not particularly enthusiastic about that idea. Richard: When you use curl, are you running on windows or unix (or something else)? Harold -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Thursday, October 31, 2013 1:25 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Ref: Web Services at Universe 11.n Could you give an example of web services you are actually using and why? -Original Message- From: Cooper, Rudy rudy.coo...@sagepub.com To: 'u2-users@listserver.u2ug.org' u2-users@listserver.u2ug.org Sent: Thu, Oct 31, 2013 1:18 pm Subject: [U2] Ref: Web Services at Universe 11.n Harold, We’re on a windows platform and we’ve doing web services with UV since 10.2. Use the WSD for creating the soap server and and use soapui (free) for testing. We access external services from UV using the soap api that is documented in basicext.pdf of the uv documentation. The documentation from Rocket for your release, IBM U2 Web Services Developer, is very good. rudy Date: Wed, 30 Oct 2013 12:00:40 -0700 From: Oaks, Harold harold.o...@clark.wa.govmailto:harold.o...@clark.wa.gov To: u2-users@listserver.u2ug.orgmailto:u2-users@listserver.u2ug.org Subject: [U2] Web Services at Universe 11.n Message-ID: e9aeaa752e89734bb39e1c6bfcddcfb804f7f...@esxvm40.clark.root.localmailto:e9aeaa752e89734bb39e1c6bfcddcfb804f7f...@esxvm40.clark.root.local Content-Type: text/plain; charset=us-ascii I've been telling my boss that if we upgraded to Universe 11.23, we can implement web services. (We're currently on 10.2) But, finally looking in detail at the appropriate manual (Universe Web Services Developer) it seems that one can publish a web service easily enough so that Universe data can be gotten, but I don't see that the other side is implemented, where one accesses an external web service and brings back data into Universe. Am I missing the something? What are any of you using to fully implement web services with an underlying Universe environment? Thanks- Harold Oaks Sr. Analyst/Programmer Clark County, WA This e-mail and related attachments and any response may be subject to public disclosure under state law. Rudy Cooper Lead Applications Developer Sage Publications Inc. 2455 Teller Road Thousand Oaks, Ca. 91320 USA T:805.410.7724 www.sagepub.com Los Angeles | London | New Delhi Singapore | Washington DC The natural home for authors, editors societies Please consider the environment before printing this email Are you a fan of SAGE? Show us at www.facebook.com/SAGEPublicationshttp://www.facebook.com/SAGEPublications. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users This e-mail and related attachments and any response may be subject to public disclosure under state law. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Origin of the word 'COMO'
COMO = Common Output COMI = Common Input From: johnisr...@daytonsuperior.com To: u2-users@listserver.u2ug.org Date: Mon, 22 Jul 2013 19:47:55 + Subject: Re: [U2] Origin of the word 'COMO' Not sure, but back in the Pr1me days, I think we had both COMOs and COMIs. That was a LNG time ago, so hopefully that will knock some dust off a smarter person's grey matter. JRI -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Monday, July 22, 2013 3:45 PM To: u2-users@listserver.u2ug.org Subject: [U2] Origin of the word 'COMO' What is the origin of the word COMO as used for the Universe logs ? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://cp.mcafee.com/d/k-Kr6wUe6jqb8VxZddBBUTsSzt5d-WdQPhOrhKyC_t5d4QsCQrEFLThKPsSzt5cQsLIIc6zATaAtYhy2AdbjH2zqTNBmfbCQdbjH2zqTNBmfbCQv8f8uy_R-h7nvjuoWZOWtTHYCCed78VMQsYJt6OaqJQSel3PWApmU6CQjq9KVKVI06vaAWv4PYurjr8Y01MjlS67OFek7qUSCnrFYq6SQOXtfzgKgGT2TQ1hYGjFYjfNVJdIzM04SO-qekPpFr2qpFtd41Ew34p4pgd45njh1cDVEwclywq83he91wr31EDdTdKU76SSwP ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Turn pagination back on
For pagination we setup an I-Descriptor for a CLIENT table as follows: ROW_NUMBER I @1+1 ; INT(@1)MD0 Row Number 5R S The trick is the @1+1 ; INT(@1) bit. Chris From: dgr...@dagconsulting.com To: u2-users@listserver.u2ug.org Date: Thu, 7 Feb 2013 13:28:23 -0700 Subject: Re: [U2] Turn pagination back on BPIOCP David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Thursday, February 07, 2013 1:21 PM To: u2-users@listserver.u2ug.org Subject: [U2] Turn pagination back on Someone remind me, how to do this. If pagination has been turned off, and for my embedded routine, I want to turn it back on again. How do I do this? I've tried HEADING, and PAGE, and CRT @(0,0) I know there's a trick but I can't quite recall what it is ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Access list denial: Function UVBACKUP
We have a user on our system who's not an admin, just a regular user on the server. When he tries to execute a UVRESTORE he gets the following error: Warning: Access list denial: Function UVBACKUP, File c:\universe_region/file_name WARNING: Unable to open file 'c:\universe_region/file_name'. Not restored. I read an old thread that said for a regular user to be able to do these type of restores they had to edit UV.ACCESS (see below) --- In regards to backup, we use uvrestore and backup as a normal user. To be able to do that, we had to modify the UV.BACKUP item in file UV.ACCESS (in the UV.ACCONT). We added the user id in attribute 1 and WRITE in attribute 2. I also noticed that you must have write permission to be able to backup a file. Eg... SELECTed record name = UVBACKUP. 2 lines long. : P 0001: uvadmrootNT AUTHORITY\systemkkbkupbernardl 0002: READWRITEWRITEWRITEWRITE Bottom at line 2. --- My question is how do I edit the UV.BACKUP item in the UV.ACCESS file to achieve this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Access list denial: Function UVBACKUP
Ok I can see where to edit it now in UV.ACCESS - UVBACKUP: uvadmýrootýNT AUTHORITY\system READýWRITE If I wanted to add read\write properties for a user called USER1, would I just add the user to line #1 and keep line #2 the same? Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Mon, 26 Nov 2012 14:14:12 -0600 Subject: [U2] Access list denial: Function UVBACKUP We have a user on our system who's not an admin, just a regular user on the server. When he tries to execute a UVRESTORE he gets the following error: Warning: Access list denial: Function UVBACKUP, File c:\universe_region/file_name WARNING: Unable to open file 'c:\universe_region/file_name'. Not restored. I read an old thread that said for a regular user to be able to do these type of restores they had to edit UV.ACCESS (see below) --- In regards to backup, we use uvrestore and backup as a normal user. To be able to do that, we had to modify the UV.BACKUP item in file UV.ACCESS (in the UV.ACCONT). We added the user id in attribute 1 and WRITE in attribute 2. I also noticed that you must have write permission to be able to backup a file. Eg... SELECTed record name = UVBACKUP. 2 lines long. : P 0001: uvadmrootNT AUTHORITY\systemkkbkupbernardl 0002: READWRITEWRITEWRITEWRITE Bottom at line 2. --- My question is how do I edit the UV.BACKUP item in the UV.ACCESS file to achieve this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
So is there a performance increase in BASIC SELECTS by reducing overflow? Some people are saying to reduce disk space to speed up the BASIC SELECT while others say to reduce overflow.. I'm a bit confused. All of our programs that read that table use a BASIC SELECT WITH.. for a BASIC select do you gain anything by reducing overflow? Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 5 Jul 2012 20:12:21 -0400 Subject: Re: [U2] RESIZE - dynamic files A BASIC SELECT cannot use criteria at all. It is going to walk through every record in the file, in order. And that's the sticky wicket. That whole in order business. The disk drive controller has no clue on linked frames, but it *will* do optimistic look aheads for you. So you are much better off, for BASIC SELECTs having nothing in overflow, at all. :) That way, when you go to ask for the *next* frame, it will always be contiguous, and already sitting in memory. -Original Message- From: Rick Nuckolls r...@lynden.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Thu, Jul 5, 2012 4:43 pm Subject: Re: [U2] RESIZE - dynamic files Most disks and disk systems cache huge amounts of information these days, and, epending on 20 factors or so, one solution will be better than another for a iven file. For the wholesale, SELECT F WITH, The fewest disk records will almost always in. For files that have ~10 records/group and have ~10% of the groups verflowed, then perhaps 1% of record reads will do a second read for the verflow buffer because the target key was not in the primary group. Writing a ew record would possibly hit the 10% mark for reading overflow buffers. But owering the split.load will increase the number of splits slightly, and ncrease the total number of groups considerably. What you have shown is that ou need to increase the the modulus (and select time) of a large file more than 0% in order to decrease the read and update times for you records 0.5% of the ime (assuming, that you have only reduced the number of overflow groups by 50%.) As Charles suggests, this is an interesting exercise, but your actual results ill rapidly change if you actually add /remove records from your file, change he load or number of files on your system, put in a new drive, cpu, memory oard, or install a new release of Universe, move to raid, etc. -Rick -Original Message- rom: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of Wjhonson ent: Thursday, July 05, 2012 2:38 PM o: u2-users@listserver.u2ug.org ubject: Re: [U2] RESIZE - dynamic files he hardward look ahead of the disk drive reader will grab consecutive frames into memory, since it assumes you'll want the next frame next. o the less overflow you have, the faster a full file scan will become. t least that's my theory ;) Original Message- rom: Rick Nuckolls r...@lynden.com o: 'U2 Users List' u2-users@listserver.u2ug.org ent: Thu, Jul 5, 2012 2:29 pm ubject: Re: [U2] RESIZE - dynamic files hris, or the type of use that you described earlier; BASIC selects and reads, ducing overflow will have negligible performance benefit, especially compared changing the GROUP.SIZE back to 1 (2048) bytes. If you purge the file in latively small percentages, then it will never merge anyway (because you will ed to delete 20-30% of the file for that to happen with the mergeload at 50%, your optimum minimum modulus solution will probably be how ever large it ows The overhead for a group split is not as bad as it sounds unless your dates/sec count is extremely high, such as during a copy. f you do regular SELECT and SCANS of the entire file, then your goal should be reduce the total disk size of the file, and not worry much about common erflow. The important thing is that the file is dynamic, so you will never counter the issues that undersized statically hashed files develop. e have thousands of dynamically hashed files on our (Solaris) systems, with an tremely low problem rate. ick Original Message- om: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of Chris Austin nt: Thursday, July 05, 2012 11:21 AM : u2-users@listserver.u2ug.org bject: Re: [U2] RESIZE - dynamic files ick, ou are correct, I should be using the smaller size (I just haven't changed it t). Based on the reading I have done you should ly use the larger group size when the average record size is greater than 1000 tes. s far as being better off with the defaults that's basically what I'm trying to est (as well as learn how linear hashing works). I was able reduce my overflow by 18% and I only increased my empty groups by a very all amount as well as only increased my file size 8%. This in theory should be better for reads/writes than what I had
Re: [U2] RESIZE - dynamic files
Disk space is not a factor, as we are a smaller shop and disk space comes cheap. However, one thing I did notice is when I increased the modulus to a very large number which then increased my disk space to about 3-4x of my record data, my SELECT queries were slower. Are the 2 factors when choosing HOW the file is used based on whether your using? 1) a lot of SELECTS (then looping through the records) 2) grabbing individual records (not using a SELECT) With this file we really do a lot of SELECTS (option 1), then loop through the records. With that being said and based on the reading I've done here it would appear it's better to have a little overflow and not use up so much disk space for modulus (groups) for this application since we do use a lot of SELECT queries. Is this correct? Most of my records are ~ 250 bytes, there's a handful that are 'up to 512 bytes'. It would seem to me that I would want to REDUCE my split to ~70% to reduce overflow, and maybe increase my MINIMUM.MODULUS to a # a little bit bigger than my current modulus (~10% bigger) since this will be a growing file and will never merge. In my case using the formula might not make sense since this file will never merge. Does this make sense? File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 92903 current ( minimum 31, 87 empty, 28248 overflowed, 2510 badly ) Number of records .. 1292377 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 501219328 bytes Total size of record data .. 287426366 bytes Total size of record IDs ... 21539682 bytes Unused space ... 192245088 bytes Total space for records 501211136 bytes With all that being said if I change the following: 1) SPLIT.LOAD to 70% 2) MINIMUM.MODULUS 130,000 That's all I should really need to do to 'tweak' the performance of this file.. If this doesn't sound right I would be interested to hear how it should be tweaked instead. Thanks for all the help so far, I think this is all starting to make sense. Chris From: ro...@stamina.com.au To: u2-users@listserver.u2ug.org Date: Wed, 4 Jul 2012 01:36:26 + Subject: Re: [U2] RESIZE - dynamic files I would suggest that then actual goal is to achieve maximum performance for your system, so knowing HOW the file is used on a daily basis can also influence decisions. Disk is a cheap commodity, so having some wastage in file utilization shouldn't factor. Ross Ferris Stamina Software Visage Better by Design! ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
I was able to drop from 30% overflow to 12% by making 2 changes: 1) changed the split from 80% to 70% (that alone reduce 10% overflow) 2) changed the MINIMUM.MODULUS to 118,681 (calculated this way - [ (record data + id) * 1.1 * 1.42857 (70% split load)] / 4096 ) My disk size only went up 8%.. My file looks like this now: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 118681 current ( minimum 118681, 140 empty, 14431 overflowed, 778 badly ) Number of records .. 1292377 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 70% (split), 50% (merge) and 63% (actual) Total size . 546869248 bytes Total size of record data .. 287789178 bytes Total size of record IDs ... 21539538 bytes Unused space ... 237532340 bytes Total space for records 546861056 bytes Chris From: keith.john...@datacom.co.nz To: u2-users@listserver.u2ug.org Date: Wed, 4 Jul 2012 14:05:02 +1200 Subject: Re: [U2] RESIZE - dynamic files Doug may have had a key bounce in his input Let's do the math: 258687736 (Record Size) 192283300 (Key Size) The key size is actually 19283300 in Chris' figures Regarding 68,063 being less than the current modulus of 82,850. I think the answer may lie in the splitting process. As I understand it, the first time a split occurs group 1 is split and its contents are split between new group 1 and new group 2. All the other groups effectively get 1 added to their number. The next split is group 3 (which was 2) into 3 and 4 and so forth. A pointer is kept to say where the next split will take place and also to help sort out how to adjust the algorithm to identify which group matches a given key. Based on this, if you started with 1000 groups, by the time you have split the 500th time you will have 1500 groups. The first 1000 will be relatively empty, the last 500 will probably be overflowed, but not terribly badly. By the time you get to the 1000th split, you will have 2000 groups and they will, one hopes, be quite reasonably spread with very little overflow. So I expect the average access times would drift up and down in a cycle. The cycle time would get longer as the file gets bigger but the worst time would be roughly the the same each cycle. Given the power of two introduced into the algorithm by the before/after the split thing, I wonder if there is such a need to start off with a prime? Regards, Keith PS I'm getting a bit Tony^H^H^H^Hverbose nowadays. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
Rick, You are correct, I should be using the smaller size (I just haven't changed it yet). Based on the reading I have done you should only use the larger group size when the average record size is greater than 1000 bytes. As far as being better off with the defaults that's basically what I'm trying to test (as well as learn how linear hashing works). I was able to reduce my overflow by 18% and I only increased my empty groups by a very small amount as well as only increased my file size by 8%. This in theory should be better for reads/writes than what I had before. To test the performance I need to write a ton of records and then capture the output and compare the output using timestamps. Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Thu, 5 Jul 2012 09:22:02 -0700 Subject: Re: [U2] RESIZE - dynamic files Chis, I still am wondering what is prompting you to continue using the larger group size. I think that Martin, and the UV documentation is correct in this case; you would be as well or better off with the defaults. -Rick On Jul 5, 2012, at 9:13 AM, Martin Phillips martinphill...@ladybridge.com wrote: coming Hi, The various suggestions about setting the minimum modulus to reduce overflow are all very well but effectively you are turning a dynamic file into a static one, complete with all the continual maintenance work needed to keep the parameters in step with the data. In most cases, the only parameter that is worth tuning is the group size to try to pack things nicely. Even this is often fine left alone though getting it to match the underlying o/s page size is helpful. I missed the start of this thread but, unless you have a performance problem or are seriously short of space, my recommendation would be to leave the dynamic files to look after themselves. A file without overflow is not necessarily the best solution. Winding the split load down to 70% means that at least 30% of the file is dead space. The implication of this is that the file is larger and will take more disk reads to process sequentially from one end to the other. Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 05 July 2012 15:19 To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files I was able to drop from 30% overflow to 12% by making 2 changes: 1) changed the split from 80% to 70% (that alone reduce 10% overflow) 2) changed the MINIMUM.MODULUS to 118,681 (calculated this way - [ (record data + id) * 1.1 * 1.42857 (70% split load)] / 4096 ) My disk size only went up 8%.. My file looks like this now: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 118681 current ( minimum 118681, 140 empty, 14431 overflowed, 778 badly ) Number of records .. 1292377 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 70% (split), 50% (merge) and 63% (actual) Total size . 546869248 bytes Total size of record data .. 287789178 bytes Total size of record IDs ... 21539538 bytes Unused space ... 237532340 bytes Total space for records 546861056 bytes Chris From: keith.john...@datacom.co.nz To: u2-users@listserver.u2ug.org Date: Wed, 4 Jul 2012 14:05:02 +1200 Subject: Re: [U2] RESIZE - dynamic files Doug may have had a key bounce in his input Let's do the math: 258687736 (Record Size) 192283300 (Key Size) The key size is actually 19283300 in Chris' figures Regarding 68,063 being less than the current modulus of 82,850. I think the answer may lie in the splitting process. As I understand it, the first time a split occurs group 1 is split and its contents are split between new group 1 and new group 2. All the other groups effectively get 1 added to their number. The next split is group 3 (which was 2) into 3 and 4 and so forth. A pointer is kept to say where the next split will take place and also to help sort out how to adjust the algorithm to identify which group matches a given key. Based on this, if you started with 1000 groups, by the time you have split the 500th time you will have 1500 groups. The first 1000 will be relatively empty, the last 500 will probably be overflowed, but not terribly badly. By the time you get
Re: [U2] RESIZE - dynamic files
That's what we use, 'BASIC SELECT' statements for this table, looping through records to build reports. It's an accounting table that has about 200-300 records WRITES a day, with an average of about ~250 bytes per record. We obviously have more READ operations since we are always building up these reports so I was hoping my #'s looked right. 1) I reduced overflow by 18%. 2) I only increased file size ~8%. So we do a combination of BASIC SELECTS and WRITES. Everything is done in the latest version of Rocket's Universe, PICK using BASIC for our programs that contain the SELECTS. Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 5 Jul 2012 20:12:21 -0400 Subject: Re: [U2] RESIZE - dynamic files A BASIC SELECT cannot use criteria at all. It is going to walk through every record in the file, in order. And that's the sticky wicket. That whole in order business. The disk drive controller has no clue on linked frames, but it *will* do optimistic look aheads for you. So you are much better off, for BASIC SELECTs having nothing in overflow, at all. :) That way, when you go to ask for the *next* frame, it will always be contiguous, and already sitting in memory. -Original Message- From: Rick Nuckolls r...@lynden.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Thu, Jul 5, 2012 4:43 pm Subject: Re: [U2] RESIZE - dynamic files Most disks and disk systems cache huge amounts of information these days, and, epending on 20 factors or so, one solution will be better than another for a iven file. For the wholesale, SELECT F WITH, The fewest disk records will almost always in. For files that have ~10 records/group and have ~10% of the groups verflowed, then perhaps 1% of record reads will do a second read for the verflow buffer because the target key was not in the primary group. Writing a ew record would possibly hit the 10% mark for reading overflow buffers. But owering the split.load will increase the number of splits slightly, and ncrease the total number of groups considerably. What you have shown is that ou need to increase the the modulus (and select time) of a large file more than 0% in order to decrease the read and update times for you records 0.5% of the ime (assuming, that you have only reduced the number of overflow groups by 50%.) As Charles suggests, this is an interesting exercise, but your actual results ill rapidly change if you actually add /remove records from your file, change he load or number of files on your system, put in a new drive, cpu, memory oard, or install a new release of Universe, move to raid, etc. -Rick -Original Message- rom: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of Wjhonson ent: Thursday, July 05, 2012 2:38 PM o: u2-users@listserver.u2ug.org ubject: Re: [U2] RESIZE - dynamic files he hardward look ahead of the disk drive reader will grab consecutive frames into memory, since it assumes you'll want the next frame next. o the less overflow you have, the faster a full file scan will become. t least that's my theory ;) Original Message- rom: Rick Nuckolls r...@lynden.com o: 'U2 Users List' u2-users@listserver.u2ug.org ent: Thu, Jul 5, 2012 2:29 pm ubject: Re: [U2] RESIZE - dynamic files hris, or the type of use that you described earlier; BASIC selects and reads, ducing overflow will have negligible performance benefit, especially compared changing the GROUP.SIZE back to 1 (2048) bytes. If you purge the file in latively small percentages, then it will never merge anyway (because you will ed to delete 20-30% of the file for that to happen with the mergeload at 50%, your optimum minimum modulus solution will probably be how ever large it ows The overhead for a group split is not as bad as it sounds unless your dates/sec count is extremely high, such as during a copy. f you do regular SELECT and SCANS of the entire file, then your goal should be reduce the total disk size of the file, and not worry much about common erflow. The important thing is that the file is dynamic, so you will never counter the issues that undersized statically hashed files develop. e have thousands of dynamically hashed files on our (Solaris) systems, with an tremely low problem rate. ick Original Message- om: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of Chris Austin nt: Thursday, July 05, 2012 11:21 AM : u2-users@listserver.u2ug.org bject: Re: [U2] RESIZE - dynamic files ick, ou are correct, I should be using the smaller size (I just haven't changed it t). Based on the reading I have done you should ly use the larger group size when the average record size is greater than 1000 tes. s far as being better off with the defaults that's basically what I'm trying to est
Re: [U2] RESIZE - dynamic files
File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 92776 current ( minimum 31, 89 empty, 28229 overflowed, 2485 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 500600832 bytes Total size of record data .. 287035391 bytes Total size of record IDs ... 21508449 bytes Unused space ... 192048800 bytes Total space for records 500592640 bytes Using the record above, how would I calculate the following? 1) MINIMUM.MODULUS (Is there a formula to use or should I add 20% to the current number)? 2) SPLIT - would 90% seem about right? 3) MERGE - would 20% seem about right? 4) Large Record Size - does 3276 seem right? 5) Group Size - should I be using 4096? I'm just a bit confused as to how to set these, I saw the formula to calculate the MINIMUM.MODULUS which is (record + id / 4096 or 2048) but I always get a lower number than my current modulus.. I also saw where it said to simply take your current modulus # and add 10-20% and set the MINIMUM.MODULUS based on that.. Based on the table above I'm just trying to get an idea of what these should be set at. Thanks, Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:28:17 -0500 Subject: Re: [U2] RESIZE - dynamic files Doug, When I do the math I come up with a different # (see below): File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 82850 current ( minimum 24, 104 empty, 26225 overflowed, 1441 badly ) Number of records .. 1157122 Large record size .. 2036 bytes Number of large records 576 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 449605632 bytes Total size of record data .. 258687736 bytes Total size of record IDs ... 19283300 bytes Unused space ... 171626404 bytes Total space for records 449597440 bytes -- 258,687,736 bytes - Total size of record data 19,283,300 bytes - Total size of record IDs === 277,971,036 bytes (record + id's) 277,971,036 / 4,084 = 68,063 bytes (minimum modulus) -- 68,063 is less than the current modulus of 82,850. Something with this formula doesn't seem right because if I use that formula I always calculate a minimum modulus of less than the current modulus. Thanks, Chris Date: Mon, 2 Jul 2012 16:08:16 -0600 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Hi Chris: You cannot get away with not resizing dynamic files in my experience. The files do not split and merge like we are led to believe. The separator is not used on dynamic files. Your Universe file is badly sized. The math below will get you reasonably file size. Let's do the math: 258687736 (Record Size) 192283300 (Key Size) 450,971,036 (Data and Key Size) 4096 (Group Size) - 12 (32 Bit Overhead) 4084 Usable Space 450971036/4084 = Minimum Modulo 110424 (Prime is 110431) [ad] I hate doing this math all of the time. I have a reasonably priced resize program called XLr8Resizer for $99.00 to do this for me. [/ad] Regards, Doug www.u2logic.com/tools.html XLr8Resizer for the rest of us ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
No worries Doug. I'm just wondering if the calculation makes sense (if we use the example below): File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 92776 current ( minimum 31, 89 empty, 28229 overflowed, 2485 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 500600832 bytes Total size of record data .. 287035391 bytes Total size of record IDs ... 21508449 bytes Unused space ... 192048800 bytes Total space for records 500592640 bytes FORMULA - (287,035,391+21,508,449) / (4,084) = 75,549 MINIMUM.MODULUS The question I have is whether 75,549 makes sense for this record. I thought the MINIMUM.MODULUS was supposed to be bigger than the number of groups (92,776 in this case)? Chris Date: Tue, 3 Jul 2012 11:04:53 -0600 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Yep, I added an extra 2 in the key value. Oh, the perils of cut and paste... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
So for this example what would be a good SPLIT level and what would be a good MERGE level to use? It was my understanding that I wanted to lower my merge to something below 50% and increase the split to reduce splitting. Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:21:16 -0700 Subject: Re: [U2] RESIZE - dynamic files (record + id / 4096 or 2048) You need to factor in overhead the split factor: (records + ids) * 1.1 * 1.25 / 4096(for 80%) If you use a 20% merge factor and a 80% split factor, the file will start merging unless you delete 60 percent of your records. If you use 90% split factor, you will have more overflowed groups. These numbers refer to the total amount of data in the file, not to any individual group. For records of the size that you have, I do not see any advantage to using a larger, 4096, group size. You will end up with twice the number of records per group vs 2048 (~ 13 vs ~ 7 ), and a little slower keyed access. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 9:48 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 92776 current ( minimum 31, 89 empty, 28229 overflowed, 2485 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 500600832 bytes Total size of record data .. 287035391 bytes Total size of record IDs ... 21508449 bytes Unused space ... 192048800 bytes Total space for records 500592640 bytes Using the record above, how would I calculate the following? 1) MINIMUM.MODULUS (Is there a formula to use or should I add 20% to the current number)? 2) SPLIT - would 90% seem about right? 3) MERGE - would 20% seem about right? 4) Large Record Size - does 3276 seem right? 5) Group Size - should I be using 4096? I'm just a bit confused as to how to set these, I saw the formula to calculate the MINIMUM.MODULUS which is (record + id / 4096 or 2048) but I always get a lower number than my current modulus.. I also saw where it said to simply take your current modulus # and add 10-20% and set the MINIMUM.MODULUS based on that.. Based on the table above I'm just trying to get an idea of what these should be set at. Thanks, Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:28:17 -0500 Subject: Re: [U2] RESIZE - dynamic files Doug, When I do the math I come up with a different # (see below): File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 82850 current ( minimum 24, 104 empty, 26225 overflowed, 1441 badly ) Number of records .. 1157122 Large record size .. 2036 bytes Number of large records 576 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 449605632 bytes Total size of record data .. 258687736 bytes Total size of record IDs ... 19283300 bytes Unused space ... 171626404 bytes Total space for records 449597440 bytes -- 258,687,736 bytes - Total size of record data 19,283,300 bytes - Total size of record IDs === 277,971,036 bytes (record + id's) 277,971,036 / 4,084 = 68,063 bytes (minimum modulus) -- 68,063 is less than the current modulus of 82,850. Something with this formula doesn't seem right because if I use that formula I always calculate a minimum modulus of less than the current modulus. Thanks, Chris Date: Mon, 2 Jul 2012 16:08:16 -0600 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Hi Chris: You cannot get away with not resizing dynamic files in my experience. The files do not split and merge like we are led to believe. The separator is not used on dynamic files. Your Universe file is badly sized. The math below will get you reasonably file size. Let's do the math: 258687736 (Record Size
Re: [U2] RESIZE - dynamic files
Doug, The data is growing over time with this file. Does that mean I should ignore the formula? Or should I still use a lower MINIMUM.MODULO than the actual modulo #.. Is the idea to reduce overflow by lowering the split? What is this 'overflow' referring to? 2) SPLIT - would 90% seem about right? Depends on the history of the file. Is the data growing over time? The way the file looks now the split should be reduced because you have 31% in overflow. So basically don't spend much time worrying about large record size? 4) Large Record Size - does 3276 seem right? Can be calculated with a lot of effort, but yield little gain. This seems like a moot point as well, as long as the ratio in regards to the MINIMUM.MODULO is set proportionally? 5) Group Size - should I be using 4096? You have two group sizes on dynamic files 2048 and 4096. If you lower it you need to double your modulo, roughly. If you keep it the same you need to increase your modulo because 31% of your file is in overflow. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
Using the formula below, and changing the split to 90% I get the following: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 103889 current ( minimum 103889, 114 empty, 22249 overflowed, 1764 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 72% (actual) Total size . 519921664 bytes Total size of record data .. 287400591 bytes Total size of record IDs ... 21508497 bytes Unused space ... 211004384 bytes Total space for records 519913472 bytes How does this look in terms of performance? My Actual load went down 8% as well as some overflow but it looks like my load % is still high at 72% I'm wondering if I should raise the MINIMUM.MODULUS even more since I still have a decent amount of overflow and not many large records. Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:21:16 -0700 Subject: Re: [U2] RESIZE - dynamic files (record + id / 4096 or 2048) You need to factor in overhead the split factor: (records + ids) * 1.1 * 1.25 / 4096(for 80%) If you use a 20% merge factor and a 80% split factor, the file will start merging unless you delete 60 percent of your records. If you use 90% split factor, you will have more overflowed groups. These numbers refer to the total amount of data in the file, not to any individual group. For records of the size that you have, I do not see any advantage to using a larger, 4096, group size. You will end up with twice the number of records per group vs 2048 (~ 13 vs ~ 7 ), and a little slower keyed access. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 9:48 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 92776 current ( minimum 31, 89 empty, 28229 overflowed, 2485 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 500600832 bytes Total size of record data .. 287035391 bytes Total size of record IDs ... 21508449 bytes Unused space ... 192048800 bytes Total space for records 500592640 bytes Using the record above, how would I calculate the following? 1) MINIMUM.MODULUS (Is there a formula to use or should I add 20% to the current number)? 2) SPLIT - would 90% seem about right? 3) MERGE - would 20% seem about right? 4) Large Record Size - does 3276 seem right? 5) Group Size - should I be using 4096? I'm just a bit confused as to how to set these, I saw the formula to calculate the MINIMUM.MODULUS which is (record + id / 4096 or 2048) but I always get a lower number than my current modulus.. I also saw where it said to simply take your current modulus # and add 10-20% and set the MINIMUM.MODULUS based on that.. Based on the table above I'm just trying to get an idea of what these should be set at. Thanks, Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:28:17 -0500 Subject: Re: [U2] RESIZE - dynamic files Doug, When I do the math I come up with a different # (see below): File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 82850 current ( minimum 24, 104 empty, 26225 overflowed, 1441 badly ) Number of records .. 1157122 Large record size .. 2036 bytes Number of large records 576 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 449605632 bytes Total size of record data .. 258687736 bytes Total size of record IDs ... 19283300 bytes Unused space ... 171626404 bytes Total space for records 449597440
Re: [U2] RESIZE - dynamic files
I guess what I need to know is what's an acceptable % of overflow for a dynamic file? For example, when I change the SPLIT LOAD to 90% (while using the calculated min modulus) I'm still left with ~ 20% of overflow (see below). Is 20% overflow considered acceptable on average or should I keep tinkering with it to reach a lower overflow %? Correct me if I'm wrong but it seems the goal here is to REDUCE the overflow % while not creating too many modulus (groups). Chris File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 105715 current ( minimum 103889, 114 empty, 21092 overflowed, 1452 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 70% (actual) Total size . 522260480 bytes Total size of record data .. 287400239 bytes Total size of record IDs ... 21508521 bytes Unused space ... 213343528 bytes Total space for records 522252288 bytes From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 13:10:43 -0700 Subject: Re: [U2] RESIZE - dynamic files The split load is not affecting anything here, since it is more than the actual load. What your overflow suggests is that you lower the split.load value to 70$% or below. You could go ahead and set the merge.load to an arbitrarily low number (1), and it will probably never do a merge, which would be the same as specifying a minimum.modulus equal to as large as it ever gets. The exception to this is during file creation clear.file, when the minimum.modulus value determines the initial disk allocation. Short of going to an arbitrarily large minimum.modulus, and a very low split.load, you are going to have some overflow (unless you have sequential keys like sized records). -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 12:54 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Using the formula below, and changing the split to 90% I get the following: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 103889 current ( minimum 103889, 114 empty, 22249 overflowed, 1764 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 72% (actual) Total size . 519921664 bytes Total size of record data .. 287400591 bytes Total size of record IDs ... 21508497 bytes Unused space ... 211004384 bytes Total space for records 519913472 bytes How does this look in terms of performance? My Actual load went down 8% as well as some overflow but it looks like my load % is still high at 72% I'm wondering if I should raise the MINIMUM.MODULUS even more since I still have a decent amount of overflow and not many large records. Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 10:21:16 -0700 Subject: Re: [U2] RESIZE - dynamic files (record + id / 4096 or 2048) You need to factor in overhead the split factor: (records + ids) * 1.1 * 1.25 / 4096(for 80%) If you use a 20% merge factor and a 80% split factor, the file will start merging unless you delete 60 percent of your records. If you use 90% split factor, you will have more overflowed groups. These numbers refer to the total amount of data in the file, not to any individual group. For records of the size that you have, I do not see any advantage to using a larger, 4096, group size. You will end up with twice the number of records per group vs 2048 (~ 13 vs ~ 7 ), and a little slower keyed access. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 9:48 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing
Re: [U2] RESIZE - dynamic files
Dan, I changed the MINIMUM.MODULUS to the value of 23 as you suggested and my Actual Load has really gone down (as well as overflow). See below for the results: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 23 current ( minimum 23, 5263 empty, 3957 overflowed, 207 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 37% (actual) Total size . 836235264 bytes Total size of record data .. 287394719 bytes Total size of record IDs ... 21508521 bytes Unused space ... 527323832 bytes Total space for records 836227072 bytes My overflow is now @ 2% My Load is @ 37% (actual) granted my empty groups are now up to almost 3% but I hope that won't be a big factor. How does this look? Chris From: dangf...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 16:57:34 -0400 Subject: Re: [U2] RESIZE - dynamic files One rule of thumb is to make sure that you have an average of 10 or less items in each group. Going by that, you'd want a minimum mod of 130k or more. I've also noticed that files approach the sweet spot for minimizing overflow without having excessive empty groups when the total size is pretty nearly twice the data size. The goal can vary according to your situation. I'm personally not all that afraid of making the modulus a little too large, as overflow is a pretty bad performance hit (overflow means at least two disk reads to retrieve your data, badly means at least 2 extra disk reads, and I've seen files where that was thousands (this file isn't that bad, but 20% of your data is forcing at least one extra disk read). Empty groups contribute to overhead on a sequential search, so you'd want to consider how often you do a sequential search on a file - usually, that's a pretty inefficient way to retrieve data, but, again, your mileage may vary. To me, 20% is too much overflow, and 114 empty groups is trivial; much less than 0.2%. I'd be tempted to go to 23 as a minimum Mod, just to see what it looks like there. That'll give you an average of 6 records per group, not unreasonably shallow, and it's likely to be a while before you have to resize again. From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 15:23:23 -0500 Subject: Re: [U2] RESIZE - dynamic files I guess what I need to know is what's an acceptable % of overflow for a dynamic file? For example, when I change the SPLIT LOAD to 90% (while using the calculated min modulus) I'm still left with ~ 20% of overflow (see below). Is 20% overflow considered acceptable on average or should I keep tinkering with it to reach a lower overflow %? Correct me if I'm wrong but it seems the goal here is to REDUCE the overflow % while not creating too many modulus (groups). Chris File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 105715 current ( minimum 103889, 114 empty, 21092 overflowed, 1452 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 70% (actual) Total size . 522260480 bytes Total size of record data .. 287400239 bytes Total size of record IDs ... 21508521 bytes Unused space ... 213343528 bytes Total space for records 522252288 bytes From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 13:10:43 -0700 Subject: Re: [U2] RESIZE - dynamic files The split load is not affecting anything here, since it is more than the actual load. What your overflow suggests is that you lower the split.load value to 70$% or below. You could go ahead and set the merge.load to an arbitrarily low number (1), and it will probably never do a merge, which would be the same as specifying a minimum.modulus equal to as large as it ever gets. The exception to this is during file creation clear.file, when the minimum.modulus value determines the initial disk allocation. Short of going to an arbitrarily large minimum.modulus, and a very low split.load, you are going to have some overflow
Re: [U2] RESIZE - dynamic files
This is why I'm confused.. Is the goal here to reduce 'overflow' or to keep the 'Total size' of the disk down? If the goal is to keep the total disk size down then it would appear you would want your actual load % a lot higher than 37%.. and then ignore 'some' of the overflow.. Chris But the total size of your file is up 60%. Reading in 60% more records in a full select of the file is going to be much slower than a few more overflows. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 2:15 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Dan, I changed the MINIMUM.MODULUS to the value of 23 as you suggested and my Actual Load has really gone down (as well as overflow). See below for the results: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 23 current ( minimum 23, 5263 empty, 3957 overflowed, 207 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 37% (actual) Total size . 836235264 bytes Total size of record data .. 287394719 bytes Total size of record IDs ... 21508521 bytes Unused space ... 527323832 bytes Total space for records 836227072 bytes My overflow is now @ 2% My Load is @ 37% (actual) granted my empty groups are now up to almost 3% but I hope that won't be a big factor. How does this look? Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
I set the split load based on what Dan suggested: I'd take the merge down a little, to maybe 30% or even less, and maybe knock the split up a bit - say, 90% - to cut down on the splitting. I thought this would cut down on splitting. Is there a certain formula, or way to calculate the split.load? What should my SPLIT.LOAD be around, and how do you come up with that %? Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 3 Jul 2012 14:45:28 -0700 Subject: Re: [U2] RESIZE - dynamic files 37% is a very low load. Reading disk records takes much longer than parsing the records out of a disk record. With variable record size and moderately poor hashing, overflow is inevitable. So, do you want 80,000 extra groups, or 20,000 overflow buffers? I would go with the smaller number. But for the love of Knuth, do not set your split.load to 90% unless you have a perfectly hashed file with uniformly sized records. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 2:38 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files This is why I'm confused.. Is the goal here to reduce 'overflow' or to keep the 'Total size' of the disk down? If the goal is to keep the total disk size down then it would appear you would want your actual load % a lot higher than 37%.. and then ignore 'some' of the overflow.. Chris But the total size of your file is up 60%. Reading in 60% more records in a full select of the file is going to be much slower than a few more overflows. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 03, 2012 2:15 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] RESIZE - dynamic files Dan, I changed the MINIMUM.MODULUS to the value of 23 as you suggested and my Actual Load has really gone down (as well as overflow). See below for the results: File name .. GENACCTRN_POSTED Pathname ... GENACCTRN_POSTED File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 23 current ( minimum 23, 5263 empty, 3957 overflowed, 207 badly ) Number of records .. 1290469 Large record size .. 3267 bytes Number of large records 180 Group size . 4096 bytes Load factors ... 90% (split), 50% (merge) and 37% (actual) Total size . 836235264 bytes Total size of record data .. 287394719 bytes Total size of record IDs ... 21508521 bytes Unused space ... 527323832 bytes Total space for records 836227072 bytes My overflow is now @ 2% My Load is @ 37% (actual) granted my empty groups are now up to almost 3% but I hope that won't be a big factor. How does this look? Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] RESIZE - dynamic files
I was wondering if anyone had instructions on RESIZE with a dynamic file? For example I have a file called 'TEST_FILE' with the following: 01 ANALYZE.FILE TEST_FILE File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 83261 current ( minimum 31 ) Large record size .. 3267 bytes Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 450613248 bytes How do you calculate what the modulus and separation should be? I can't use HASH.HELP on a type 30 file to see the recommended settings so I was wondering how best you figure out the file RESIZE. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] RESIZE - dynamic files
I was wondering if anyone had instructions on RESIZE with a dynamic file? For example I have a file called 'TEST_FILE' with the following: 01 ANALYZE.FILE TEST_FILE File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 83261 current ( minimum 31 ) Large record size .. 3267 bytes Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 450613248 bytes How do you calculate what the modulus and separation should be? I can't use HASH.HELP on a type 30 file to see the recommended settings so I was wondering how best you figure out the file RESIZE. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
The dynamic file I'm working with is below. What do 'overflowed' and 'badly' refer to under MODULUS? Is the goal of the RESIZE to eliminate that overflow? Any ideas what I should change to achieve this? File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 82850 current ( minimum 24, 104 empty, 26225 overflowed, 1441 badly ) Number of records .. 1157122 Large record size .. 2036 bytes Number of large records 576 Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 449605632 bytes Total size of record data .. 258687736 bytes Total size of record IDs ... 19283300 bytes Unused space ... 171626404 bytes Total space for records 449597440 bytes Thanks, Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Mon, 2 Jul 2012 14:55:21 -0500 Subject: [U2] RESIZE - dynamic files I was wondering if anyone had instructions on RESIZE with a dynamic file? For example I have a file called 'TEST_FILE' with the following: 01 ANALYZE.FILE TEST_FILE File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 83261 current ( minimum 31 ) Large record size .. 3267 bytes Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 450613248 bytes How do you calculate what the modulus and separation should be? I can't use HASH.HELP on a type 30 file to see the recommended settings so I was wondering how best you figure out the file RESIZE. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] RESIZE - dynamic files
I guess my main question is regarding the 'overflow' and 'badly' #'s which you can see when you do an ANALYZE.FILE filename STATISTICS. Is the goal not to have any overflow #? And what is 'badly'? After playing around with RESIZE on this file, I was able to come up with the following: RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 24 82850 current ( minimum 24, 104 empty,26225 overflowed, 1441 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 1000 82850 current ( minimum 1000, 104 empty,26225 overflowed, 1441 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 99420 99420 current ( minimum 99420, 182 empty,18725 overflowed, 1054 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 119304 119304 current ( minimum 119304, 247 empty, 9511 overflowed, 406 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 143165 143165 current ( minimum 143165, 1328 empty,4333 overflowed, 259 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 171799 171799 current ( minimum 171799, 3814 empty,3063 overflowed, 237 badly ) RESIZE TEST_FILE 30 GROUP.SIZE 2 MINIMUM.MODULUS 223339 223339 current ( minimum 223339, 9215 empty,1810 overflowed, 222 badly ) As you can see as I increase my MINIMUM.MODULUS, my 'overflowed' and 'badly' #'s go down. Is this the goal when tuning a dynamic file? Chris From: martinphill...@ladybridge.com To: u2-users@listserver.u2ug.org Date: Mon, 2 Jul 2012 20:56:40 +0100 Subject: Re: [U2] RESIZE - dynamic files Hi Chris, The whole point of dynamic files is that you don't do RESIZE. The file will look after itself, automatically responding to variations in the volume of data. There are knobs to twiddle but in most cases they can safely be left at their defaults. A dynamic file will never perform as well as a perfectly tuned static file but they are a heck of a lot better than typical static files that haven't been reconfigured for ages. Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 02 July 2012 20:22 To: u2-users@listserver.u2ug.org Subject: [U2] RESIZE - dynamic files I was wondering if anyone had instructions on RESIZE with a dynamic file? For example I have a file called 'TEST_FILE' with the following: 01 ANALYZE.FILE TEST_FILE File name .. TEST_FILE Pathname ... TEST_FILE File type .. DYNAMIC File style and revision 32BIT Revision 12 Hashing Algorithm .. GENERAL No. of groups (modulus) 83261 current ( minimum 31 ) Large record size .. 3267 bytes Group size . 4096 bytes Load factors ... 80% (split), 50% (merge) and 80% (actual) Total size . 450613248 bytes How do you calculate what the modulus and separation should be? I can't use HASH.HELP on a type 30 file to see the recommended settings so I was wondering how best you figure out the file RESIZE. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SAVING UNIQUE ( multivalued)
I usually get my exploded list and then DEDUPE using the following: LOCATE VALUE.TO.FIND IN UNIQUE.LIST BY AL SETTING POS ELSE UNIQUE.LIST = INSERT(UNIQUE.LIST,1,POS,0,VALUE.TO.FIND) END This puts everything in a nice ARRAY called UNIQUE.LIST, I then can use a FOR loop to loop through as needed. Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 17 May 2012 16:13:31 -0400 Subject: Re: [U2] SAVING UNIQUE ( multivalued) You have two issues. One is to create a list from an exploded multi-value The other issue, is to dedupe that list. Without using something like REFORMAT I don't think you can get the two issues resolved at once. Qselect does not allow Unique So QSELECT MYFILE SAVING 2 will explode the multi-values, but it won't dedupe them. -Original Message- From: Rick Nuckolls r...@lynden.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Thu, May 17, 2012 1:06 pm Subject: [U2] SAVING UNIQUE ( multivalued) Does anyone know a trick to achieve the equivalent of SELECT filename SAVING UNIQUE fieldname When fieldname is the name of a multivalued field, and I want a list of all he unique values for that field? The syntax above does not explode the values, but just looks at the whole field. I suppose that I can do a LIST with a BY.EXP a BREAK.ON, but perhaps I am issing something... Thanks, Rick Nuckolls ynden Inc. __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SAVING UNIQUE ( multivalued)
What's the syntax to use MUNIQUE below in a SELECT? The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 13:37:33 -0700 Subject: Re: [U2] SAVING UNIQUE ( multivalued) This does present a challenge, The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE Or, I suppose that one could also EDIT.LIST GARBAGE New record. : I 0001= KAJDF;LJASDLF;KJADSL;FKJASDL;FJKASLD;JFALS;DJFLASKDF 0002= Bottom at line 1. : Top. : FI GARBAGE filed in file SAVEDLISTS. :GET.LIST GARBAGE TO 1 1 record(s) selected to SELECT list #1. :QSELECT IU * SAVING 19 32987 record(s) selected to SELECT list #0. ::MERGE.LIST 0 DIFF 1 90 record(s) selected to SELECT list #0. :: Be nice if there was MV support of 'SAVING UNIQUE', or a cleaner syntactic way to use MERGE.LIST to dedupe. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 1:20 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) I usually get my exploded list and then DEDUPE using the following: LOCATE VALUE.TO.FIND IN UNIQUE.LIST BY AL SETTING POS ELSE UNIQUE.LIST = INSERT(UNIQUE.LIST,1,POS,0,VALUE.TO.FIND) END This puts everything in a nice ARRAY called UNIQUE.LIST, I then can use a FOR loop to loop through as needed. Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 17 May 2012 16:13:31 -0400 Subject: Re: [U2] SAVING UNIQUE ( multivalued) You have two issues. One is to create a list from an exploded multi-value The other issue, is to dedupe that list. Without using something like REFORMAT I don't think you can get the two issues resolved at once. Qselect does not allow Unique So QSELECT MYFILE SAVING 2 will explode the multi-values, but it won't dedupe them. -Original Message- From: Rick Nuckolls r...@lynden.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Thu, May 17, 2012 1:06 pm Subject: [U2] SAVING UNIQUE ( multivalued) Does anyone know a trick to achieve the equivalent of SELECT filename SAVING UNIQUE fieldname When fieldname is the name of a multivalued field, and I want
Re: [U2] SAVING UNIQUE ( multivalued)
That works beautifully George, thanks for the tip! I've never used the MERGE.LIST command before, I assume the line you have 0005: MERGE.LIST 1 UNION 1 basically take the list #1 and shakes out the unique values? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 15:47:11 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) What about ... : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: GET.LIST UNIQUE TO 1 0005: MERGE.LIST 1 UNION 1 0006: SAVE.LIST UNIQUE 0007: GET.LIST UNIQUE (The MERGE.LIST will sort and dedupe) 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rick Nuckolls Sent: Thursday, May 17, 2012 4:38 PM To: 'U2 Users List' Subject: Re: [U2] SAVING UNIQUE ( multivalued) This does present a challenge, The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE Or, I suppose that one could also EDIT.LIST GARBAGE New record. : I 0001= KAJDF;LJASDLF;KJADSL;FKJASDL;FJKASLD;JFALS;DJFLASKDF 0002= Bottom at line 1. : Top. : FI GARBAGE filed in file SAVEDLISTS. :GET.LIST GARBAGE TO 1 1 record(s) selected to SELECT list #1. :QSELECT IU * SAVING 19 32987 record(s) selected to SELECT list #0. ::MERGE.LIST 0 DIFF 1 90 record(s) selected to SELECT list #0. :: Be nice if there was MV support of 'SAVING UNIQUE', or a cleaner syntactic way to use MERGE.LIST to dedupe. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 1:20 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) I usually get my exploded list and then DEDUPE using the following: LOCATE VALUE.TO.FIND IN UNIQUE.LIST BY AL SETTING POS ELSE UNIQUE.LIST = INSERT(UNIQUE.LIST,1,POS,0,VALUE.TO.FIND) END This puts everything in a nice ARRAY called UNIQUE.LIST, I then can use a FOR loop to loop through as needed. Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 17 May 2012 16:13:31 -0400 Subject: Re: [U2] SAVING UNIQUE ( multivalued) You have two issues. One is to create a list from an exploded multi-value The other issue, is to dedupe that list. Without using something like REFORMAT I don't think you can get the two issues resolved at once. Qselect does not allow Unique So QSELECT MYFILE SAVING 2 will explode the multi-values, but it won't dedupe them. -Original Message
Re: [U2] SAVING UNIQUE ( multivalued)
The description of UNION is a bit confusing with regards to the way this works: UNION - list3 contains all elements from list1 and all elements from list2 that are not in list1. From the HELP description I would think it wouldn't work, for example: list 1 = 1,1,2,2,3,4,5 list 2 = 1,4,6,8 wouldn't list 3 look like the following? list 3 = 1,1,2,2,3,4,5,6,8 How does it DEDUPE list 1? The description says it 'contains all elements from list1' but there could be duplicates in list 1 so how do those get shaken out? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 16:06:10 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) Now thinking about it, I think MERGE.LIST always does sort and deduping regardless of which ACTION you use. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Thursday, May 17, 2012 5:05 PM To: U2 Users List Subject: Re: [U2] SAVING UNIQUE ( multivalued) MERGE.LIST Sorts automatically, The UNION does the DEDUPING The 1 union 1 - says to union of list#1 with list#1 (itself) Otherwise: MERGE.LIST # ACTION # TO # Where ACTION = (UNION, INTERSECT or DIFF) And the TO # will save the results to that list# (if it's not specified, the default list #0 is used) George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 5:00 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) That works beautifully George, thanks for the tip! I've never used the MERGE.LIST command before, I assume the line you have 0005: MERGE.LIST 1 UNION 1 basically take the list #1 and shakes out the unique values? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 15:47:11 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) What about ... : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: GET.LIST UNIQUE TO 1 0005: MERGE.LIST 1 UNION 1 0006: SAVE.LIST UNIQUE 0007: GET.LIST UNIQUE (The MERGE.LIST will sort and dedupe) 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rick Nuckolls Sent: Thursday, May 17, 2012 4:38 PM To: 'U2 Users List' Subject: Re: [U2] SAVING UNIQUE ( multivalued) This does present a challenge, The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE Or, I suppose that one could also EDIT.LIST GARBAGE New record. : I 0001= KAJDF;LJASDLF;KJADSL;FKJASDL;FJKASLD;JFALS;DJFLASKDF 0002= Bottom at line 1. : Top. : FI GARBAGE filed in file SAVEDLISTS. :GET.LIST GARBAGE TO 1 1 record(s) selected to SELECT list #1. :QSELECT IU * SAVING 19
Re: [U2] SAVING UNIQUE ( multivalued)
Rick, I'm not following you.. There isn't a 'second list'.. it's one list that is being manipulated (George's example only uses 1 list) which he calls 1 and UNIQUE (interchangeably) . Perhaps you can show us what you're referring to so we can see an example.. I thought George's solution was excellent. Chris From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 14:07:24 -0700 Subject: Re: [U2] SAVING UNIQUE ( multivalued) UNION would definely be an alternative, but doing it against a needlessly long second list offends my Scotch genes. It is possible to create an active, zero length, selectlist programmatically, so perhaps I should write a little command to do that and and a MERGE.LIST UNION against it. -Rick On May 17, 2012, at 1:47 PM, George Gallen ggal...@wyanokegroup.com wrote: What about ... : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: GET.LIST UNIQUE TO 1 0005: MERGE.LIST 1 UNION 1 0006: SAVE.LIST UNIQUE 0007: GET.LIST UNIQUE (The MERGE.LIST will sort and dedupe) 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rick Nuckolls Sent: Thursday, May 17, 2012 4:38 PM To: 'U2 Users List' Subject: Re: [U2] SAVING UNIQUE ( multivalued) This does present a challenge, The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE Or, I suppose that one could also EDIT.LIST GARBAGE New record. : I 0001= KAJDF;LJASDLF;KJADSL;FKJASDL;FJKASLD;JFALS;DJFLASKDF 0002= Bottom at line 1. : Top. : FI GARBAGE filed in file SAVEDLISTS. :GET.LIST GARBAGE TO 1 1 record(s) selected to SELECT list #1. :QSELECT IU * SAVING 19 32987 record(s) selected to SELECT list #0. ::MERGE.LIST 0 DIFF 1 90 record(s) selected to SELECT list #0. :: Be nice if there was MV support of 'SAVING UNIQUE', or a cleaner syntactic way to use MERGE.LIST to dedupe. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 1:20 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) I usually get my exploded list and then DEDUPE using the following: LOCATE VALUE.TO.FIND IN UNIQUE.LIST BY AL SETTING POS ELSE UNIQUE.LIST = INSERT(UNIQUE.LIST,1,POS,0,VALUE.TO.FIND) END This puts everything in a nice ARRAY called UNIQUE.LIST, I then can use a FOR loop to loop through as needed. Chris To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Thu, 17 May 2012 16:13:31 -0400 Subject: Re: [U2] SAVING UNIQUE ( multivalued) You have two issues. One is to create a list from an exploded multi-value The other issue, is to dedupe that list. Without using something like REFORMAT I don't think you can get the two issues resolved at once. Qselect does not allow Unique So QSELECT
Re: [U2] SAVING UNIQUE ( multivalued)
No worries, it all makes perfect sense now ;) Thanks! From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 16:16:25 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) I may have confused you when I said the UNION does the deduping - Sorry. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Thursday, May 17, 2012 5:15 PM To: U2 Users List Subject: Re: [U2] SAVING UNIQUE ( multivalued) The union combines the lists, then merge.list does the deduping when it's finished the merge as it does the sorting. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 5:11 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) The description of UNION is a bit confusing with regards to the way this works: UNION - list3 contains all elements from list1 and all elements from list2 that are not in list1. From the HELP description I would think it wouldn't work, for example: list 1 = 1,1,2,2,3,4,5 list 2 = 1,4,6,8 wouldn't list 3 look like the following? list 3 = 1,1,2,2,3,4,5,6,8 How does it DEDUPE list 1? The description says it 'contains all elements from list1' but there could be duplicates in list 1 so how do those get shaken out? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 16:06:10 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) Now thinking about it, I think MERGE.LIST always does sort and deduping regardless of which ACTION you use. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Thursday, May 17, 2012 5:05 PM To: U2 Users List Subject: Re: [U2] SAVING UNIQUE ( multivalued) MERGE.LIST Sorts automatically, The UNION does the DEDUPING The 1 union 1 - says to union of list#1 with list#1 (itself) Otherwise: MERGE.LIST # ACTION # TO # Where ACTION = (UNION, INTERSECT or DIFF) And the TO # will save the results to that list# (if it's not specified, the default list #0 is used) George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, May 17, 2012 5:00 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SAVING UNIQUE ( multivalued) That works beautifully George, thanks for the tip! I've never used the MERGE.LIST command before, I assume the line you have 0005: MERGE.LIST 1 UNION 1 basically take the list #1 and shakes out the unique values? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 17 May 2012 15:47:11 -0500 Subject: Re: [U2] SAVING UNIQUE ( multivalued) What about ... : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: GET.LIST UNIQUE TO 1 0005: MERGE.LIST 1 UNION 1 0006: SAVE.LIST UNIQUE 0007: GET.LIST UNIQUE (The MERGE.LIST will sort and dedupe) 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rick Nuckolls Sent: Thursday, May 17, 2012 4:38 PM To: 'U2 Users List' Subject: Re: [U2] SAVING UNIQUE ( multivalued) This does present a challenge, The following (non-portable solution works) :ED VOC MUNIQUE 5 lines long. : P 0001: PA 0002: QSELECT C2,file * SAVING C3,field number 0003: SAVE.LIST UNIQUE 0004: sh -c /usr/bin/sort -uo 'SAVEDLISTS/UNIQUE' 'SAVEDLISTS/UNIQUE' 0005: GET.LIST UNIQUE Or, I suppose that one could also EDIT.LIST GARBAGE New record
Re: [U2] Universe 10.2 to 11.1
Harold, I just did this upgrade about a week ago.. it was super easy. I actually went from 10.1.18 to 11.1.1 and the transition was smooth but there were a couple things to note: 1) Install Universe 11.x under the 'modify' setting. 2) The file paths are diff (c:\ibm\uv vs. c:\u2\uv), so agree to have the files MOVED from one to the other (during install). [make sure permissions allow this on the folder] 3) run UPDATE.ACCOUNT (UniVerse command) in each of the UniVerse accounts, then update the VOC when it asks you to. Cost = 1 day of my time Time = 2 hours (most of the time spent was getting the UniVerse license) 11.1.1 has been perfect for me so far and I have not had 1 hiccup as a result of the upgrade. Here is a writeup done by one user: http://comments.gmane.org/gmane.comp.db.u2.general/65456 Here was my post from the other week: http://comments.gmane.org/gmane.comp.db.u2.general/65456 Chris Date: Tue, 6 Mar 2012 11:34:31 -0800 From: harold.o...@clark.wa.gov To: u2-users@listserver.u2ug.org Subject: [U2] Universe 10.2 to 11.1 All: Who has upgraded Universe 10.2 to 11.1? Difficult or not? Costs? Time? More generally, I'm addressing anyone using Universe 11.1 coming from any other place. On their website, Rocket states: UniVerse V11.1 adds powerful high availability, interoperability, administration and security capabilities to the solid extended relational database. EDA (Extended Data Architecture) sounds quite interesting (this is under interoperability): External Database Access (EDA) External database access (EDA) provides the flexibility to store some or all of your data in either UniVerse files or an external database such as Microsoft SQL Server, Oracle and IBM DB2. EDA provides the ability to transparently access and update data from an existing UniVerse application. Graphical tools ease schema mapping and configuration management. Has 11.1 been a happy choice for you? Thanks for any advice and opinions- Harold Oaks Clark County This e-mail and related attachments and any response may be subject to public disclosure under state law. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Universe 10.2 to 11.1
Here is the writeup from one user (who upgraded to 11.1): http://nebula-rnd.com/blog/tech/mv/2011/04/u2upgrade2.html Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 6 Mar 2012 14:03:56 -0600 Subject: Re: [U2] Universe 10.2 to 11.1 Harold, I just did this upgrade about a week ago.. it was super easy. I actually went from 10.1.18 to 11.1.1 and the transition was smooth but there were a couple things to note: 1) Install Universe 11.x under the 'modify' setting. 2) The file paths are diff (c:\ibm\uv vs. c:\u2\uv), so agree to have the files MOVED from one to the other (during install). [make sure permissions allow this on the folder] 3) run UPDATE.ACCOUNT (UniVerse command) in each of the UniVerse accounts, then update the VOC when it asks you to. Cost = 1 day of my time Time = 2 hours (most of the time spent was getting the UniVerse license) 11.1.1 has been perfect for me so far and I have not had 1 hiccup as a result of the upgrade. Here is a writeup done by one user: http://comments.gmane.org/gmane.comp.db.u2.general/65456 Here was my post from the other week: http://comments.gmane.org/gmane.comp.db.u2.general/65456 Chris Date: Tue, 6 Mar 2012 11:34:31 -0800 From: harold.o...@clark.wa.gov To: u2-users@listserver.u2ug.org Subject: [U2] Universe 10.2 to 11.1 All: Who has upgraded Universe 10.2 to 11.1? Difficult or not? Costs? Time? More generally, I'm addressing anyone using Universe 11.1 coming from any other place. On their website, Rocket states: UniVerse V11.1 adds powerful high availability, interoperability, administration and security capabilities to the solid extended relational database. EDA (Extended Data Architecture) sounds quite interesting (this is under interoperability): External Database Access (EDA) External database access (EDA) provides the flexibility to store some or all of your data in either UniVerse files or an external database such as Microsoft SQL Server, Oracle and IBM DB2. EDA provides the ability to transparently access and update data from an existing UniVerse application. Graphical tools ease schema mapping and configuration management. Has 11.1 been a happy choice for you? Thanks for any advice and opinions- Harold Oaks Clark County This e-mail and related attachments and any response may be subject to public disclosure under state law. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uvrestore - Unable to create or attach the Printer Segment
I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uvrestore - Unable to create or attach the Printer Segment
I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
The problem happens when I try and execute the UV command (see below): CHRISDOS Microsoft Windows [Version 5.2.3790] (C) Copyright 1985-2003 Microsoft Corp. C:\CHRISUV A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment So this isn't just with uvrestore but with the uv command as well. Any ideas? From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 10:38:33 -0600 Subject: [U2] uvrestore - Unable to create or attach the Printer Segment I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
Brian, How do I check the path environment variable? When I sit on the server I can execute UV from the CMD line. However when i telnet to UniVerse (on the server) I still cannot execute UV. I did notice another thing, when I execute UV from the CMD line on the server it asks me to update my VOC, I select yes. Then if I execute UV it shows that I'm still on version '10.1' so maybe I need to run UVREGEN? Chris From: br...@brianleach.co.uk To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 17:24:31 + Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Just a thought - you've changed the uv directory, has your path environment variable changed to the new \u2\uv\bin ? Could it be trying to run the old binaries? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 28 February 2012 16:56 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
Brian, I changed the PATH on the server and that fixed the 10.1 from showing when I do a UV on a CMD prompt. I now see 11.1 which is good but I still cannot execute the UV command from TELNET like I have always been able to do before. Even when I sit on the server and try UV in a TELNET prompt it won't work, however the CMD prompt does.. Chris From: br...@brianleach.co.uk To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 17:24:31 + Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Just a thought - you've changed the uv directory, has your path environment variable changed to the new \u2\uv\bin ? Could it be trying to run the old binaries? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 28 February 2012 16:56 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
Exactly what you said. I login to Universe through TCL and then type DOS, then UV. I then get that error message: C:\CHRISuv A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Tue, 28 Feb 2012 13:12:53 -0500 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Do you mean you log into Universe, go to TCL, type DOS, get the DOS prompt, then try uv at that point? -Original Message- From: Chris Austin cjausti...@hotmail.com To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Feb 28, 2012 9:57 am Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment rian, I changed the PATH on the server and that fixed the 10.1 from showing when I do UV on a CMD prompt. I now see 1.1 which is good but I still cannot execute the UV command from TELNET like I ave always been able to do before. Even when I sit on the server and try UV in a TELNET prompt it won't work, owever the CMD prompt does.. Chris From: br...@brianleach.co.uk To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 17:24:31 + Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Just a thought - you've changed the uv directory, has your path environment variable changed to the new \u2\uv\bin ? Could it be trying to run the old binaries? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 28 February 2012 16:56 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
I tried going to a DOS shell on the server directly and typed UV and it worked. Just not with Telnet. I would like to avoid a PCAnywhere solution since we've always been able to use Telnet. To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Tue, 28 Feb 2012 13:26:39 -0500 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Connect to your server directly through RADMIN or PCAnywhere. Start a DOS Shell without going into Universe. Go to the Universe directory Try uv then. -Original Message- From: Chris Austin cjausti...@hotmail.com To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Feb 28, 2012 10:15 am Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment xactly what you said. I login to Universe through TCL and then type DOS, then V. I then get that error message: C:\CHRISuv fatal error has occurred in uniVerse nable to create or attach the Printer Segment To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Tue, 28 Feb 2012 13:12:53 -0500 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Do you mean you log into Universe, go to TCL, type DOS, get the DOS prompt, hen try uv at that point? -Original Message- From: Chris Austin cjausti...@hotmail.com To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Feb 28, 2012 9:57 am Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment rian, I changed the PATH on the server and that fixed the 10.1 from showing when I o UV on a CMD prompt. I now see 1.1 which is good but I still cannot execute the UV command from TELNET like I ave always been able to do before. Even when I sit on the server and try UV in a TELNET prompt it won't work, owever the CMD prompt does.. Chris From: br...@brianleach.co.uk To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 17:24:31 + Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Just a thought - you've changed the uv directory, has your path environment variable changed to the new \u2\uv\bin ? Could it be trying to run the old binaries? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 28 February 2012 16:56 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
I'm not sure if I'm running this correctly but I went to DOS, then did the following: C:\U2\UV\binUVREGEN .uvconfig: No such file or directory uvregen: error during regen, process aborted I received the following message about .uvconfig not being there or in the directory. I searched my file system and I do have a .uvconfig file in C:\U2\UV\bin. Am I running this correctly? Date: Tue, 28 Feb 2012 19:08:40 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi Chris You should run bin\uvregen after every change on UVCONFIG file. Sometimes uvregen display warnings if some of your parameters doesn't fit, So that, if uvregen doesn't complaints, then you are right. And the other must after changing UV version is to run UPDATE.ACCOUNT on every accout you use. Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
I ran UVREGEN (as shown below): C:\U2\UVbin\uvregen -c Configuration data for license number : User limit =20 Expiry date=1/1/2500 -UVNET package is installed. User limit = 20. Expiry date = 1/1/2500 -GCIpackage is installed. User limit = 20. Expiry date = 1/1/2500 -UCIpackage is installed. User limit = 20. Expiry date = 1/1/2500 -UVCS package is installed. User limit = 20. Expiry date = 1/1/2500 -UVADM package is installed. User limit = 20. Expiry date = 1/1/2500 -UVODBC package is installed. User limit = 20. Expiry date = 1/1/2500 -iPHANTOM package is installed. User limit = 20. Expiry date = 1/1/2500 C:\U2\UVbin\uvregen uvregen: reconfiguration complete, disk segment size is 4869760 I also ran UPDATE.ACCOUNT, both ran successfully. However I still get that error when I try to run UV from telnet.. Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 12:44:27 -0600 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment I'm not sure if I'm running this correctly but I went to DOS, then did the following: C:\U2\UV\binUVREGEN .uvconfig: No such file or directory uvregen: error during regen, process aborted I received the following message about .uvconfig not being there or in the directory. I searched my file system and I do have a .uvconfig file in C:\U2\UV\bin. Am I running this correctly? Date: Tue, 28 Feb 2012 19:08:40 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi Chris You should run bin\uvregen after every change on UVCONFIG file. Sometimes uvregen display warnings if some of your parameters doesn't fit, So that, if uvregen doesn't complaints, then you are right. And the other must after changing UV version is to run UPDATE.ACCOUNT on every accout you use. Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment Any idea what would be causing this? Anything to do with connection pooling? (our new install has connection pooling set at 0) Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uvrestore - Unable to create or attach the Printer Segment
That was it!! I had to change my environmental variable for C:\U2\UV, however TELNET would not reflect the change until I restarted the server.. Thanks for the suggestions Bob it saved me a lot of time, my Telnet prompt was still showing C:\IBM\UV until I restarted the server, now it correctly shows C:\U2\UV. Thanks for the help everyone! Chris Date: Tue, 28 Feb 2012 10:36:40 -0800 From: bob_woodw...@k2sports.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Since you're able to get to the DOS prompt using telnet, type SET to look at the environment variables. Check them against when you're on the server and able to get into UV. Something is probably different. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, February 28, 2012 10:30 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment I tried going to a DOS shell on the server directly and typed UV and it worked. Just not with Telnet. I would like to avoid a PCAnywhere solution since we've always been able to use Telnet. To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Tue, 28 Feb 2012 13:26:39 -0500 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Connect to your server directly through RADMIN or PCAnywhere. Start a DOS Shell without going into Universe. Go to the Universe directory Try uv then. -Original Message- From: Chris Austin cjausti...@hotmail.com To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Feb 28, 2012 10:15 am Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment xactly what you said. I login to Universe through TCL and then type DOS, then V. I then get that error message: C:\CHRISuv fatal error has occurred in uniVerse nable to create or attach the Printer Segment To: u2-users@listserver.u2ug.org From: wjhon...@aol.com Date: Tue, 28 Feb 2012 13:12:53 -0500 Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Do you mean you log into Universe, go to TCL, type DOS, get the DOS prompt, hen try uv at that point? -Original Message- From: Chris Austin cjausti...@hotmail.com To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Feb 28, 2012 9:57 am Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment rian, I changed the PATH on the server and that fixed the 10.1 from showing when I o UV on a CMD prompt. I now see 1.1 which is good but I still cannot execute the UV command from TELNET like I ave always been able to do before. Even when I sit on the server and try UV in a TELNET prompt it won't work, owever the CMD prompt does.. Chris From: br...@brianleach.co.uk To: u2-users@listserver.u2ug.org Date: Tue, 28 Feb 2012 17:24:31 + Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Just a thought - you've changed the uv directory, has your path environment variable changed to the new \u2\uv\bin ? Could it be trying to run the old binaries? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 28 February 2012 16:56 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment We did an upgrade by using the 'modify' option during the install. We also used the option during the install to copy all the files from the old \IBM\UV directory to the new U2\UV directory. I'm not sure if that has anything to do with it. I have not executed UVREGEN, should I do that? What does that command do? I didn't see it in the command reference guide. Chris Date: Tue, 28 Feb 2012 17:51:39 +0100 From: aalo...@quiter.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] uvrestore - Unable to create or attach the Printer Segment Hi. You said you just upgraded. Have you executed uvregen after the upgrade? Regards -- Augusto 2012/2/28 Chris Austin cjausti...@hotmail.com I just upgraded my UniVerse server from version 10.1.18 to 11.1.1. Everything seems ok except when I try and run the uvrestore command from one of our UniVerse version 10.3.3 backups. I don't know if this is a problem with just uvrestore or other uv commands but when I try to execute a uvrestore I get: A fatal error has occurred in uniVerse Unable to create or attach the Printer Segment
[U2] UPGRADING - 10.1.18 to 11.1.1
I'm just about to do an upgrade. The current server is Windows 2003 Server running UniVerse 10.1.18 (build 8330). I'm looking to upgrade to version 11.1.1, is there anything I should be aware of? What's the best way to do this upgrade.. should I simply uninstall UniVerse 10.1.18 and then install 11.1.1? I'll be using the old VOC's for the regions when I get it setup. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UPGRADING - 10.1.18 to 11.1.1
Doug, What do you mean by use the 'modify option'? Is that an option when you upgrade during the install? Thanks, Chris Date: Mon, 27 Feb 2012 12:46:46 -0700 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UPGRADING - 10.1.18 to 11.1.1 Hi Chris: The upgrade is simple and use the modify option. I've done a number of sites with no problems. Regards, Doug www.u2logic.com On Mon, Feb 27, 2012 at 12:41 PM, Chris Austin cjausti...@hotmail.comwrote: I'm just about to do an upgrade. The current server is Windows 2003 Server running UniVerse 10.1.18 (build 8330). I'm looking to upgrade to version 11.1.1, is there anything I should be aware of? What's the best way to do this upgrade.. should I simply uninstall UniVerse 10.1.18 and then install 11.1.1? I'll be using the old VOC's for the regions when I get it setup. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UPGRADING - 10.1.18 to 11.1.1
Is it safe to clear out the ..UV/UVTEMP folder? What does the UVTEMP folder contain? I see I have thousands of files in there and some are giving me permissions problems. It would be nice to clear this folder out if I can. Does anyone know if this is safe to do? Chris From: 3xk547...@sneakemail.com To: u2-users@listserver.u2ug.org Date: Mon, 27 Feb 2012 12:53:21 -0800 Subject: Re: [U2] UPGRADING - 10.1.18 to 11.1.1 I don't remember much of what I wrote here, but I hope something helps: http://Nebula-RnD.com/blog/tech/mv/2011/04/u2upgrade2.html ( OMG! No munge? Yeah whatever... :) ) From: Chris Austin I'm just about to do an upgrade. The current server is Windows 2003 Server running UniVerse 10.1.18 (build 8330). I'm looking to upgrade to version 11.1.1, is there anything I should be aware of? What's the best way to do this upgrade.. should I simply uninstall UniVerse 10.1.18 and then install 11.1.1? I'll be using the old VOC's for the regions when I get it setup. Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Extracting XML attributes
I found this article, and thought it may be of use to you: https://u2devzone.rocketsoftware.com/accelerate/articles/u2-xml/u2-xml Chris Date: Wed, 9 Nov 2011 12:44:44 -0600 From: bwor...@coburns.com To: u2-users@listserver.u2ug.org Subject: [U2] Extracting XML attributes Does anyone have an example of an XPath definition to extract an attribute from an XML element? The universe documentation for 10.3 and 11.1 doesn't cover this. I am trying to get the value of ProductId from the following XML example: pr:Feed xmlns:pr=urn:someurl Data Products Product ProductId=ABC ... /Product Product ProductId=123 ... /Product Product ProductId=XYZ ... /Product /Products /Data /pr Using the this extraction file: U2XML_extraction xmlns:USxml=http://www.rocketU2.com/U2-xml; file_extraction start=/Data dictionary=XMLTESTFILE null=EMPTY / field_extraction field=@ID path=Products/Product/@ProductId ,/ /U2XML_extraction I get the following error: LIST XMLDATA EDGENET_XML XML/test.ext Open XML data file failed. XMLParser error message: Fatal error at file '/Volume1/MIS/XML/test.ext', line 3, column 69. Message: Expected an attribute name Open XML data file failed. XMLParser error message: Fatal error at file '/Volume1/MIS/XML/test.ext', line 3, column 69. Message: Expected an attribute name Unable to open XMLDATA:EDGENET_XML,XML/test.ext file. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] 64-bit ODBC driver for win 7
I just got the ODBC to work on my 64-bit machine. I used Glenn's advice and downloaded the 11.x UniVerse client and then installed the ODBC driver along with the UCI editor. We're using UniVerse 10.3 for the record, a couple notes from my install are as follows below: Installing ODBC client: - install ODBC driver (from UniVerse client disk or zip). - install UCI editor. - open UCI editor, right-click on 'ODBC Data Sources'. + click Add, name can be anything, source is ELCODB2. + Save. - open Rocket U2- UniVerse ODBC Driver- ODBC Admins. + click Add. + select UniVerse ODBC (last item). + choose server from dropdown (that you added in UCI editor). + enter the UniVerse account name, USER, PW, then do 'test connection'. - Open Excel and choose Data- From Other Sources- Microsoft Query + select the name that you called your host in the UCI editor from the dropdown and make sure the name/pw are entered. + select the tables/fields you want in your spreadsheet. It was really straight forward and worked like a charm. The one thing to remember is to ADD the server to the UCI editor under ODBC data sources so that it appears in the dropdown menu when setting the ODBC driver up. Hope this helps. Chris Date: Tue, 13 Sep 2011 19:44:25 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 If you are running Universe 10, I doubt the version 11 driver will work. Let me know as I am in the same boat. I have not had time to try it. On 9/13/11, Chris Austin cjausti...@hotmail.com wrote: Thanks Glenn, I will give this a try in the morning! Chris Date: Tue, 13 Sep 2011 23:48:26 +0200 From: u...@glennsallis.de To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 Hi Chris, I suggest you download the latest client software package from the Rocket site. The latest release is 11.1A which should be 64 bit windows compatible. https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT Kind regards Glenn Sallis Am 13.09.2011 23:17, schrieb Chris Austin: I'm running a 64-bit version of Windows 7 and trying to install the ODBC driver that came with the UniVerse 10.1 client disk but I keep getting a message when I run the INSTALL application. The error states: 'The version of this file is not compatible with the version of windows you're running. Check your computers system information to see whether you need a 32-bit or 64-bit version of the program' Where can I download the 64-bit version of the UniVerse ODBC drivers? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Sent from my mobile device John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] 64-bit ODBC driver for win 7
Cool, If you have any issues let me know. It's really straight-forward though, the big thing was using the 11.x client from Rocket! Chris Date: Wed, 14 Sep 2011 15:41:00 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 Oh cool. If I ever get through the heap I'll have to give this a try. On Wed, Sep 14, 2011 at 3:37 PM, Chris Austin cjausti...@hotmail.comwrote: I just got the ODBC to work on my 64-bit machine. I used Glenn's advice and downloaded the 11.x UniVerse client and then installed the ODBC driver along with the UCI editor. We're using UniVerse 10.3 for the record, a couple notes from my install are as follows below: Installing ODBC client: - install ODBC driver (from UniVerse client disk or zip). - install UCI editor. - open UCI editor, right-click on 'ODBC Data Sources'. + click Add, name can be anything, source is ELCODB2. + Save. - open Rocket U2- UniVerse ODBC Driver- ODBC Admins. + click Add. + select UniVerse ODBC (last item). + choose server from dropdown (that you added in UCI editor). + enter the UniVerse account name, USER, PW, then do 'test connection'. - Open Excel and choose Data- From Other Sources- Microsoft Query + select the name that you called your host in the UCI editor from the dropdown and make sure the name/pw are entered. + select the tables/fields you want in your spreadsheet. It was really straight forward and worked like a charm. The one thing to remember is to ADD the server to the UCI editor under ODBC data sources so that it appears in the dropdown menu when setting the ODBC driver up. Hope this helps. Chris Date: Tue, 13 Sep 2011 19:44:25 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 If you are running Universe 10, I doubt the version 11 driver will work. Let me know as I am in the same boat. I have not had time to try it. On 9/13/11, Chris Austin cjausti...@hotmail.com wrote: Thanks Glenn, I will give this a try in the morning! Chris Date: Tue, 13 Sep 2011 23:48:26 +0200 From: u...@glennsallis.de To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 Hi Chris, I suggest you download the latest client software package from the Rocket site. The latest release is 11.1A which should be 64 bit windows compatible. https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT Kind regards Glenn Sallis Am 13.09.2011 23:17, schrieb Chris Austin: I'm running a 64-bit version of Windows 7 and trying to install the ODBC driver that came with the UniVerse 10.1 client disk but I keep getting a message when I run the INSTALL application. The error states: 'The version of this file is not compatible with the version of windows you're running. Check your computers system information to see whether you need a 32-bit or 64-bit version of the program' Where can I download the 64-bit version of the UniVerse ODBC drivers? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Sent from my mobile device John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] 64-bit ODBC driver for win 7
I'm running a 64-bit version of Windows 7 and trying to install the ODBC driver that came with the UniVerse 10.1 client disk but I keep getting a message when I run the INSTALL application. The error states: 'The version of this file is not compatible with the version of windows you're running. Check your computers system information to see whether you need a 32-bit or 64-bit version of the program' Where can I download the 64-bit version of the UniVerse ODBC drivers? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] 64-bit ODBC driver for win 7
Thanks Glenn, I will give this a try in the morning! Chris Date: Tue, 13 Sep 2011 23:48:26 +0200 From: u...@glennsallis.de To: u2-users@listserver.u2ug.org Subject: Re: [U2] 64-bit ODBC driver for win 7 Hi Chris, I suggest you download the latest client software package from the Rocket site. The latest release is 11.1A which should be 64 bit windows compatible. https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT https://u2tc.rocketsoftware.com/u2bcesdinternal.asp?pid=10037293product=UVCLIENT Kind regards Glenn Sallis Am 13.09.2011 23:17, schrieb Chris Austin: I'm running a 64-bit version of Windows 7 and trying to install the ODBC driver that came with the UniVerse 10.1 client disk but I keep getting a message when I run the INSTALL application. The error states: 'The version of this file is not compatible with the version of windows you're running. Check your computers system information to see whether you need a 32-bit or 64-bit version of the program' Where can I download the 64-bit version of the UniVerse ODBC drivers? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] easy way to get count of a DIM()?
Yes, That is correct DIM X(25) to initialize X, how do we then get the size of X? Thanks, Chris From: gglorfi...@vertisinc.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 13:41:17 -0400 Subject: Re: [U2] easy way to get count of a DIM()? First off, I've never seen that syntax before. Do you mean: DIM X(25) or do you mean you are setting X to the 25th value in a dimensioned variable? And I don't understand what you mean when you say some records get taken out. How are they taken out? I'm a little confused by your question. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, August 18, 2011 1:30 PM To: u2-users@listserver.u2ug.org Subject: [U2] easy way to get count of a DIM()? I'm trying to get the count of a dimensioned array DIM() in UniVerse 10.x Let's say we have a variable that's set to an array: X = DIM(25) if I wanted to find out the count of X later on in the program (let's say some records get taken out and we need the count), how would you do this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] easy way to get count of a DIM()?
We're trying to create the dimensioned array at run time with a size based on a variable, which works in UniVerse when using the -STATIC.DIM option. We need to know (in another program), what the size of that dimensioned array is. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 12:48:53 -0500 Subject: Re: [U2] easy way to get count of a DIM()? Dimensioned arrays do not change their sizes. If you DIM x(25), the size of x is 25 It's not like a dynamic array However, when you MATWRITE the array to disk, it will only write out up to the last physical data in the array, and ignore the trailing blank slots. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, August 18, 2011 1:44 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] easy way to get count of a DIM()? Yes, That is correct DIM X(25) to initialize X, how do we then get the size of X? Thanks, Chris From: gglorfi...@vertisinc.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 13:41:17 -0400 Subject: Re: [U2] easy way to get count of a DIM()? First off, I've never seen that syntax before. Do you mean: DIM X(25) or do you mean you are setting X to the 25th value in a dimensioned variable? And I don't understand what you mean when you say some records get taken out. How are they taken out? I'm a little confused by your question. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, August 18, 2011 1:30 PM To: u2-users@listserver.u2ug.org Subject: [U2] easy way to get count of a DIM()? I'm trying to get the count of a dimensioned array DIM() in UniVerse 10.x Let's say we have a variable that's set to an array: X = DIM(25) if I wanted to find out the count of X later on in the program (let's say some records get taken out and we need the count), how would you do this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] easy way to get count of a DIM()?
I figured it out from Brian's notes SUBROUTINE TEST_HARNESS4 $INCLUDE LF_FINS LF_MASTER_INCLUDE VERS='4.000' DIM ARRAY(23) CALL CALLED(MAT ARRAY) RETURN --- SUBROUTINE CALLED(MAT ARRAY) VERS='4.000' PRINT INMAT(ARRAY) RETURN --- returns: 23²1 From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 12:57:06 -0500 Subject: Re: [U2] easy way to get count of a DIM()? We're trying to create the dimensioned array at run time with a size based on a variable, which works in UniVerse when using the -STATIC.DIM option. We need to know (in another program), what the size of that dimensioned array is. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 12:48:53 -0500 Subject: Re: [U2] easy way to get count of a DIM()? Dimensioned arrays do not change their sizes. If you DIM x(25), the size of x is 25 It's not like a dynamic array However, when you MATWRITE the array to disk, it will only write out up to the last physical data in the array, and ignore the trailing blank slots. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, August 18, 2011 1:44 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] easy way to get count of a DIM()? Yes, That is correct DIM X(25) to initialize X, how do we then get the size of X? Thanks, Chris From: gglorfi...@vertisinc.com To: u2-users@listserver.u2ug.org Date: Thu, 18 Aug 2011 13:41:17 -0400 Subject: Re: [U2] easy way to get count of a DIM()? First off, I've never seen that syntax before. Do you mean: DIM X(25) or do you mean you are setting X to the 25th value in a dimensioned variable? And I don't understand what you mean when you say some records get taken out. How are they taken out? I'm a little confused by your question. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Thursday, August 18, 2011 1:30 PM To: u2-users@listserver.u2ug.org Subject: [U2] easy way to get count of a DIM()? I'm trying to get the count of a dimensioned array DIM() in UniVerse 10.x Let's say we have a variable that's set to an array: X = DIM(25) if I wanted to find out the count of X later on in the program (let's say some records get taken out and we need the count), how would you do this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] UniVerse backups to disk
Hi All, We're running UniVerse 10.1.17 on AIX 5.3 and the backup feature included within our vendors software is pretty basic and only allows backups of Universe to tape. I'm going to continue running backups to tape on a nightly basis, but I'd also like to automate backups over the network to another file server so that if I'm not around to swap tapes they'll continue being backed up, as well as all the benefits of having extra copies in case a tape fails. What's the best way to achieve this, is it necessary to use UniVerse's built-in uvbackup utility ? I currently have a FreeNAS server setup in another building using rsync (the rsnapshot utility - http://rsnapshot.org/) to copy the files directly at the operating system level onto the FreeNAS box, however I've no way of really verifying the validity of these files copied over as to whether the server was in the midst of rewriting a file at the time it was copied. The FreeNAS rsnapshot setup appears to be doing a good job at copying the files and helps me rotate the backups through hourly, daily, weekly snapshots. It tries to save disk space by hard linking the rotated snapshots and only copying the changed files, however the problem is it validates the change by timestamp on the file, and of course when uvbackup runs each night it updates the timestamp on *every* file and hence each daily snapshot I end up with another entire copy of all the files when it probably wasn't necessary. If uvbackup is the way to go, what command line options should I be looking at ? I've read the examples in IBM's Universe admin manual but it doesn't give any examples of backup to to disk paths... Our current backup is about 15GB of data to tape, backing up our entire /UVdata directory and all the accounts under that. I'd like to do the same full backups to disk. From what I've pieced together in the manual the way to do this would be something like:- $ find /UVdata -print | uvbackup -f -v -l FULL UVDATA BACKUP - /remote.nfsshare/UVdata Once that's done I'm guessing I could then bundle that remote UVdata backup into a tarball and compress it to save space and keep several backups on disk. Any suggestions on the above would be greatly appreciated. Very interested to hear if uvbackup is necessary or not... I asked one of the guys from our software vendor in the past and he felt the files should be fine being backed up directly to another machine (ie: even via FTP) without uvbackup, but I'm not convinced myself that you could be 100% sure of the integrity of the files if you do a direct disk copy since how would you know if the server had some writes in a buffer it hadn't yet flushed or was in the middle of rewriting a file, or does it really not matter a great deal ? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer?
If you're talking in regards to RPC timeouts they can be changed at the following path $root\IBM\unishared\unirpc\unirpcservices I have no idea if this will help with your issue at hand, does the exception throw any code#? Chris Date: Tue, 9 Aug 2011 15:10:25 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer? Ooops, had a typo there... This is a false statement I made: If you are running a fiber link to it, you probably can't use NFS, so that idea is out. Sorry about that. On Tue, Aug 9, 2011 at 3:04 PM, John Hester jhes...@momtex.com wrote: We have a NetApp FAS2020 with a fiber-connected shelf and use NFS for the VMware VMs stored on it. We don't run UV on it, though. The problem with running an I/O intensive app like UV on a SAN is that there's no way to predict the concurrent I/O demands that will be placed on the SAN by other virtual machines at any given time. To get predictable perfomance from an I/O intensive app, direct-attached storage is usually going to be the best bet. NetApp has recently addressed this issue, though, with a product called Flash Cache, which I believe can be retrofitted into existing FAS models. Flash Cache stores frequently accessed data on SSDs that sit between the network and the hard drives. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson Sent: Tuesday, August 09, 2011 10:44 AM To: U2 Users List Subject: Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer? Googling during my lunch... I'm guessing this is the box you have, or something similar: http://www.netapp.com/us/products/storage-systems/fas3100/fas3100-tech-s pecs.html You might try disabling that RAID DP stuff they have and just running RAID 1 or RAID 10, as a first step in your process of elimination. Any of the options I suggested are a project. Reconfiguring just the disk shelf is less work than reconfiguring a host for it to run on. If you are running a fiber link to it, you probably can't use NFS, so that idea is out. If you are doing any de-duplication/compression, turn that off too. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer?
lol, you're right I did John.. it must be a long day. Chris Date: Tue, 9 Aug 2011 16:08:57 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer? I think you might have replied to the wrong post :) On Tue, Aug 9, 2011 at 3:53 PM, Chris Austin cjausti...@hotmail.com wrote: If you're talking in regards to RPC timeouts they can be changed at the following path $root\IBM\unishared\unirpc\unirpcservices I have no idea if this will help with your issue at hand, does the exception throw any code#? Chris Date: Tue, 9 Aug 2011 15:10:25 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer? Ooops, had a typo there... This is a false statement I made: If you are running a fiber link to it, you probably can't use NFS, so that idea is out. Sorry about that. On Tue, Aug 9, 2011 at 3:04 PM, John Hester jhes...@momtex.com wrote: We have a NetApp FAS2020 with a fiber-connected shelf and use NFS for the VMware VMs stored on it. We don't run UV on it, though. The problem with running an I/O intensive app like UV on a SAN is that there's no way to predict the concurrent I/O demands that will be placed on the SAN by other virtual machines at any given time. To get predictable perfomance from an I/O intensive app, direct-attached storage is usually going to be the best bet. NetApp has recently addressed this issue, though, with a product called Flash Cache, which I believe can be retrofitted into existing FAS models. Flash Cache stores frequently accessed data on SSDs that sit between the network and the hard drives. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson Sent: Tuesday, August 09, 2011 10:44 AM To: U2 Users List Subject: Re: [U2] UV 11.1 64-bit on Cisco UCS with NetApp Filer? Googling during my lunch... I'm guessing this is the box you have, or something similar: http://www.netapp.com/us/products/storage-systems/fas3100/fas3100-tech-s pecs.html You might try disabling that RAID DP stuff they have and just running RAID 1 or RAID 10, as a first step in your process of elimination. Any of the options I suggested are a project. Reconfiguring just the disk shelf is less work than reconfiguring a host for it to run on. If you are running a fiber link to it, you probably can't use NFS, so that idea is out. If you are doing any de-duplication/compression, turn that off too. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] CONV MCU on indexed field?
We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created that forced the name to be upper-case. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:36 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
Basically what I tried was editing the existing DICT entry for the field NAME, by placing the value MCU in line #3. I don't think this is what John referred to though. Should I keep the field NAME like it is now (without the MCU) and create another DICT entry? Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 10:41:40 -0700 Subject: Re: [U2] CONV MCU on indexed field? Did you create the index for the field like John Thompson suggested? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 10:37 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created that forced the name to be upper-case. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:36 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
Could you create another dict item called NAME.UPCASE and put the MCU in that definition? I guess I'm not sure what the above dictionary entry would look like. Would this be a dictionary entry that's just used to do the conversion on NAME? Currently this is what I have for field name: NAME 0001 D 0002 5 0003 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 So I would be creating another DICT entry called NAME.UPCASE, the part I don't understand is #1) what that DICT would look like #2) how that DICT entry would be used Sorry for the numerous questions. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 10:41:40 -0700 Subject: Re: [U2] CONV MCU on indexed field? Did you create the index for the field like John Thompson suggested? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 10:37 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created that forced the name to be upper-case. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:36 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
This is UniVerse 10.x (newer flavor). This command has been working flawless until we indexed that field. If I remove the index it works using the CONV MCU, perhaps maybe you cannot use the CONV MCU on an indexed field? I tried to delete the index, rebuild it (with the MCU conv), and I ran into the same issue. It's almost like you can't index a field and use MCU on it at the same time.. Chris From: u...@edclark.net Date: Tue, 26 Jul 2011 14:09:13 -0400 To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? universe or unidata? what flavor? I don't see how this would have worked in the first place? When you use a query with literal comparisons, the literal is compared against the pre-converted value. If the attribute has a reversible conversion then your literal will be reverse-converted first, for example: SELECT INVOICE-FILE WITH INVOICE.DATE = 12/31/2010 if INVOICE.DATE has a date conversion then 12/31/2010 will be converted to an internal value before comparison. But in your example MCU is not reversible. So you will only find what you ask for literally. Is it possible that you were using a different attribute that does a computation? A virtual attribute on unidata or a correlative on universe with does the upcasing? In that case then your literal in the query would be compared against the calculated value. An index would also be built on the calculated value On Jul 26, 2011, at 1:37 PM, Chris Austin wrote: I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created that forced the name to be upper-case. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:36 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org
Re: [U2] CONV MCU on indexed field?
Curt, I deleted the index completely (DELETE.INDEX CLIENT NAME). Then I created the DICT for NAME: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 Then I created the INDEX for NAME (CREATE.INDEX CLIENT NAME) Finally I built the indices for NAME (BUILD.INDEX CLIENT NAME) I then tried to to SELECT CLIENT WITH NAME CONV MCU = BRUCE] and only return 1 value (with all caps) instead of about 152. Does the order I'm doing everything appear ok? I'm not sure how to validate the indexes are in upper case, does anyone know how to validate that? And when you refer to rebuilding the index using upper case I assume you mean putting the MCU in the DICT on CLIENT and then doing the CREATE.INDEX/BUILD.INDEX? Chris Date: Tue, 26 Jul 2011 13:27:14 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? Chris, The problem is that your index was built case sensitive and now you're requests are upper case only so it will only get upper case indexes. You need to rebuild the index with the dictionary item that does the MCU, that way all of your indexes are upper case. Hth, Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Could you create another dict item called NAME.UPCASE and put the MCU in that definition? I guess I'm not sure what the above dictionary entry would look like. Would this be a dictionary entry that's just used to do the conversion on NAME? Currently this is what I have for field name: NAME 0001 D 0002 5 0003 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 So I would be creating another DICT entry called NAME.UPCASE, the part I don't understand is #1) what that DICT would look like #2) how that DICT entry would be used Sorry for the numerous questions. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 10:41:40 -0700 Subject: Re: [U2] CONV MCU on indexed field? Did you create the index for the field like John Thompson suggested? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 10:37 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created that forced the name to be upper-case. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:36 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? I'm not exactly following you. Would this dict item called NAME.UPCASE, would that be a new field to test this or woudl that be a specific field used to do the conversion? What would the dictionary look like. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:32:48 -0700 Subject: Re: [U2] CONV MCU on indexed field? Could you create another dict item called NAME.UPCASE and put the MCU in that definition? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Tuesday, July 26, 2011 9:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] CONV MCU on indexed field? We've been using the following command to select a name regardless of how it's capitalized: SELECT CLIENT WITH NAME CONV MCU = BRUCE] However, after I indexed the field NAME on the CLIENT table the same command only returns the values that match the case-sensitive. In other words after we indexed the field name it doesn't seem that we can use CONV MCU, is there a work around to this? Thanks, Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CONV MCU on indexed field?
Ed, You're right on the money here ( I believe). The difference seems to be with the wildcards: Before indexing the field NAME I could use the following command with no trouble: SELECT CLIENT WITH NAME CONV MCU = BRUCE] After I indexed the field NAME I can ONLY use the following command to retrieve the same results: SELECT CLIENT WITH NAME CONV MCU = [BRUCE] notice the difference in the way I'm using the wildcards. It appears when you use CONV MCU with an indexed field you have to use wildcards on the front and back of the item you're searching for. I could not get it to work with wildcards just on the back. If anyone has a reason why this is like this, I would be very interested to know why. Chris From: u...@edclark.net Date: Tue, 26 Jul 2011 14:44:00 -0400 To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? universe is doing something fundamentally weird with this. The select works differently if you use a wildcard or have an index. Create a file with some multi-case data: 0001 EXECUTE 'CREATE-FILE TESTFILE 1 1' 0002 OPEN 'TESTFILE' TO FP ELSE ABORT 0003 CLEARFILE FP 0004 OPEN 'DICT','TESTFILE' TO DFP ELSE ABORT 0005 WRITE 'D':@AM:1:@AM:@AM:'D1':@AM:'10L' ON DFP,'D1' 0006 WRITE 'D':@AM:1:@AM:'MCU':@AM:'D1MCU':@AM:'10L' ON DFP,'D1MCU' 0007 WRITE 'AB' ON FP,1 0008 WRITE 'ab' ON FP,2 0009 WRITE 'Ab' ON FP,3 0010 WRITE 'aB' ON FP,4 0011 EXECUTE 'LIST TESTFILE D1 D1MCU' Now try some queries: LIST TESTFILE WITH D1 = AB D1 D1MCU 08:03:14pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. LIST TESTFILE WITH D1 = AB] D1 D1MCU 08:03:47pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. LIST TESTFILE WITH D1MCU = AB D1 D1MCU 08:04:19pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. The above all make sense. But not try D1MCU with a wildcard: LIST TESTFILE WITH D1MCU = AB] D1 D1MCU 08:05:43pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 2 ab AB 3 Ab AB 4 aB AB 4 records listed. If you use both the MCU conversion AND a wildcard, universe is using different rules for selection. BUT... it gets even weirder with an index. After building an index on either D1 or D1MCU: LIST TESTFILE WITH D1MCU = AB] D1 D1MCU 08:07:39pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 3 Ab AB 2 records listed. WTF? If you throw on the NO.INDEX keyword, the index is ignored and universe goes back to selecting all the items. So essentially universe is doing some hack so that it can deal with wildcards on converted data, but the result is inconsistent queries. Bottom line, if you want to do case-insensitive selects, you need to either move to D3, or use a calculated attribute. For example: A1 0001 A 0002 1 0003 A1 0004 0005 0006 0007 0008 MCU 0009 L 0010 10 The MCU in the correlative position (line 7) makes sure that your query is always seeing the upcased data. On Jul 26, 2011, at 2:09 PM, Ed Clark wrote: universe or unidata? what flavor? I don't see how this would have worked in the first place? When you use a query with literal comparisons, the literal is compared against the pre-converted value. If the attribute has a reversible conversion then your literal will be reverse-converted first, for example: SELECT INVOICE-FILE WITH INVOICE.DATE = 12/31/2010 if INVOICE.DATE has a date conversion then 12/31/2010 will be converted to an internal value before comparison. But in your example MCU is not reversible. So you will only find what you ask for literally. Is it possible that you were using a different attribute that does a computation? A virtual attribute on unidata or a correlative on universe with does the upcasing? In that case then your literal in the query would be compared against the calculated value. An index would also be built on the calculated value On Jul 26, 2011, at 1:37 PM, Chris Austin wrote: I changed the DICT entry for field NAME on the CLIENT table to the following: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 But it still doesn't seem to work in regards to the case-sensitive. Chris From: bl...@shaklee.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 09:44:35 -0700 Subject: Re: [U2] CONV MCU on indexed field? We are using Unidata and this is a dict for Country: CNTRY: D 4 MCU Cntry 6L M You could do the same change to the NAME definition but I was suggesting that if you didn't want to or couldn't do that then another definition could be created
Re: [U2] CONV MCU on indexed field?
I agree, this has to be a bug since the returned data all starts with a B such as the following: Client.. Name. C438333-8BRUCE C593410 BRUCE C593410O BRUCE C595181 BRUCE C595181O BRUCE C595238 BRUCE C595238O BRUCE L01 BRUCE L01O BRUCE L04 BRUCE L04O BRUCE Absolutely no values are before the B's there'sfore I definately shouldn't need the wildcard. I think I may use John's approash of setting up a new I-descriptor and then having that apply the MCU or upper case command. Thanks for the help today everyone! Chris Date: Tue, 26 Jul 2011 14:58:57 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? Probably a bug. Should be reported to rocket... Although I have no idea how to do that. I'm sure someone on the list does though. On 7/26/11, Chris Austin cjausti...@hotmail.com wrote: Ed, You're right on the money here ( I believe). The difference seems to be with the wildcards: Before indexing the field NAME I could use the following command with no trouble: SELECT CLIENT WITH NAME CONV MCU = BRUCE] After I indexed the field NAME I can ONLY use the following command to retrieve the same results: SELECT CLIENT WITH NAME CONV MCU = [BRUCE] notice the difference in the way I'm using the wildcards. It appears when you use CONV MCU with an indexed field you have to use wildcards on the front and back of the item you're searching for. I could not get it to work with wildcards just on the back. If anyone has a reason why this is like this, I would be very interested to know why. Chris From: u...@edclark.net Date: Tue, 26 Jul 2011 14:44:00 -0400 To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? universe is doing something fundamentally weird with this. The select works differently if you use a wildcard or have an index. Create a file with some multi-case data: 0001 EXECUTE 'CREATE-FILE TESTFILE 1 1' 0002 OPEN 'TESTFILE' TO FP ELSE ABORT 0003 CLEARFILE FP 0004 OPEN 'DICT','TESTFILE' TO DFP ELSE ABORT 0005 WRITE 'D':@AM:1:@AM:@AM:'D1':@AM:'10L' ON DFP,'D1' 0006 WRITE 'D':@AM:1:@AM:'MCU':@AM:'D1MCU':@AM:'10L' ON DFP,'D1MCU' 0007 WRITE 'AB' ON FP,1 0008 WRITE 'ab' ON FP,2 0009 WRITE 'Ab' ON FP,3 0010 WRITE 'aB' ON FP,4 0011 EXECUTE 'LIST TESTFILE D1 D1MCU' Now try some queries: LIST TESTFILE WITH D1 = AB D1 D1MCU 08:03:14pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. LIST TESTFILE WITH D1 = AB] D1 D1MCU 08:03:47pm 25 Aug 2010 PAGE1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. LIST TESTFILE WITH D1MCU = AB D1 D1MCU 08:04:19pm 25 Aug 2010 PAGE 1 TESTFILE.. D1 D1MCU. 1 AB AB 1 records listed. The above all make sense. But not try D1MCU with a wildcard: LIST TESTFILE WITH D1MCU = AB] D1 D1MCU 08:05:43pm 25 Aug 2010 PAGE 1 TESTFILE.. D1 D1MCU. 1 AB AB 2 ab AB 3 Ab AB 4 aB AB 4 records listed. If you use both the MCU conversion AND a wildcard, universe is using different rules for selection. BUT... it gets even weirder with an index. After building an index on either D1 or D1MCU: LIST TESTFILE WITH D1MCU = AB] D1 D1MCU 08:07:39pm 25 Aug 2010 PAGE 1 TESTFILE.. D1 D1MCU. 1 AB AB 3 Ab AB 2 records listed. WTF? If you throw on the NO.INDEX keyword, the index is ignored and universe goes back to selecting all the items. So essentially universe is doing some hack so that it can deal with wildcards on converted data, but the result is inconsistent queries. Bottom line, if you want to do case-insensitive selects, you need to either move to D3, or use a calculated attribute. For example: A1 0001 A 0002 1 0003 A1 0004 0005 0006 0007 0008 MCU 0009 L 0010 10 The MCU in the correlative position (line 7) makes sure that your query is always seeing the upcased data. On Jul 26, 2011, at 2:09 PM, Ed Clark wrote: universe or unidata? what flavor? I don't see how this would have worked in the first place? When you use a query with literal comparisons, the literal is compared against the pre-converted value. If the attribute has a reversible conversion then your literal will be reverse-converted first, for example: SELECT INVOICE-FILE WITH INVOICE.DATE = 12/31/2010 if INVOICE.DATE has a date conversion then 12/31/2010 will be converted to an internal value before comparison. But in your example MCU is not reversible. So you will only find what you
Re: [U2] CONV MCU on indexed field?
I've never used either of those commands, if you can give me an example using each on a select I would be more than happy to test it out: SELECT CLIENT WITH NAME = BRUCE (use this select to modify with the 2 commands) Also, We're using this with a dojo filteringSelect + QueryReadStore. Essentially what happens is our client types a 'payee' letter by letter and the AJAX communicates with our server and sends a request to UniVerse to process these select statements by every keystroke so you actually have a real time autocomplete which is very fast that also acts as a dropdown menu that will eventually be paginated. Chris Date: Tue, 26 Jul 2011 14:11:33 -0500 From: ropor...@ochsner.org To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? Just curious and maybe I missed it... Has anyone tried LIKE and ... instead? I wouldn't think it would be any different, but then I would have thought the ] select would have worked. Robert Porter, MCSE, CCNA, ZCE, OCP-Java Lead Sr. Programmer / Analyst Laboratory Information Services Ochsner Health System This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. Chris Austin cjausti...@hotmail.com 7/26/2011 1:57 PM I'm on UniVerse 10.3.3, the problem I was having seems to be with the use of wildcards. SELECT CLIENT WITH NAME CONV MCU = BRUCE] -- DOESN'T WORK SELECT CLIENT WITH NAME CONV MCU = [BRUCE] -- WORKS! I have no idea why this is such, it has to do with an indexed field + MCU + wildcards. Chris Date: Tue, 26 Jul 2011 14:44:59 -0400 From: jthompson...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? It looks like you are doing it in the right order... I wonder if that character limit thing is messing you up in attribute 8? (just a shot in the dark) Also, what flavor of Universe account are you running? You can find this out by: CT VOC cataloged.program.name Look in attribute 6 and it will tell you. That CONV query feature might not work all that well in a PICK flavor account on an indexed field? If all else fails... you can do a work around in BASIC (if this is in a BASIC program) Using OCONV() UPCASE() OR Try the previous posters I type suggestion and see if that works. On Tue, Jul 26, 2011 at 2:38 PM, Chris Austin cjausti...@hotmail.comwrote: Curt, I deleted the index completely (DELETE.INDEX CLIENT NAME). Then I created the DICT for NAME: NAME 0001 D 0002 5 0003 MCU 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 Then I created the INDEX for NAME (CREATE.INDEX CLIENT NAME) Finally I built the indices for NAME (BUILD.INDEX CLIENT NAME) I then tried to to SELECT CLIENT WITH NAME CONV MCU = BRUCE] and only return 1 value (with all caps) instead of about 152. Does the order I'm doing everything appear ok? I'm not sure how to validate the indexes are in upper case, does anyone know how to validate that? And when you refer to rebuilding the index using upper case I assume you mean putting the MCU in the DICT on CLIENT and then doing the CREATE.INDEX/BUILD.INDEX? Chris Date: Tue, 26 Jul 2011 13:27:14 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] CONV MCU on indexed field? Chris, The problem is that your index was built case sensitive and now you're requests are upper case only so it will only get upper case indexes. You need to rebuild the index with the dictionary item that does the MCU, that way all of your indexes are upper case. Hth, Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Could you create another dict item called NAME.UPCASE and put the MCU in that definition? I guess I'm not sure what the above dictionary entry would look like. Would this be a dictionary entry that's just used to do the conversion on NAME? Currently this is what I have for field name: NAME 0001 D 0002 5 0003 0004 Name 0005 25L 0006 S 0007 0008 CHARACTER,25 So I would be creating another DICT entry called NAME.UPCASE, the part I don't understand is #1) what that DICT would look like #2) how that DICT entry
Re: [U2] CONV MCU on indexed field?
George, I just rebuilt the indices on the CLINE table, then tried the LIKE using the '...' as a wildcard, so I tried: SELECT CLIENT WITH NAME LIKE BRUCE... and unfortunately that worked the exact same way as the [] wildcards, returning 1 result. The approach I'm going to use is the one you suggested (to create an I-descriptor to do an UPCASE(NAME) ) and then index that. The only part I'm not sure about is since this descriptor is using the field NAME, should I also index NAME? I've indexed NAME already and seems to be working great, just not sure if indexing NAME should be done for performance. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Tue, 26 Jul 2011 14:27:58 -0500 Subject: Re: [U2] CONV MCU on indexed field? I think your running in PICK mode, and I know that LIKE works in PICK flavor as well. LIKE is the equivilent to [ and ] SELECT FILE WITH NAME = [TEST SELECT FILE WITH NAME LIKE ...TEST SELECT FILE WITH NAME = TEST] SELECT FILE WITH NAME LIKE TEST... SELECT FILE WITH NAME = [TEST] SELECT FILE WITH NAME LIKE ...TEST... REPLACE THE [ OR ] WITH ... AND REPLACE THE = WITH LIKE George ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] SELECT question, paginated select.
I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Doug, Thanks for the reply. I'm a little confused as to how to execute your suggestion though. EXECUTE 'SELECT CLIENT WITH @ID = A] SAMPLE 10' CAPTURING CAPTURED PASSLIST REC.COUNT = @SELECTED*SYSTEM(11) IF REC.COUNT THEN EXECUTE 'SAVE.LIST CLIENT.LIST ' END RETURN In the above example we SELECT 10 clients, then the 10 clients are saved to CLIENT.LIST. How would we go about getting the next 10 clients? Are you suggesting we use our CLIENT.LIST in the next SELECT so the next SELECT would look something like this: EXECUTE 'SELECT CLIENT WITH @ID = A] AND WITH @ID [CLIENT.LIST] ' Date: Wed, 20 Jul 2011 11:38:50 -0600 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Hi Chris: This is a problem we first tried to figure out when we went to the Web. The easiest way for us was to save off the client select using SAVE.LIST. You will need a few variableS to keep track of where you are CURRENT.PAGE.NO, ITEMS.PER.PAGE and NEW.PAGE.NO. Use you math skills you can get your list and process only a the what page you need. Regards, Doug www.u2logic.com 100% Web applications for Universe and Unidata ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Bill, I guess my question is regarding how to traverse the index. In this case the field we're using is the @ID, so it's indexed by default. Below you stated that we have to traverse in BASIC, is this using the SAVE.LIST approach that Doug talks about? In your example: SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] how would you limit that to the first 10 entries? And then how would you get the next 10 after that? We're on UniVerse so I assume the UniData commands below won't work for our application. Chris Date: Wed, 20 Jul 2011 11:39:42 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: For instance, we have checks file. A number of our clients have over a million records in the file. It's indexed on vendor no. and check date. The index would look like: 00CAPGE15857 (7 digit vendor and 5 digit date) This is a left justified so it's easy to sort and select. I can select any item in the file for any vendor and even limit it to any date... SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] SELECT VENDCHECKS WITH INDEX_1 00CAPGE15786 Within a second or less you'll get your data since an index is being selected. If you want to traverse the index, you'll need to do it within BASIC. In D3 they had the KEY() function, In UniData they have the SETINDEX, READFWD, and READBCK, commands (with a few other derivatives). But these allow you to set an index to start with (let's say in wanted to start accessing checks with vend# CAPGE and with checkdate of 21 Mar 2011). From here you can read forward or backward for {n} number of records. When you have the number you want you need to return to the calling program with this data including the top and bottom values. You'll display what you want then if you go to the next page you can READFWD from the bottom of the page. To go backward you'll READBCK from the top of the page. For UniVerse, you'll have to do a bit of a dance, although, compared to D3 you have to do a bit of a dance in UniData. But I know UniData works well and assume it's also true with UniVerse, although UV doesn't store in a B-Tree, so the first item read may have a large number of items in the list. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 11:20 AM *Subject:* Re: [U2] SELECT question, paginated select. Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
I have no idea what the BSCAN directive is? Is that a UniVerse command? It seems that there's not really a straightforward consensus on the solution to this problem. Chris From: lar...@wcs-corp.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 12:42:10 -0700 Subject: Re: [U2] SELECT question, paginated select. Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Interesting, I wonder if anyone still has an example of this? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:15:58 -0500 Subject: Re: [U2] SELECT question, paginated select. I thought we discussed this about a year ago, with the solution using SQL on UV to do your selection, which was able to produce a row number, then only include certain row numbers on the final query. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Thank you! We don't do a lot of double select statements in our programs, I assume you do the 1st SELECT and then do some sort of CAPTURED or PASSLIST command to pass the first selected values into the 2nd SELECT. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:32:54 -0500 Subject: Re: [U2] SELECT question, paginated select. You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME returns the following: U058623 1 ALEXANDER U056354 1 ALEXANDER U058721 ALEXANDER U054398 1 ALEXANDER U054399 1 ALEXANDER Y0561 ALICE ZMUDA Y0705 1 ALICE ZMUDA U054029B1 ALLEN U056237 1 ALLEN U056238 1 ALLEN U060355 1 ALLEN Y0161 ALLEN WHITE 13591 ALLSTATE ADJUSTERS U056091 ALMA J STRAIN U05405I 1 ALONZI U059501 1 ALSOP Y022 1 ALTERRA CLARE BRIDGE U054912 1 ALTMAN U058306 1 ALVIN A. K Since we're on this subject I must ask, how does this I-descriptor work? I'm not too familiar with UniVerse, it would be nice to know how the I-descriptor works so I can explain it to my colleague :) Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:13:41 -0500 Subject: Re: [U2] SELECT question, paginated select. You only need to use the second select if you are sorting (using the BY). I believe if you are just doing a select, then you can append the WITH PAGE = x to your statement. I don't know how your doing your SELECT from the web page. I don't know if you can stack selects from it, so it will execute one SELECT, then follow it up with a second SELECT based on the results of the first SELECT. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:04 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT
Re: [U2] SELECT question, paginated select.
I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
George, The first example worked beautifully, thanks for all help! :) Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:58:38 -0500 Subject: Re: [U2] SELECT question, paginated select. If your doing the selects from a Basic program, In order to avoid passlist and a second execute, you can pass a dynamic array of the commands you want to execute. CMD1='SELECT CLIENT BY NAME WITH NAME = A]' CMD1-1='SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] OR CMD1='SELECT CLIENT BY NAME WITH NAME = A]':@AM:'SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:46 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Thank you! We don't do a lot of double select statements in our programs, I assume you do the 1st SELECT and then do some sort of CAPTURED or PASSLIST command to pass the first selected values into the 2nd SELECT. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:32:54 -0500 Subject: Re: [U2] SELECT question, paginated select. You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
OK cool, thanks. Just out of curiosity how would you do 2 selects using a PASSLIST? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:06:50 -0500 Subject: Re: [U2] SELECT question, paginated select. SORRY, My mistake. that should have been SELECT CLIENT WITH PAGE = I3,PAGENO That should clear up the error. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:02 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
I just answered my own question right after I sent that last reply..lol. The PASSLIST way (which I will not be using btw) is below: SEL.STMT = 'SELECT CLIENT BY NAME WITH NAME = A]' EXECUTE SEL.STMT CAPTURING CAPTURED PASSLIST IF (SYSTEM(11)*@SELECTED) THEN LIST.STMT = 'SELECT CLIENT WITH PAGE = 4' EXECUTE LIST.STMT CAPTURING CAPTURED PASSLIST LOOP WHILE READNEXT CLIENT.KEY CALL LFSIO.DATAFILE('QREAD*CLIENT',CLIENT.REC,CLIENT.KEY,'','') PRINT CLIENT.KEY:' ':CLIENT.RECCL$NAME REPEAT END RETURN Like you said, why do 2 executes when you don't need to, although when you stack your SELECT commands like you did with the following: CMD1 = 'SELECT CLIENT BY NAME WITH NAME = A]' CMD1-1 = 'SELECT CLIENT WITH PAGE = 1' EXECUTE CMD1 RTNLIST CLIENT.LIST You would think that does 2 executes, 1 behind the scenes but maybe not? It must someone execute the first SELECT doesn't it, or is it a system level command when you stack select's that the system processes 1 first, then the 2nd with the first's results. Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:14:53 -0500 Subject: Re: [U2] SELECT question, paginated select. OK cool, thanks. Just out of curiosity how would you do 2 selects using a PASSLIST? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:06:50 -0500 Subject: Re: [U2] SELECT question, paginated select. SORRY, My mistake. that should have been SELECT CLIENT WITH PAGE = I3,PAGENO That should clear up the error. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:02 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http
[U2] RPC timeouts
We recently switched to a new server and I've been having some weird RPC failures. Every night we run a nightly cycle that processes our batches and transactions. During the monthly cycles (which take a little longer), we have a process at the very end that will connect to our java data pool and then kick off a process but it has to read a UniVerse file first (config table). This POST backup never finishes on the new server so I started to investigate. The error we get in our log is below: doPostBatch() LIVE: 81009 Error opening table LFCONFIG The RPC failed NOT opened ok @ Wed Jun 01 02:11:04 GMT-06:00 2011 DataPool.clear() Disconnect PickVolume * run(): Error opening table LFCONFIG The RPC failed I noticed the following directory contains timeouts and I compared the 2 files (old server vs new) and saw the differences of the timeouts was 864,000 (old server) and only 3,600 (new server). $home\IBM\unishared\unirpc\unirpcservices My question is what do most of you guys set this timeout to? And is there any specific formula to it? I would assume the timeout is in seconds. I didn't see anywhere in UniAdmin to adjust this, I assume you guys are doing it through an editor? Also, is this the timeout from the uniRPC-shell? Thanks. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] in DICT - how to make this 'yes'.
I recently noticed that one of our tables is taking forever to return a simple SELECT statement. Upon further review I noticed 1 difference between the tables that run fast and the slow table. That difference is noticed when you type LIST.INDEX table_name. File... POLACCTRN_POSTED Indices 1 (0 A-type, 0 C-type, 1 D-type, 0 I-type, 0 SQL, 0 S-type) Index Updates.. Enabled, No updates pending Index name Type BuildNulls In DICT S/M Just Unique Field num/I-type POLICY DNot Reqd Yes NoSL N1 As you can see above 'In DICT' is set to NO. However on the same table on a different server it's set to 'yes'. Any idea how to add this value to the dictionary? I looked up In DICT in the reference manual and all it said was: In DICT Yes File dictionary contains corresponding field No File dictionary does not contain corresponding field So based on what it's saying, the dictionary doesn't contain the corresponding field. Any help is appreciate, thanks. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] AUTO: Milton Keynes office closed for English public holidays (returning 26/04/2011)
I am out of the office until 26/04/2011. The Milton Keynes office is closed on Friday and Monday for Easter public holidays. For 8.5 migration and concierge queries issues requiring attention before Tuesday, please email lha...@us.ibm.com and pkl...@us.ibm.com. For urgent problems please raise through your normal support channels. Note: This is an automated response to your message [U2] Very Weird Trigger Behavior sent on 21/4/11 16:03:18. This is the only notification you will receive while this person is away. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] AUTO: Milton Keynes office closed for English public holidays (returning 26/04/2011)
Sorry about this - I will try to work out a way to block these. Regards - Chris Thornton From: Chris Thornton1/UK/IBM@IBMGB To: U2 Users List u2-users@listserver.u2ug.org Date: 21/04/2011 16:40 Subject:[U2] AUTO: Milton Keynes office closed for English public holidays(returning 26/04/2011) Sent by:u2-users-boun...@listserver.u2ug.org I am out of the office until 26/04/2011. The Milton Keynes office is closed on Friday and Monday for Easter public holidays. For 8.5 migration and concierge queries issues requiring attention before Tuesday, please email lha...@us.ibm.com and pkl...@us.ibm.com. For urgent problems please raise through your normal support channels. Note: This is an automated response to your message [U2] Very Weird Trigger Behavior sent on 21/4/11 16:03:18. This is the only notification you will receive while this person is away. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users