![]() |
RDB 2
|
Database error class. More...
#include <error.hpp>
Public Member Functions | |
Error (const int &code, const std::string &details="") | |
Constructor. More... | |
virtual | ~Error () |
Destructor. More... | |
virtual const int & | code () const RDB_NO_EXCEPT |
Get error code. More... | |
virtual const char * | what () const RDB_NO_EXCEPT |
Get error text. More... | |
virtual const char * | details () const RDB_NO_EXCEPT |
Get error details. More... | |
Database error class.
List of error codes.
Enumerator | |
---|---|
DatabaseOpenFailed |
failed to create or open database, most likely insufficient access rights or invalid location |
DatabaseNotOpened |
a query failed because no database was opened |
DatabaseNotWritable |
modification of database not possible as opened in read-only mode (check file access rights) |
DatabaseVersionNotSupported |
database file format version not supported |
DatabaseSchemaValidationFailed |
database does not correspond to user-supplied schema |
TransactionMissing |
operation failed because there was no transaction, see pointcloud::Transactions::begin() |
TransactionPending |
operation failed because a transaction is started but not yet finished |
TransactionCorrupted |
operation failed because database was modified by concurrent client (should never happen) |
TransactionInvalid |
given transaction ID is invalid |
TransactionLockAcquireFailed |
failed to acquire database transaction lock |
TransactionLockReleaseFailed |
failed to release database transaction lock |
TransactionDetailsTooLarge |
total size of all transaction details strings exceeds the limit |
PointAttributeDuplicate |
point attribute of given name already exists |
PointAttributeMissing |
point attribute of given name does not exist, attribute name is stored in error details |
PointAttributeInvalidLength |
point attribute vector length is invalid |
PointAttributeInvalidLimits |
point attribute minimum and maximum are invalid |
PointAttributeInvalidDefault |
point attribute default value out of range (min./max.) |
PointAttributeInvalidResolution |
point attribute resolution is invalid |
PointAttributeCannotDuplicate |
source point attribute data could not be copied to target point attribute data as they are not compatible |
PointAttributeCannotModify |
modification of point attribute property not allowed (property name is stored in error details) |
PointAttributeInvalidScale |
invalid point attribute scale factor given (value is stored in error details) |
PointAttributeNotMergeable |
the point attribute details can not be merged because they are not compatible (reason see details) |
PointAttributeInvalidInvalid |
point attribute invalid value out of range (min./max.) |
MetadataValidationFailed |
metadata entry does not correspond to schema |
MetadataInvalidName |
metadata entry name is not allowed (name is stored in error details) |
MetadataTableTooLarge |
total size of all metadata item names and values exceeds the limit |
MetadataSignatureError |
failed to create or verify metadata entry signature (reason in error details) |
QueryBindAttributeInvalid |
bound invalid attribute to query, attribute name is stored in error details (not all attributes are allowed in all queries) |
QueryBindAttributeUnknown |
bound unknown attribute to query, attribute name is stored in error details |
QueryBindAttributeIndexVoid |
bound attribute with invalid vector index |
QueryBindAttributeBufferVoid |
bound attribute buffer is invalid |
QuerySelectFilterParseFailed |
select query filter string parsing failed, check syntax |
QuerySelectAttributeUnknown |
select query filter string refers to unknown point attribute, attribute name is stored in error details |
QuerySelectVectorIndexMissing |
select query filter string does not define vector index for vector point attribute |
QuerySelectVectorIndexInvalid |
select query filter string contains invalid vector attribute index |
QuerySelectGraphNodeInvalid |
select query node ID invalid |
QueryInsertNoPrimaryAttribute |
no buffer for primary point attribute defined |
QueryUpdateConstantAttribute |
tried to modify a constant attribute |
QueryStatIndexNodeNotFound |
index graph node not found (invalid node ID) |
QueryAttributeValueOutOfRange |
given attribute value (insert or update) is out of range, attribute name is stored in error details |
QueryPointIdentifierMissing |
no buffer for point ID attribute defined |
QueryPending |
can't start a new query as an other query started by this Pointcloud instance is not finished yet |
QueryBindAttributeIncomplete |
no buffer given for at least one element of an vector point attribute (i.e. when length > 1) |
QueryInsertTooManyPoints |
points can not be inserted as the total number of points would exceed the limit of 65536 * points-per-chunk (defined at database creation); this limit only applies if the primary point attribute is "riegl.id" (point ID) |
FeatureNotLicensed |
no valid license key found for requested feature |
FailedToParseJSON |
failed to parse JSON string, reason available in error details |
InvalidStringSize |
invalid string size, string name and limit in error details |
Internal |
base error code for fatal internal errors |
Unknown |
unknown error occurred |
|
explicit |
Constructor.
code | error code |
details | optional error details (e.g. attribute name) |
|
virtual |
Destructor.
|
virtual |
Get error code.
|
virtual |
Get error details.
Depending on the error code, there might be additional error details. For example, error QueryAttributeValueOutOfRange stores the attribute name in the error details.
To see which errors provide details,
|
virtual |
Get error text.
This function returns a basic English description text for the error. The client application might use this in e.g. error logs. Text that is displayed to the user should rather be derived from the error code instead (e.g. localized error messages).