Microsoft SQLserver recsize param

Author: gianni.sandigliano@unifacesolutions.com (gianni)

Hi Unifacers, I am in a little debate with Uniface support service about recsize (or "record size") parameter in USYS$MSS_PARAMS; the debate is regarding the real meaning of this parameter...so I am kindly asking here oldest Unifacers to squeeze their brain trying to remember the origin for it. As far as I remember this param is available since U7 timeframe. At U7 times Uniface kernel and drivers were able to support "the fixed part of a record" in an entity up to 4000bytes; going over this limit means usually to be forced to use or overflow tables or unstructured text (with SU*) or unstructured binary (with SR*) fields. Anyhow when using large views as Uniface entity we can surpass the 4000bytes limit of Uniface as "fixed part of record" generating a related error at runtime; those large entities are usually not generated from a Uniface application...the Uniface application must just read them. AFAIK to solve this issue recsize parameter was added to enable to manage entities with a larger "fixed part of record". I remember I have use it only once (but I am digging my mind little less than 20years back!) defining recsize=6000 to read with Uniface a large view going over the 4000bytes limit (This view was NOT generated by Uniface!). If we move this concept to current days: today Uniface has 8000bytes as limit to support "the fixed part of a record" so recsize should be used with values larger than 8000 but current documentation is (still) reporting possible values between 1 and 8000 like in U7. Here start my little debate with Uniface support...they stick to current documentation while I am thinking if it was before 4000>8000 now it should be 8000>16000 and NOT 8000>8000. What could be the reason to have a recsize less that the maximum Uniface is already able to manage? As a side thinking: this parameter should have NO impact at all on all the remaining part of Uniface DBMS I/O...while today it has it! I do not pretend of being right because so much time is passed but I need to find a WORKING solution to a REAL problem we found with historical customers. Could anyone add some thinking or real use in production examples for recsize parameter with MSS? It would be nice to know real reason for its usage...why it was defined a long time ago! Thanks in advance for any answer! Gianni BTW: recsize parameter can be used also with ODBC driver.

1 Comment

  1. Should I suppose no one normally reading this forum is currently using USYS$MSS_PARAMS recsize=XXXX ? Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)