susumu.yata
null+****@clear*****
Thu Jul 9 13:13:39 JST 2015
susumu.yata 2015-07-09 13:13:39 +0900 (Thu, 09 Jul 2015) New Revision: e376b5152d7a56a5b101c7788c9abfbc7207cf65 https://github.com/groonga/grngo/commit/e376b5152d7a56a5b101c7788c9abfbc7207cf65 Message: Add a function to convert grn_rc to string. GitHub: #12 Modified files: grngo.go Modified: grngo.go (+163 -0) =================================================================== --- grngo.go 2015-07-09 12:25:41 +0900 (5ca82f9) +++ grngo.go 2015-07-09 13:13:39 +0900 (b90d7ec) @@ -14,6 +14,169 @@ import ( // -- Errors -- +func (rc C.grn_rc) String() string { + switch rc { + case C.GRN_SUCCESS: + return "GRN_SUCCESS" + case C.GRN_END_OF_DATA: + return "GRN_END_OF_DATA" + case C.GRN_UNKNOWN_ERROR: + return "GRN_UNKNOWN_ERROR" + case C.GRN_OPERATION_NOT_PERMITTED: + return "GRN_OPERATION_NOT_PERMITTED" + case C.GRN_NO_SUCH_FILE_OR_DIRECTORY: + return "GRN_NO_SUCH_FILE_OR_DIRECTORY" + case C.GRN_NO_SUCH_PROCESS: + return "GRN_NO_SUCH_PROCESS" + case C.GRN_INTERRUPTED_FUNCTION_CALL: + return "GRN_INTERRUPTED_FUNCTION_CALL" + case C.GRN_INPUT_OUTPUT_ERROR: + return "GRN_INPUT_OUTPUT_ERROR" + case C.GRN_NO_SUCH_DEVICE_OR_ADDRESS: + return "GRN_NO_SUCH_DEVICE_OR_ADDRESS" + case C.GRN_ARG_LIST_TOO_LONG: + return "GRN_ARG_LIST_TOO_LONG" + case C.GRN_EXEC_FORMAT_ERROR: + return "GRN_EXEC_FORMAT_ERROR" + case C.GRN_BAD_FILE_DESCRIPTOR: + return "GRN_BAD_FILE_DESCRIPTOR" + case C.GRN_NO_CHILD_PROCESSES: + return "GRN_NO_CHILD_PROCESSES" + case C.GRN_RESOURCE_TEMPORARILY_UNAVAILABLE: + return "GRN_RESOURCE_TEMPORARILY_UNAVAILABLE" + case C.GRN_NOT_ENOUGH_SPACE: + return "GRN_NOT_ENOUGH_SPACE" + case C.GRN_PERMISSION_DENIED: + return "GRN_PERMISSION_DENIED" + case C.GRN_BAD_ADDRESS: + return "GRN_BAD_ADDRESS" + case C.GRN_RESOURCE_BUSY: + return "GRN_RESOURCE_BUSY" + case C.GRN_FILE_EXISTS: + return "GRN_FILE_EXISTS" + case C.GRN_IMPROPER_LINK: + return "GRN_IMPROPER_LINK" + case C.GRN_NO_SUCH_DEVICE: + return "GRN_NO_SUCH_DEVICE" + case C.GRN_NOT_A_DIRECTORY: + return "GRN_NOT_A_DIRECTORY" + case C.GRN_IS_A_DIRECTORY: + return "GRN_IS_A_DIRECTORY" + case C.GRN_INVALID_ARGUMENT: + return "GRN_INVALID_ARGUMENT" + case C.GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM: + return "GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM" + case C.GRN_TOO_MANY_OPEN_FILES: + return "GRN_TOO_MANY_OPEN_FILES" + case C.GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION: + return "GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION" + case C.GRN_FILE_TOO_LARGE: + return "GRN_FILE_TOO_LARGE" + case C.GRN_NO_SPACE_LEFT_ON_DEVICE: + return "GRN_NO_SPACE_LEFT_ON_DEVICE" + case C.GRN_INVALID_SEEK: + return "GRN_INVALID_SEEK" + case C.GRN_READ_ONLY_FILE_SYSTEM: + return "GRN_READ_ONLY_FILE_SYSTEM" + case C.GRN_TOO_MANY_LINKS: + return "GRN_TOO_MANY_LINKS" + case C.GRN_BROKEN_PIPE: + return "GRN_BROKEN_PIPE" + case C.GRN_DOMAIN_ERROR: + return "GRN_DOMAIN_ERROR" + case C.GRN_RESULT_TOO_LARGE: + return "GRN_RESULT_TOO_LARGE" + case C.GRN_RESOURCE_DEADLOCK_AVOIDED: + return "GRN_RESOURCE_DEADLOCK_AVOIDED" + case C.GRN_NO_MEMORY_AVAILABLE: + return "GRN_NO_MEMORY_AVAILABLE" + case C.GRN_FILENAME_TOO_LONG: + return "GRN_FILENAME_TOO_LONG" + case C.GRN_NO_LOCKS_AVAILABLE: + return "GRN_NO_LOCKS_AVAILABLE" + case C.GRN_FUNCTION_NOT_IMPLEMENTED: + return "GRN_FUNCTION_NOT_IMPLEMENTED" + case C.GRN_DIRECTORY_NOT_EMPTY: + return "GRN_DIRECTORY_NOT_EMPTY" + case C.GRN_ILLEGAL_BYTE_SEQUENCE: + return "GRN_ILLEGAL_BYTE_SEQUENCE" + case C.GRN_SOCKET_NOT_INITIALIZED: + return "GRN_SOCKET_NOT_INITIALIZED" + case C.GRN_OPERATION_WOULD_BLOCK: + return "GRN_OPERATION_WOULD_BLOCK" + case C.GRN_ADDRESS_IS_NOT_AVAILABLE: + return "GRN_ADDRESS_IS_NOT_AVAILABLE" + case C.GRN_NETWORK_IS_DOWN: + return "GRN_NETWORK_IS_DOWN" + case C.GRN_NO_BUFFER: + return "GRN_NO_BUFFER" + case C.GRN_SOCKET_IS_ALREADY_CONNECTED: + return "GRN_SOCKET_IS_ALREADY_CONNECTED" + case C.GRN_SOCKET_IS_NOT_CONNECTED: + return "GRN_SOCKET_IS_NOT_CONNECTED" + case C.GRN_SOCKET_IS_ALREADY_SHUTDOWNED: + return "GRN_SOCKET_IS_ALREADY_SHUTDOWNED" + case C.GRN_OPERATION_TIMEOUT: + return "GRN_OPERATION_TIMEOUT" + case C.GRN_CONNECTION_REFUSED: + return "GRN_CONNECTION_REFUSED" + case C.GRN_RANGE_ERROR: + return "GRN_RANGE_ERROR" + case C.GRN_TOKENIZER_ERROR: + return "GRN_TOKENIZER_ERROR" + case C.GRN_FILE_CORRUPT: + return "GRN_FILE_CORRUPT" + case C.GRN_INVALID_FORMAT: + return "GRN_INVALID_FORMAT" + case C.GRN_OBJECT_CORRUPT: + return "GRN_OBJECT_CORRUPT" + case C.GRN_TOO_MANY_SYMBOLIC_LINKS: + return "GRN_TOO_MANY_SYMBOLIC_LINKS" + case C.GRN_NOT_SOCKET: + return "GRN_NOT_SOCKET" + case C.GRN_OPERATION_NOT_SUPPORTED: + return "GRN_OPERATION_NOT_SUPPORTED" + case C.GRN_ADDRESS_IS_IN_USE: + return "GRN_ADDRESS_IS_IN_USE" + case C.GRN_ZLIB_ERROR: + return "GRN_ZLIB_ERROR" + case C.GRN_LZ4_ERROR: + return "GRN_LZ4_ERROR" + case C.GRN_STACK_OVER_FLOW: + return "GRN_STACK_OVER_FLOW" + case C.GRN_SYNTAX_ERROR: + return "GRN_SYNTAX_ERROR" + case C.GRN_RETRY_MAX: + return "GRN_RETRY_MAX" + case C.GRN_INCOMPATIBLE_FILE_FORMAT: + return "GRN_INCOMPATIBLE_FILE_FORMAT" + case C.GRN_UPDATE_NOT_ALLOWED: + return "GRN_UPDATE_NOT_ALLOWED" + case C.GRN_TOO_SMALL_OFFSET: + return "GRN_TOO_SMALL_OFFSET" + case C.GRN_TOO_LARGE_OFFSET: + return "GRN_TOO_LARGE_OFFSET" + case C.GRN_TOO_SMALL_LIMIT: + return "GRN_TOO_SMALL_LIMIT" + case C.GRN_CAS_ERROR: + return "GRN_CAS_ERROR" + case C.GRN_UNSUPPORTED_COMMAND_VERSION: + return "GRN_UNSUPPORTED_COMMAND_VERSION" + case C.GRN_NORMALIZER_ERROR: + return "GRN_NORMALIZER_ERROR" + case C.GRN_TOKEN_FILTER_ERROR: + return "GRN_TOKEN_FILTER_ERROR" + case C.GRN_COMMAND_ERROR: + return "GRN_COMMAND_ERROR" + case C.GRN_PLUGIN_ERROR: + return "GRN_PLUGIN_ERROR" + case C.GRN_SCORER_ERROR: + return "GRN_SCORER_ERROR" + default: + return "N/A" + } +} + // newInvalidKeyTypeError returns an error for data type conflict. func newInvalidKeyTypeError(expected, actual DataType) error { return fmt.Errorf("invalid data type: expected = %s, actual = %s", expected, actual) -------------- next part -------------- HTML����������������������������...下载