mirror of https://github.com/postgres/postgres
Use separate SQLSTATE codes for file not found/file exists, rather than
lumping them into ERRCODE_UNDEFINED_OBJECT/ERRCODE_DUPLICATE_OBJECT. This seems reasonable since 'object' was meant to refer to 'object in the database' and a file is outside the database. Per request from Dave Cramer.
This commit is contained in:
parent
0b511f07e3
commit
1de9615a58
|
@ -37,7 +37,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.119 2003/08/08 21:42:11 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.120 2003/08/26 21:15:27 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -530,20 +530,20 @@ errcode_for_file_access(void)
|
|||
edata->sqlerrcode = ERRCODE_INSUFFICIENT_PRIVILEGE;
|
||||
break;
|
||||
|
||||
/* Object not found */
|
||||
/* File not found */
|
||||
case ENOENT: /* No such file or directory */
|
||||
edata->sqlerrcode = ERRCODE_UNDEFINED_OBJECT;
|
||||
edata->sqlerrcode = ERRCODE_UNDEFINED_FILE;
|
||||
break;
|
||||
|
||||
/* Duplicate object */
|
||||
/* Duplicate file */
|
||||
case EEXIST: /* File exists */
|
||||
edata->sqlerrcode = ERRCODE_DUPLICATE_OBJECT;
|
||||
edata->sqlerrcode = ERRCODE_DUPLICATE_FILE;
|
||||
break;
|
||||
|
||||
/* Wrong object type or state */
|
||||
case ENOTDIR: /* Not a directory */
|
||||
case EISDIR: /* Is a directory */
|
||||
case ENOTEMPTY: /* Directory not empty */
|
||||
case ENOTEMPTY: /* Directory not empty */
|
||||
edata->sqlerrcode = ERRCODE_WRONG_OBJECT_TYPE;
|
||||
break;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
*
|
||||
* Copyright (c) 2003, PostgreSQL Global Development Group
|
||||
*
|
||||
* $Id: errcodes.h,v 1.4 2003/08/04 00:43:32 momjian Exp $
|
||||
* $Id: errcodes.h,v 1.5 2003/08/26 21:15:27 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -294,6 +294,8 @@
|
|||
/* Class 58 - System Error (class borrowed from DB2) */
|
||||
/* (we define this as errors external to PostgreSQL itself) */
|
||||
#define ERRCODE_IO_ERROR MAKE_SQLSTATE('5','8', '0','3','0')
|
||||
#define ERRCODE_UNDEFINED_FILE MAKE_SQLSTATE('5','8', 'P','0','1')
|
||||
#define ERRCODE_DUPLICATE_FILE MAKE_SQLSTATE('5','8', 'P','0','2')
|
||||
|
||||
/* Class F0 - Configuration File Error (PostgreSQL-specific error class) */
|
||||
#define ERRCODE_CONFIG_FILE_ERROR MAKE_SQLSTATE('F','0', '0','0','0')
|
||||
|
|
Loading…
Reference in New Issue