File: return_code.rst

package info (click to toggle)
groonga 15.0.4%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 163,080 kB
  • sloc: ansic: 770,564; cpp: 48,925; ruby: 40,447; javascript: 10,250; yacc: 7,045; sh: 5,602; python: 2,821; makefile: 1,672
file content (130 lines) | stat: -rw-r--r-- 4,125 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
.. -*- rst -*-

Return code
===========

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 :doc:`output_format` about the
header element in query API.

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``

Detail
------

.. toctree::
   :maxdepth: 1

   return_codes/grn_operation_not_permitted.rst
   return_codes/grn_no_such_file_or_directory.rst
   return_codes/grn_input_output_error.rst
   return_codes/grn_not_enough_space.rst
   return_codes/grn_invalid_argument.rst
   return_codes/grn_resource_deadlock_avoided.rst

See also
--------

* :doc:`output_format` shows where return code is appeared in query
  API response.
* :doc:`/spec/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.