Subversion Repositories oidplus

Compare Revisions

Regard whitespace Rev 1168 → Rev 1169

/trunk/includes/oidplus_limits.inc.php
26,30 → 26,6
// -----------------------------------------------------------------------------
 
/**
* LIMITS_MAX_OID_DEPTH
*
* Example:
* OID 2.999.123.456 has a depth of 4.
*
* Default value:
* 30
*
* Which value is realistic?
* In the oid-info.com database (April 2020), the greatest depth is 22.
*
* What would happen if you had OIDs with a higher arc size in your database?
* MySQL and MSSQL: The arcs after that maximum depth would not be sorted.
* PostgreSQL: No effects
*
* Note: This setting affects the performance of OIDplus, since it is used
* for sorting in MySQL and MSSQL (not in PostgreSQL).
**/
// TODO: remove this limitation, since we don't have natOrder anymore
OIDplus::baseConfig()->setValue('LIMITS_MAX_OID_DEPTH', 30);
 
// -----------------------------------------------------------------------------
 
/**
* LIMITS_MAX_ID_LENGTH
*
* Example:
74,48 → 50,6
// -----------------------------------------------------------------------------
 
/**
* LIMITS_MAX_OID_ARC_SIZE
*
* Example:
* OID 2.999.123.456 has a max arc size of 3 digits.
*
* Default value:
* 50 digits
*
* Minimal recommended value:
* The arc size should not be smaller than 39, because UUIDs (inside OID 2.25)
* have arcs up to 39 digits!
* In the oid-info.com database (April 2020), indeed, the greatest value 39.
*
* Maximal value:
* MySQL:
* Max value: 65 (limit by the DBMS)
* Reason: This is the limit of the "decimal" data type
* What would happen if you had OIDs with a higher arc size in your database?
* The sorting will not work, because MySQL handles the cast like this:
* cast('1234' as decimal(3)) = 999
* PostgreSQL:
* Max value: 131072 (limit by the DBMS)
* Reason: This is the limit for the "numeric" data type.
* What would happen if you had OIDs with a higher arc size in your database?
* OIDplus will STOP WORKING, because the SQL queries will fail due to the failed cast.
* SQL Server:
* Max value: 512 (limit in function getOidArc)
* Reason: Since SQL Server does not support 128 bit integers (the limit of decimal is 38 digits),
* the function getOidArc() needs to pad each arc with zeros,
* returning a string that has to be sorted.
* The data type varchar(512) is the return value type of getOidArc().
* If you need more (which is unlikely), you can edit the definition of that function.
* What would happen if you had OIDs with a higher arc size in your database?
* The sorting will not work, because SQL Server handles the cast like this:
* select cast('1234' as varchar(3)) = '123'
**/
// TODO: remove this limitation, since we don't have natOrder anymore
OIDplus::baseConfig()->setValue('LIMITS_MAX_OID_ARC_SIZE', 50);
 
// -----------------------------------------------------------------------------
 
/**
* LIMITS_MAX_OID_ASN1_ID_LEN
*
* Default value: