Re: [U2][UD] UniQuery SELECT WITH Limits
Just because I respect the past and can recognize the perpetual changing of the 'state of the art' doesn't mean I live in the past. Your comments are unwelcome, short-sighted and clearly illustrate a complete lack of knowledge of what I know and where I've been. I praised F correlatives in the past tense and they were certainly an incredible asset in their time when compared to the prevailing databases. What we could accomplish in a single, albeit cryptic, line of code took other systems a whole lot more lines of code and other very expensive resources. The very fact that you don't have to endure F correlatives today is a tribute to their help in building up the overall Pick/MV marketplace that you currently enjoy. Without them, Pick would have been just another VSAM/ISAM or other flat, processor heavy database and English (sic) would never have grown to be the powerful tool it is. Everytime, and I mean every time you are at TCL and type an English query you should thank F correlatives. My present client base includes MV systems all the way from early 1980's-era Microdatas all the way to U2, D3, Mvbase and a bunch in between, not to mention many non-MV technologies. My duration in the MV world allows me to comment with first-hand experience on possibly the full extent of its time period and all of its milestones.. Thanks for your comments and I will continue to defend the F correlative for its contributions. Mark Johnson - Original Message - From: Bruce Nichol [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Thursday, October 12, 2006 11:13 PM Subject: Re: [U2][UD] UniQuery SELECT WITH Limits At 08:30 26/09/06 -0400, you wrote: Don't pick on the F correlatives as they were the state of the art back then and got us where we are today. And so were valve radios and kerosene fridges.Whilst there is a resurgence of valve amplifiers for audiophiles the rest of us great unwashed can do without either having them or knowing anything about them especially when there is a progression path. Catch up with the rest of the world.Your customer will ultimately thank you unless you want to go down in history as the last person defending F-correlatives. There really are times when the tripe still propounded for vanilla Pick is just not the answer in U2.. Regards, Bruce Nichol Talon Computer Services ALBURYNSW 2640 Australia http://www.taloncs.com.au Tel: +61 (0)411149636 Fax: +61 (0)260232119 If it ain't broke, fix it till it is! -- No virus found in this outgoing message. Checked by AVG. Version: 7.5.427 / Virus Database: 268.13.3/473 - Release Date: 12/10/06 16:15 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
At 08:30 26/09/06 -0400, you wrote: Don't pick on the F correlatives as they were the state of the art back then and got us where we are today. And so were valve radios and kerosene fridges.Whilst there is a resurgence of valve amplifiers for audiophiles the rest of us great unwashed can do without either having them or knowing anything about them especially when there is a progression path. Catch up with the rest of the world.Your customer will ultimately thank you unless you want to go down in history as the last person defending F-correlatives. There really are times when the tripe still propounded for vanilla Pick is just not the answer in U2.. Regards, Bruce Nichol Talon Computer Services ALBURYNSW 2640 Australia http://www.taloncs.com.au Tel: +61 (0)411149636 Fax: +61 (0)260232119 If it ain't broke, fix it till it is! -- No virus found in this outgoing message. Checked by AVG. Version: 7.5.427 / Virus Database: 268.13.3/473 - Release Date: 12/10/06 16:15 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
Update: Certainly! I have several hundred clients and I need to run a report using SB+ ReportWriter. I only need to run the report for 251 of those clients, but they don't have enough in common to select by any usable criteria. I remember reading that there is a limit to selection criteria in UniData, though -- only 120 WITH statements at the same time. I also want to simply be able to copy and paste the list of clients and not have to type each one in. I guess SB+ works around UniData limits, or perhaps those limits are no longer in place. I don't know. I was able to copy and paste the entire select list into the SB+ dialogue and have it work that way. Thank you for the helpful suggestions, everybody! On 9/25/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Not to second guess, but anytime someone says something about hitting one of the limits, I have to think there is a better way of doing what you want to do. Why don't you give us a little more detail as to what you are trying to do? Bruce M Neylon Health Care Management Group jjuser ud2 [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 09/25/2006 03:21 PM To u2-users@listserver.u2ug.org Subject [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
Perhaps you could create a derived dictionary item which calls a random number routine. Then you could do: SSELECT YOUR.FILE BY RND.NBR SAMPLE 250 Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
Come to think of it...after I generate all three saved lists, is there a way to combine them into one list? Can I just rename the files in the SAVEDLISTS directory to be contiguous filenames? I'm pretty sure I can't, but I have to ask. On 9/25/06, jjuser ud2 [EMAIL PROTECTED] wrote: Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
MERGE.LIST would combine different select lists... See doc for the different options for the merge. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 3:33 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2][UD] UniQuery SELECT WITH Limits Come to think of it...after I generate all three saved lists, is there a way to combine them into one list? Can I just rename the files in the SAVEDLISTS directory to be contiguous filenames? I'm pretty sure I can't, but I have to ask. On 9/25/06, jjuser ud2 [EMAIL PROTECTED] wrote: Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 12:22 PM To: u2-users@listserver.u2ug.org Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. I don't know about UD, but in UV you can use MERGE.LIST to merge two saved lists into a 3rd. -John --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
Not to second guess, but anytime someone says something about hitting one of the limits, I have to think there is a better way of doing what you want to do. Why don't you give us a little more detail as to what you are trying to do? Bruce M Neylon Health Care Management Group jjuser ud2 [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 09/25/2006 03:21 PM Please respond to u2-users@listserver.u2ug.org To u2-users@listserver.u2ug.org cc Subject [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
VERY helpful, thank you! :) Now how about those limits... On 9/25/06, John Hester [EMAIL PROTECTED] wrote: -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 12:22 PM To: u2-users@listserver.u2ug.org Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. I don't know about UD, but in UV you can use MERGE.LIST to merge two saved lists into a 3rd. -John --- --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 2:01 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2][UD] UniQuery SELECT WITH Limits VERY helpful, thank you! :) Now how about those limits... As a general rule it's almost always more efficient to break up a large select into multiple smaller selects rather than attempting to specify all of the selection criteria at once. Your number of selection criteria is much longer than anything I've ever had to deal with, but I think you might find this to be true in your case as well. I'd try using a program to loop through 251 individual selects, merging the saved list into the prior list each time. You could put the WITH values into their own saved list for easy maintenance later. I'm thinking of something like: EXECUTE 'SELECT WITH.LIST', SELECT LIST1 LOOP READNEXT WITH.ITEM FROM LIST1 ELSE EXIT END LIST2 = ''; LIST3 = '' EXECUTE 'DELETE.LIST TEMPLIST1' EXECUTE 'SELECT SOMEFILE WITH SOMEATTR ':WITH.ITEM:'', SELECT LIST2 EXECUTE 'SAVE.LIST TEMPLIST1', SELECT LIST2 EXECUTE 'MERGE.LIST TEMPLIST1 UNION TEMPLIST2 TO PERMLIST' EXECUTE 'GET.LIST PERMLIST', SELECT LIST3 EXECUTE 'SAVE.LIST TEMPLIST2', SELECT LIST3 REPEAT EXECUTE 'DELETE.LIST TEMPLIST2' A little convoluted, but I think it's probably faster than any other way. -John --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
A couple of thoughts. If you do SELECT FILENAME WITH FIELD = 123456479 does that count as multiple WITHs? You could setup a dict item that looks at a certain position in the field then select on that. D3UD/U2 FIELD.NAMEFIELD.NAME 1 A 1 I 2 0 2 @ID[3,1] 3 3 4 4 5 5 1L 6 6 S 7 8 T3,1 R 1 SELECT FILENAME WITH FIELD.NAME = 1 Will get all the items that have a 1 in the 3rd position of the ID - Original Message - From: jjuser ud2 [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, September 25, 2006 3:21 PM Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
Don't know about UD limits. Here's a workaround: Write a control record with the 251 different numbers that you are searching for. Then SELECT file WITH EVAL SUBR( '!EQS', TRANS( controlfile, controlid, -1, 'X' ), REUSE( field.in.question )) = 1 Something close to that, anyway. It loops through the entire file once (the expensive part), and does 251 comparisons for each record (not so sepenseive). cds -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 12:22 PM To: u2-users@listserver.u2ug.org Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
I'm curious as well with so many WITH's. Please entertain us with the specifics of your query. Performance wise, this offers the following question. If the first WITH fails and it's a bunch of ANDed WITH's, does the system continue to gather the other pass/fails despite the first failing and the rest are moot. I've streamlined many queries by dividing and conquering. Especially if some of the fields are heavier than the others, ie correlatives or translates. Not to mention any indexed fields. Thanks Mark Johnson - Original Message - From: [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, September 25, 2006 4:45 PM Subject: Re: [U2][UD] UniQuery SELECT WITH Limits Not to second guess, but anytime someone says something about hitting one of the limits, I have to think there is a better way of doing what you want to do. Why don't you give us a little more detail as to what you are trying to do? Bruce M Neylon Health Care Management Group jjuser ud2 [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 09/25/2006 03:21 PM Please respond to u2-users@listserver.u2ug.org To u2-users@listserver.u2ug.org cc Subject [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
I'm thinking your best solution would be to populate a file with the ID's that you wish to select. Then in the base file, you set a translate to the file you just created. Then you can just simply: SELECT BASE.FILE WITH TRANS.TO.TEMP.FILE GT Voila - you're done! hth, Allen E. Elwood www.tortillafc.com Quality Code Since 1978 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 12:22 To: u2-users@listserver.u2ug.org Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2][UD] UniQuery SELECT WITH Limits
I have another thought on this many WITH's. As a filter (I'm sure it's pretty much all AND's as mixing AND's and OR's tends to be misleading), and you're wanting a single list, perhaps just write a program to go through the file and challenge everything sequentially. If it passes all of the 200 or so tests, retain the item-id either in a local variable or writing to a temp file. As soon as it fails on any test go to the next item-id. Then either WRITELIST the local variable or SELECT the temp file to get your list of quailfied records. My 2 cents Mark Johnson P.S. Something tells me that your current TCL SELECT statement isn't generated by hand or run in a PROC and that it's being created by a data/basic program. Thus, by the time you assemble the TCL statement, you could be testing the records. - Original Message - From: Richard Brown [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, September 25, 2006 7:04 PM Subject: Re: [U2][UD] UniQuery SELECT WITH Limits A couple of thoughts. If you do SELECT FILENAME WITH FIELD = 123456479 does that count as multiple WITHs? You could setup a dict item that looks at a certain position in the field then select on that. D3UD/U2 FIELD.NAMEFIELD.NAME 1 A 1 I 2 0 2 @ID[3,1] 3 3 4 4 5 5 1L 6 6 S 7 8 T3,1 R 1 SELECT FILENAME WITH FIELD.NAME = 1 Will get all the items that have a 1 in the 3rd position of the ID - Original Message - From: jjuser ud2 [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, September 25, 2006 3:21 PM Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? When I execute the LIMIT command in UniData, it tells me: U_MAXFNAME: File name limit = 198. U_NAMESZ:Record id(key) size = 126. U_SELEMAX: Number of select list = 10. U_MAXDATA: Number of DATA statement = 500. U_HEADSZ:HEADER/FOOTER length = 2120. U_MAXHASHTYPES: Number of hash functions = 3. U_MAXSORT: Number of sort fields(BY...) in LIST = 20. U_MAXWITH: WITH stack size = 256. U_MAXWHEN: WHEN stack size = 60. U_MAXCAL:Number of SUM+AVG+PCT+CAL in LIST = 54. U_MAXBREAK: Number of BREAK.ON+BREAK.SUP in LIST = 15. U_MAXLIST: Number of attribute names in LIST = 999. U_LINESZ:Page width in printing =272. U_PARASIZE: Paragraph name and its parameter size = 256. U_LPCMD: System spooler name = NT Spooler. U_MAXPROMPT: Number of prompts allowed in paragraph = 60. U_FSIZE: Dictionary field name size =31. U_MAXVALUE: Number of values WHEN can handle = 10240. U_MAXBYEXPVAL: Number of values BY.EXP can handle = 10240. U_SENTLEN: Maximum sentence length = 9247. U_PROCBUFSZ: Proc buffer size = 4095. U_NIDES: Maximum number of virtual fields in query= 256. Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
You might consider doing it in a subroutine if you don't have to run it too often and you are selecting a high percentage of the database. Do it with field name = 1 and then have the subroutine do the withing and set the return value to 1 so your just test of a 1. Set up an array in the subroutine to hold the 250 numbers and then just locate in that array. If the numbers truly are random then you could generate the numbers in the subroutine as well or read them from an external source. hth Tom Dodds [EMAIL PROTECTED] 708-234-9608 Office 630-235-2975 Cell -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jjuser ud2 Sent: Monday, September 25, 2006 12:22 PM To: u2-users@listserver.u2ug.org Subject: [U2][UD] UniQuery SELECT WITH Limits Hi hello how are ya :) Limits. The documentation I have for Using UniQuery says that you can only have 120 different with fields in a SELECT statement. I'm trying to select a series of non-contiguous numbers at random intervals to generate a select list. There are 251 of these numbers. Do I have to split the list into three different groups in order to generate three different lists that I can do a SAVE.LIST on? What's the best way to go about getting these select lists? Thanks! :) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
Charles: And some complain about the obtuse nature of F correlatives. :-) Bill -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stevenson, Charles Sent: Monday, September 25, 2006 4:22 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2][UD] UniQuery SELECT WITH Limits Don't know about UD limits. Here's a workaround: Write a control record with the 251 different numbers that you are searching for. Then SELECT file WITH EVAL SUBR( '!EQS', TRANS( controlfile, controlid, -1, 'X' ), REUSE( field.in.question )) = 1 Something close to that, anyway. It loops through the entire file once (the expensive part), and does 251 comparisons for each record (not so sepenseive). cds --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
From: Richard Brown SELECT FILENAME WITH FIELD = 123456479 does that count as multiple WITHs? Yeah, does that work? SELECT FILENAME WITH FIELD = 123456479[and 248 more like that] Exactly what's needed. I think I have hit a limit on statement length before (not number of WITHs) I don't recall the details. I had assumed this answer was ruled out, but I just tried it works in UniVerse. At least, 500 very big numbers doesn't hit any limit for me. I had to go back check after claiming my answer was good. Richard Brown's is better. cds --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2][UD] UniQuery SELECT WITH Limits
The OP never made it clear what he was trying to do. He may in fact be trying to select randomly numbered ID's and if that is the case, he doesn't actually need a select statement at all. Perhaps we should wait until he gives us a little more info. DISCLAIMER: Disclaimer. This e-mail is private and confidential. If you are not the intended recipient, please advise us by return e-mail immediately, and delete the e-mail and any attachments without using or disclosing the contents in any way. The views expressed in this e-mail are those of the author, and do not represent those of this company unless this is clearly indicated. You should scan this e-mail and any attachments for viruses. This company accepts no liability for any direct or indirect damage or loss resulting from the use of any attachments to this e-mail. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/