7.3.7. Return code#
7.3.7.1. Summary#
Return code is used to show whether a processing is succeeded or not. If the processing is not succeeded, return code shows error type.
Return code is used in C API and query API. You can check return code
via grn_ctx_t::rc
in C API. You can check return code by looking
the header element in query API. See Output format about the
header element in query API.
7.3.7.2. List#
Here is a list of return codes. GRN_SUCCESS
(= 0) means that the
processing is succeeded. Return codes that have negative value show
error type. GRN_END_OF_DATA
is a special return code. It is used
only C API. It is not showen in query API.
0:
GRN_SUCCESS
1:
GRN_END_OF_DATA
-1:
GRN_UNKNOWN_ERROR
-2:
GRN_OPERATION_NOT_PERMITTED
-3:
GRN_NO_SUCH_FILE_OR_DIRECTORY
-4:
GRN_NO_SUCH_PROCESS
-5:
GRN_INTERRUPTED_FUNCTION_CALL
-6:
GRN_INPUT_OUTPUT_ERROR
-7:
GRN_NO_SUCH_DEVICE_OR_ADDRESS
-8:
GRN_ARG_LIST_TOO_LONG
-9:
GRN_EXEC_FORMAT_ERROR
-10:
GRN_BAD_FILE_DESCRIPTOR
-11:
GRN_NO_CHILD_PROCESSES
-12:
GRN_RESOURCE_TEMPORARILY_UNAVAILABLE
-13:
GRN_NOT_ENOUGH_SPACE
-14:
GRN_PERMISSION_DENIED
-15:
GRN_BAD_ADDRESS
-16:
GRN_RESOURCE_BUSY
-17:
GRN_FILE_EXISTS
-18:
GRN_IMPROPER_LINK
-19:
GRN_NO_SUCH_DEVICE
-20:
GRN_NOT_A_DIRECTORY
-21:
GRN_IS_A_DIRECTORY
-22:
GRN_INVALID_ARGUMENT
-23:
GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM
-24:
GRN_TOO_MANY_OPEN_FILES
-25:
GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION
-26:
GRN_FILE_TOO_LARGE
-27:
GRN_NO_SPACE_LEFT_ON_DEVICE
-28:
GRN_INVALID_SEEK
-29:
GRN_READ_ONLY_FILE_SYSTEM
-30:
GRN_TOO_MANY_LINKS
-31:
GRN_BROKEN_PIPE
-32:
GRN_DOMAIN_ERROR
-33:
GRN_RESULT_TOO_LARGE
-34:
GRN_RESOURCE_DEADLOCK_AVOIDED
-35:
GRN_NO_MEMORY_AVAILABLE
-36:
GRN_FILENAME_TOO_LONG
-37:
GRN_NO_LOCKS_AVAILABLE
-38:
GRN_FUNCTION_NOT_IMPLEMENTED
-39:
GRN_DIRECTORY_NOT_EMPTY
-40:
GRN_ILLEGAL_BYTE_SEQUENCE
-41:
GRN_SOCKET_NOT_INITIALIZED
-42:
GRN_OPERATION_WOULD_BLOCK
-43:
GRN_ADDRESS_IS_NOT_AVAILABLE
-44:
GRN_NETWORK_IS_DOWN
-45:
GRN_NO_BUFFER
-46:
GRN_SOCKET_IS_ALREADY_CONNECTED
-47:
GRN_SOCKET_IS_NOT_CONNECTED
-48:
GRN_SOCKET_IS_ALREADY_SHUTDOWNED
-49:
GRN_OPERATION_TIMEOUT
-50:
GRN_CONNECTION_REFUSED
-51:
GRN_RANGE_ERROR
-52:
GRN_TOKENIZER_ERROR
-53:
GRN_FILE_CORRUPT
-54:
GRN_INVALID_FORMAT
-55:
GRN_OBJECT_CORRUPT
-56:
GRN_TOO_MANY_SYMBOLIC_LINKS
-57:
GRN_NOT_SOCKET
-58:
GRN_OPERATION_NOT_SUPPORTED
-59:
GRN_ADDRESS_IS_IN_USE
-60:
GRN_ZLIB_ERROR
-61:
GRN_LZO_ERROR
-62:
GRN_STACK_OVER_FLOW
-63:
GRN_SYNTAX_ERROR
-64:
GRN_RETRY_MAX
-65:
GRN_INCOMPATIBLE_FILE_FORMAT
-66:
GRN_UPDATE_NOT_ALLOWED
-67:
GRN_TOO_SMALL_OFFSET
-68:
GRN_TOO_LARGE_OFFSET
-69:
GRN_TOO_SMALL_LIMIT
-70:
GRN_CAS_ERROR
-71:
GRN_UNSUPPORTED_COMMAND_VERSION
-72:
GRN_NORMALIZER_ERROR
-73:
GRN_TOKEN_FILTER_ERROR
-74:
GRN_COMMAND_ERROR
-75:
GRN_PLUGIN_ERROR
-76:
GRN_SCORER_ERROR
-77:
GRN_CANCEL
-78:
GRN_WINDOW_FUNCTION_ERROR
-79:
GRN_ZSTD_ERROR
-80:
GRN_CONNECTION_RESET
7.3.7.3. Detail#
7.3.7.4. See also#
Output format shows where return code is appeared in query API response.
GQTP: GQTP protocol also uses return code as status but it uses 2byte unsigned integer. So return codes that have negative value are statuses that have positive value in GQTP protocol. You can convert status value in GQTP protocol to return code by handling it as 2byte signed integer.