IRISLIB database
AutoIncrement Class Reference
Inheritance diagram for AutoIncrement:
Collaboration diagram for AutoIncrement:

Additional Inherited Members

- Static Public Member Functions inherited from BigInt
_.Library.Status IsValid (_, _.Library.RawString val)
 Tests if the logical value val, which is an integer value, is valid. More...
 
_.Library.Integer Normalize (_, _.Library.RawString val)
 Converts val to a normalized value.
 
_.Library.BigInt XSDToLogical (_, _.Library.String val)
 Converts the SOAP encoded input decimal value into a BiglInt value. More...
 
- Static Public Member Functions inherited from Integer
_.Library.Integer DisplayToLogical (_, _.Library.String val)
 Converts the input value val, which is a string representing an integer,. More...
 
_.Library.String LogicalToDisplay (_, _.Library.Integer val)
 Converts the value of val, which is in logical integer format, into a display string. More...
 
- Static Public Attributes inherited from BigInt
 MAXVAL = None
 The maximum allowed logical value for the data type.
 
 MINVAL = None
 The minimum allowed logical value for the data type.
 
 XSDTYPE = None
 Declares the XSD type used when projecting XML Schemas.
 
- Static Public Attributes inherited from Integer
 DISPLAYLIST = None
 The Integer data type class represents an integer value. More...
 
 FORMAT = None
 The format specification for the data type's display value. More...
 
 MAXVAL = None
 The maximum allowed logical value for the data type.
 
 MINVAL = None
 The minimum allowed logical value for the data type.
 
 STRICT = None
 If '1' then <method>IsValid</method> will return false for numbers that are not integers e.g. More...
 
 VALUELIST = None
 Used for enumerated (multiple-choice) attributes. More...
 
 XMLTotalDigits = None
 The total number of digits for XML verification as defined by http://www.w3.org/TR/xmlschema-2/#rf-totalDigits.
 
 XSDTYPE = None
 Declares the XSD type used when projecting XML Schemas.
 
- Static Public Attributes inherited from DataType
 INDEXNULLMARKER = None
 Override this parameter value to specify what value should be used as a null marker when a property of the type is used in a subscript of an index map. More...
 

Detailed Description

Library.AutoIncrement is a datatype class that extends Library.BigInt. It does not override any inherited behavior.

Any property whose type class is Library.AutoIncrement will be assigned a value on insert if no value is specified, or a 0 or null value is specified. The AutoIncrement value is assigned by incrementing a counter that is defined in the storage definition of the class. The default AutoIncrement counter location is the same as the DATALOCATION default but with a "C" suffix instead of a "D". Individual AutoIncrement counters are located in the COUNTERLOCATION subscripted by the property name.

The value of a AutoIncrement property is assigned automatically only when a new object is inserted into the database, either using Objects or an SQL INSERT statement. No value is assigned if a value other than 0 or null is specified. A Library.AutoIncrement property value is only unique if the value is auto-generated. If an explicit value is saved, inserted, or updated, it may conflict with other rows/objects. There is no guarantee the Library.AutoIncrement value is consecutive or sequential.

A compiled class/table may have one Library.AutoIncrement property. Library.AutoIncrement is supported for sharded class/tables, and the auto-incremented value will be unique across the shard cluster as long as explicit values are not saved for the property.