mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Implement an r-tree data structure in a new module. It has three exposed methods: H5RT_create(), H5RT_search(), and H5RT_free(). The STR algorithm used during creation is based on the one described here. Updates CMakeLists.txt to include H5RT.c and related headers. Adds rtree.c test file to validate R-tree creation and search functionalities.
297 lines
12 KiB
Plaintext
297 lines
12 KiB
Plaintext
# Copyright by The HDF Group.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the LICENSE file, which can be found at the root of the source code
|
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
#
|
|
|
|
# This file is used to generate the various headers that are needed for the
|
|
# error API. The bin/make_err script reads in this file and creates the
|
|
# appropriate files in the src/ directory when the generated headers are out
|
|
# of date with respect to this file.
|
|
#
|
|
# Blank lines and lines beginning with '#' are ignored
|
|
#
|
|
# The format of this file is as follows:
|
|
# <type>,<major section, if minor type, otherwise omitted>,<name>,<description>
|
|
#
|
|
# For example, the following sample input shows two major errors and two minor
|
|
# errors in each section:
|
|
#
|
|
# MAJOR, H5E_ARGS, Invalid arguments to routine
|
|
# MAJOR, H5E_RESOURCE, Resource unavailable
|
|
#
|
|
# SECTION, ARGS, Argument errors
|
|
# SECTION, RESOURCE, Resource errors
|
|
#
|
|
# MINOR, ARGS, H5E_UNINITIALIZED, Information is uinitialized
|
|
# MINOR, ARGS, H5E_UNSUPPORTED, Feature is unsupported
|
|
# MINOR, RESOURCE, H5E_NOSPACE, No space available for allocation
|
|
# MINOR, RESOURCE, H5E_CANTCOPY, unable to copy object
|
|
#
|
|
# The section information is just used for grouping the information in the
|
|
# files created and can have any value. They generally correspond to the
|
|
# major errors, but don't have to. The section definition for each minor error
|
|
# must come before any minor error that uses it.
|
|
#
|
|
|
|
# Major errors
|
|
MAJOR, H5E_ARGS, Invalid arguments to routine
|
|
MAJOR, H5E_RESOURCE, Resource unavailable
|
|
MAJOR, H5E_INTERNAL, Internal error (too specific to document in detail)
|
|
MAJOR, H5E_LIB, General library infrastructure
|
|
MAJOR, H5E_FILE, File accessibility
|
|
MAJOR, H5E_IO, Low-level I/O
|
|
MAJOR, H5E_FUNC, Function entry/exit
|
|
MAJOR, H5E_ID, Object ID
|
|
MAJOR, H5E_CACHE, Object cache
|
|
MAJOR, H5E_LINK, Links
|
|
MAJOR, H5E_BTREE, B-Tree node
|
|
MAJOR, H5E_SYM, Symbol table
|
|
MAJOR, H5E_HEAP, Heap
|
|
MAJOR, H5E_OHDR, Object header
|
|
MAJOR, H5E_DATATYPE, Datatype
|
|
MAJOR, H5E_DATASPACE, Dataspace
|
|
MAJOR, H5E_DATASET, Dataset
|
|
MAJOR, H5E_STORAGE, Data storage
|
|
MAJOR, H5E_PLIST, Property lists
|
|
MAJOR, H5E_ATTR, Attribute
|
|
MAJOR, H5E_PLINE, Data filters
|
|
MAJOR, H5E_EFL, External file list
|
|
MAJOR, H5E_REFERENCE, References
|
|
MAJOR, H5E_VFL, Virtual File Layer
|
|
MAJOR, H5E_VOL, Virtual Object Layer
|
|
MAJOR, H5E_TST, Ternary Search Trees
|
|
MAJOR, H5E_RS, Reference Counted Strings
|
|
MAJOR, H5E_ERROR, Error API
|
|
MAJOR, H5E_SLIST, Skip Lists
|
|
MAJOR, H5E_FSPACE, Free Space Manager
|
|
MAJOR, H5E_SOHM, Shared Object Header Messages
|
|
MAJOR, H5E_EARRAY, Extensible Array
|
|
MAJOR, H5E_FARRAY, Fixed Array
|
|
MAJOR, H5E_PLUGIN, Plugin for dynamically loaded library
|
|
MAJOR, H5E_PAGEBUF, Page Buffering
|
|
MAJOR, H5E_CONTEXT, API Context
|
|
MAJOR, H5E_MAP, Map
|
|
MAJOR, H5E_EVENTSET, Event Set
|
|
MAJOR, H5E_THREADSAFE, Threadsafety
|
|
MAJOR, H5E_RTREE, R-Tree spatial index
|
|
MAJOR, H5E_NONE_MAJOR, No error
|
|
|
|
# Sections (for grouping minor errors)
|
|
SECTION, ARGS, Argument errors
|
|
SECTION, RESOURCE, Resource errors
|
|
SECTION, FILEACC, File accessibility errors
|
|
SECTION, FILE, Generic low-level file I/O errors
|
|
SECTION, FUNC, Function entry/exit interface errors
|
|
SECTION, ID, Object ID related errors
|
|
SECTION, CACHE, Cache related errors
|
|
SECTION, LINK, Link related errors
|
|
SECTION, BTREE, B-tree related errors
|
|
SECTION, OHDR, Object header related errors
|
|
SECTION, GROUP, Group related errors
|
|
SECTION, TYPECONV, Datatype conversion errors
|
|
SECTION, DSPACE, Dataspace errors
|
|
SECTION, PLIST, Property list errors
|
|
SECTION, MPI, Parallel MPI errors
|
|
SECTION, HEAP, Heap errors
|
|
SECTION, FSPACE, Free space errors
|
|
SECTION, PIPELINE, I/O pipeline errors
|
|
SECTION, SYSTEM, System level errors
|
|
SECTION, PLUGIN, Plugin errors
|
|
SECTION, MAP, Map related errors
|
|
SECTION, ASYNC, Asynchronous operation errors
|
|
SECTION, NONE, No error
|
|
|
|
# Minor errors
|
|
|
|
# Argument errors
|
|
MINOR, ARGS, H5E_UNINITIALIZED, Information is uinitialized
|
|
MINOR, ARGS, H5E_UNSUPPORTED, Feature is unsupported
|
|
MINOR, ARGS, H5E_BADTYPE, Inappropriate type
|
|
MINOR, ARGS, H5E_BADRANGE, Out of range
|
|
MINOR, ARGS, H5E_BADVALUE, Bad value
|
|
|
|
# Resource errors
|
|
MINOR, RESOURCE, H5E_NOSPACE, No space available for allocation
|
|
MINOR, RESOURCE, H5E_CANTALLOC, Can't allocate space
|
|
MINOR, RESOURCE, H5E_CANTCOPY, Unable to copy object
|
|
MINOR, RESOURCE, H5E_CANTFREE, Unable to free object
|
|
MINOR, RESOURCE, H5E_ALREADYEXISTS, Object already exists
|
|
MINOR, RESOURCE, H5E_CANTLOCK, Unable to lock object
|
|
MINOR, RESOURCE, H5E_CANTUNLOCK, Unable to unlock object
|
|
MINOR, RESOURCE, H5E_CANTGC, Unable to garbage collect
|
|
MINOR, RESOURCE, H5E_CANTGETSIZE, Unable to compute size
|
|
MINOR, RESOURCE, H5E_OBJOPEN, Object is already open
|
|
|
|
# File accessibility errors
|
|
MINOR, FILEACC, H5E_FILEEXISTS, File already exists
|
|
MINOR, FILEACC, H5E_FILEOPEN, File already open
|
|
MINOR, FILEACC, H5E_CANTCREATE, Unable to create file
|
|
MINOR, FILEACC, H5E_CANTOPENFILE, Unable to open file
|
|
MINOR, FILEACC, H5E_CANTCLOSEFILE, Unable to close file
|
|
MINOR, FILEACC, H5E_NOTHDF5, Not an HDF5 file
|
|
MINOR, FILEACC, H5E_BADFILE, Bad file ID accessed
|
|
MINOR, FILEACC, H5E_TRUNCATED, File has been truncated
|
|
MINOR, FILEACC, H5E_MOUNT, File mount error
|
|
MINOR, FILEACC, H5E_UNMOUNT, File unmount error
|
|
MINOR, FILEACC, H5E_CANTDELETEFILE, Unable to delete file
|
|
MINOR, FILEACC, H5E_CANTLOCKFILE, Unable to lock file
|
|
MINOR, FILEACC, H5E_CANTUNLOCKFILE, Unable to unlock file
|
|
|
|
# Generic low-level file I/O errors
|
|
MINOR, FILE, H5E_SEEKERROR, Seek failed
|
|
MINOR, FILE, H5E_READERROR, Read failed
|
|
MINOR, FILE, H5E_WRITEERROR, Write failed
|
|
MINOR, FILE, H5E_CLOSEERROR, Close failed
|
|
MINOR, FILE, H5E_OVERFLOW, Address overflowed
|
|
MINOR, FILE, H5E_FCNTL, File control (fcntl) failed
|
|
|
|
# Function entry/exit interface errors
|
|
MINOR, FUNC, H5E_CANTINIT, Unable to initialize object
|
|
MINOR, FUNC, H5E_ALREADYINIT, Object already initialized
|
|
MINOR, FUNC, H5E_CANTRELEASE, Unable to release object
|
|
|
|
# Object ID related errors
|
|
MINOR, ID, H5E_BADID, Unable to find ID information (already closed?)
|
|
MINOR, ID, H5E_BADGROUP, Unable to find ID group information
|
|
MINOR, ID, H5E_CANTREGISTER, Unable to register new ID
|
|
MINOR, ID, H5E_CANTINC, Unable to increment reference count
|
|
MINOR, ID, H5E_CANTDEC, Unable to decrement reference count
|
|
MINOR, ID, H5E_NOIDS, Out of IDs for group
|
|
|
|
# Cache related errors
|
|
MINOR, CACHE, H5E_CANTFLUSH, Unable to flush data from cache
|
|
MINOR, CACHE, H5E_CANTUNSERIALIZE, Unable to mark metadata as unserialized
|
|
MINOR, CACHE, H5E_CANTSERIALIZE, Unable to serialize data from cache
|
|
MINOR, CACHE, H5E_CANTTAG, Unable to tag metadata in the cache
|
|
MINOR, CACHE, H5E_CANTLOAD, Unable to load metadata into cache
|
|
MINOR, CACHE, H5E_PROTECT, Protected metadata error
|
|
MINOR, CACHE, H5E_NOTCACHED, Metadata not currently cached
|
|
MINOR, CACHE, H5E_SYSTEM, Internal error detected
|
|
MINOR, CACHE, H5E_CANTINS, Unable to insert metadata into cache
|
|
MINOR, CACHE, H5E_CANTPROTECT, Unable to protect metadata
|
|
MINOR, CACHE, H5E_CANTUNPROTECT, Unable to unprotect metadata
|
|
MINOR, CACHE, H5E_CANTPIN, Unable to pin cache entry
|
|
MINOR, CACHE, H5E_CANTUNPIN, Unable to un-pin cache entry
|
|
MINOR, CACHE, H5E_CANTMARKDIRTY, Unable to mark a pinned entry as dirty
|
|
MINOR, CACHE, H5E_CANTMARKCLEAN, Unable to mark a pinned entry as clean
|
|
MINOR, CACHE, H5E_CANTMARKUNSERIALIZED, Unable to mark an entry as unserialized
|
|
MINOR, CACHE, H5E_CANTMARKSERIALIZED, Unable to mark an entry as serialized
|
|
MINOR, CACHE, H5E_CANTDIRTY, Unable to mark metadata as dirty
|
|
MINOR, CACHE, H5E_CANTCLEAN, Unable to mark metadata as clean
|
|
MINOR, CACHE, H5E_CANTEXPUNGE, Unable to expunge a metadata cache entry
|
|
MINOR, CACHE, H5E_CANTRESIZE, Unable to resize a metadata cache entry
|
|
MINOR, CACHE, H5E_CANTDEPEND, Unable to create a flush dependency
|
|
MINOR, CACHE, H5E_CANTUNDEPEND, Unable to destroy a flush dependency
|
|
MINOR, CACHE, H5E_CANTNOTIFY, Unable to notify object about action
|
|
MINOR, CACHE, H5E_LOGGING, Failure in the cache logging framework
|
|
MINOR, CACHE, H5E_CANTCORK, Unable to cork an object
|
|
MINOR, CACHE, H5E_CANTUNCORK, Unable to uncork an object
|
|
|
|
# B-tree related errors
|
|
MINOR, BTREE, H5E_NOTFOUND, Object not found
|
|
MINOR, BTREE, H5E_EXISTS, Object already exists
|
|
MINOR, BTREE, H5E_CANTENCODE, Unable to encode value
|
|
MINOR, BTREE, H5E_CANTDECODE, Unable to decode value
|
|
MINOR, BTREE, H5E_CANTSPLIT, Unable to split node
|
|
MINOR, BTREE, H5E_CANTREDISTRIBUTE, Unable to redistribute records
|
|
MINOR, BTREE, H5E_CANTSWAP, Unable to swap records
|
|
MINOR, BTREE, H5E_CANTINSERT, Unable to insert object
|
|
MINOR, BTREE, H5E_CANTLIST, Unable to list node
|
|
MINOR, BTREE, H5E_CANTMODIFY, Unable to modify record
|
|
MINOR, BTREE, H5E_CANTREMOVE, Unable to remove object
|
|
MINOR, BTREE, H5E_CANTFIND, Unable to check for record
|
|
|
|
# Object header related errors
|
|
MINOR, OHDR, H5E_LINKCOUNT, Bad object header link count
|
|
MINOR, OHDR, H5E_VERSION, Wrong version number
|
|
MINOR, OHDR, H5E_ALIGNMENT, Alignment error
|
|
MINOR, OHDR, H5E_BADMESG, Unrecognized message
|
|
MINOR, OHDR, H5E_CANTDELETE, Can't delete message
|
|
MINOR, OHDR, H5E_BADITER, Iteration failed
|
|
MINOR, OHDR, H5E_CANTPACK, Can't pack messages
|
|
MINOR, OHDR, H5E_CANTRESET, Can't reset object
|
|
MINOR, OHDR, H5E_CANTRENAME, Unable to rename object
|
|
|
|
# Group related errors
|
|
MINOR, GROUP, H5E_CANTOPENOBJ, Can't open object
|
|
MINOR, GROUP, H5E_CANTCLOSEOBJ, Can't close object
|
|
MINOR, GROUP, H5E_COMPLEN, Name component is too long
|
|
MINOR, GROUP, H5E_PATH, Problem with path to object
|
|
|
|
# Datatype conversion errors
|
|
MINOR, TYPECONV, H5E_CANTCONVERT, Can't convert datatypes
|
|
MINOR, TYPECONV, H5E_BADSIZE, Bad size for object
|
|
|
|
# Dataspace errors
|
|
MINOR, DSPACE, H5E_CANTCLIP, Can't clip hyperslab region
|
|
MINOR, DSPACE, H5E_CANTCOUNT, Can't count elements
|
|
MINOR, DSPACE, H5E_CANTSELECT, Can't select hyperslab
|
|
MINOR, DSPACE, H5E_CANTNEXT, Can't move to next iterator location
|
|
MINOR, DSPACE, H5E_BADSELECT, Invalid selection
|
|
MINOR, DSPACE, H5E_CANTCOMPARE, Can't compare objects
|
|
MINOR, DSPACE, H5E_INCONSISTENTSTATE, Internal states are inconsistent
|
|
MINOR, DSPACE, H5E_CANTAPPEND, Can't append object
|
|
|
|
# Property list errors
|
|
MINOR, PLIST, H5E_CANTGET, Can't get value
|
|
MINOR, PLIST, H5E_CANTSET, Can't set value
|
|
MINOR, PLIST, H5E_DUPCLASS, Duplicate class name in parent class
|
|
MINOR, PLIST, H5E_SETDISALLOWED, Disallowed operation
|
|
|
|
# Link errors
|
|
MINOR, LINK, H5E_TRAVERSE, Link traversal failure
|
|
MINOR, LINK, H5E_NLINKS, Too many soft links in path
|
|
MINOR, LINK, H5E_NOTREGISTERED, Link class not registered
|
|
MINOR, LINK, H5E_CANTMOVE, Can't move object
|
|
MINOR, LINK, H5E_CANTSORT, Can't sort objects
|
|
|
|
# Parallel MPI errors
|
|
MINOR, MPI, H5E_MPI, Some MPI function failed
|
|
MINOR, MPI, H5E_MPIERRSTR, MPI Error String
|
|
MINOR, MPI, H5E_CANTRECV, Can't receive data
|
|
MINOR, MPI, H5E_CANTGATHER, Can't gather data
|
|
MINOR, MPI, H5E_NO_INDEPENDENT, Can't perform independent IO
|
|
|
|
# Heap errors
|
|
MINOR, HEAP, H5E_CANTRESTORE, Can't restore condition
|
|
MINOR, HEAP, H5E_CANTCOMPUTE, Can't compute value
|
|
MINOR, HEAP, H5E_CANTEXTEND, Can't extend heap's space
|
|
MINOR, HEAP, H5E_CANTATTACH, Can't attach object
|
|
MINOR, HEAP, H5E_CANTUPDATE, Can't update object
|
|
MINOR, HEAP, H5E_CANTOPERATE, Can't operate on object
|
|
|
|
# Free space manager errors
|
|
MINOR, FSPACE, H5E_CANTMERGE, Can't merge objects
|
|
MINOR, FSPACE, H5E_CANTREVIVE, Can't revive object
|
|
MINOR, FSPACE, H5E_CANTSHRINK, Can't shrink container
|
|
|
|
# I/O pipeline errors
|
|
MINOR, PIPELINE, H5E_NOFILTER, Requested filter is not available
|
|
MINOR, PIPELINE, H5E_CALLBACK, Callback failed
|
|
MINOR, PIPELINE, H5E_CANAPPLY, Error from filter 'can apply' callback
|
|
MINOR, PIPELINE, H5E_SETLOCAL, Error from filter 'set local' callback
|
|
MINOR, PIPELINE, H5E_NOENCODER, Filter present but encoding disabled
|
|
MINOR, PIPELINE, H5E_CANTFILTER, Filter operation failed
|
|
|
|
# System level errors
|
|
MINOR, SYSTEM, H5E_SYSERRSTR, System error message
|
|
|
|
# Plugin errors
|
|
MINOR, PLUGIN, H5E_OPENERROR, Can't open directory or file
|
|
|
|
# Map related errors
|
|
MINOR, MAP, H5E_CANTPUT, Can't put value
|
|
|
|
# Asynchronous operation errors
|
|
MINOR, ASYNC, H5E_CANTWAIT, Can't wait on operation
|
|
MINOR, ASYNC, H5E_CANTCANCEL, Can't cancel operation
|
|
|
|
# No error, for backward compatibility */
|
|
MINOR, NONE, H5E_NONE_MINOR, No error
|