From 1de9615a58c0147c447f6debf20ed25390884412 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 26 Aug 2003 21:15:27 +0000
Subject: [PATCH] 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.

---
 src/backend/utils/error/elog.c | 12 ++++++------
 src/include/utils/errcodes.h   |  4 +++-
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 0a4d85436d1..15d6a1bb68d 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -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;
 
diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h
index 8db8e52320c..13e42cf1b9d 100644
--- a/src/include/utils/errcodes.h
+++ b/src/include/utils/errcodes.h
@@ -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')
-- 
GitLab