This new error code, named file_name_too_long, maps internally to the
errno ENAMETOOLONG to produce a proper error code rather than an
internal code under errcode_for_file_access(). This error code can be
reached with some SQL command patterns, like a snapshot file name.
Reported-by: Alexander Lakhin
Reviewed-by: Daniel Gustafsson
Discussion: https://postgr.es/m/
[email protected]
58030 E ERRCODE_IO_ERROR io_error
58P01 E ERRCODE_UNDEFINED_FILE undefined_file
58P02 E ERRCODE_DUPLICATE_FILE duplicate_file
+58P03 E ERRCODE_FILE_NAME_TOO_LONG file_name_too_long
Section: Class F0 - Configuration File Error
edata->sqlerrcode = ERRCODE_IO_ERROR;
break;
+ case ENAMETOOLONG: /* File name too long */
+ edata->sqlerrcode = ERRCODE_FILE_NAME_TOO_LONG;
+ break;
+
/* All else is classified as internal errors */
default:
edata->sqlerrcode = ERRCODE_INTERNAL_ERROR;