Difference: 0LASubrUtilComputeHash (3 vs. 4)

Revision 42017-12-04 - JeanNeron

Line: 1 to 1
 
META TOPICPARENT name="FullAPIList"

.UTIL COMPUTE HASH

Line: 9 to 9
 
*     PASS         <hash value returned>      FIELD            SHARE? Y
*     PASS         <hash type>                FIELD            SHARE? N
*     PASS         <Data to hash>             FIELD            SHARE? N

Added:
>
>
* PASS <Unicode flag> FIELD SHARE? N
 * GOSUB --- .UTIL COMPUTE HASH
    • Check for errors
* IF --- .UTIL COMPUTE HASH NE
Line: 24 to 25
 
  • UC for a 128 byte readable value, upper case
  • LC for a 128 byte readable value, lower case
<Data to hash> is the string to be hashed (32k max size).
Added:
>
>
<Unicode flag> Pass UNI if you want the calculation performed on a Unicode field (optional, Release 6.0 and higher only). For compatibility with release 5, the hash calculation is performed on a RAW field. PASSing a unicode field in <Data to hash> that contains characters that cannot be transcoded to the RAW encoding will result in a runtime error. To force the calculation to be performed on the Unicode field, pass UNI for <Unicode flag>. Note that since RAW and Unicode fields have different internal structures, passing the same string with and without the <Unicode Flag> will return different hash values.
 

Comments:

Read what other users have said about this page or add your own comments.

Editorial comment: This API provides a great way to overcome the APPX 256-character key length limitation. If your desired key is a field longer than 256 (such as a server file path or a group of many fields), or if it will be longer than 256 when the primary key is appended, pass the desired key value into this subroutine and use the resulting 128-byte value as your guaranteed unique key.

Changed:
<
<
-- Al Kalter - 2016-11-07
<--/commentPlugin-->
>
>
-- Al Kalter - 2016-11-07

<--/commentPlugin-->
  -- JeanNeron - 2012-03-08 \ No newline at end of file
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback