Re: Remove unnecessary else branch

From: Li Japin <japinli(at)hotmail(dot)com>
To: Hamid Akhtar <hamid(dot)akhtar(at)gmail(dot)com>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Remove unnecessary else branch
Date: 2020-10-13 15:03:13
Message-ID: E11B1A73-131A-4A79-A87F-2C303FC01938@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Oct 13, 2020, at 9:59 PM, Hamid Akhtar <hamid(dot)akhtar(at)gmail(dot)com<mailto:hamid(dot)akhtar(at)gmail(dot)com>> wrote:

On Tue, Oct 13, 2020 at 6:37 PM Heikki Linnakangas <hlinnaka(at)iki(dot)fi<mailto:hlinnaka(at)iki(dot)fi>> wrote:
On 13/10/2020 16:30, Li Japin wrote:
> Hi,
>
> I found in guc-file.l we can omit the else branch in AbsoluteConfigLocation().

It will compile the same, so it's just a matter of code readability or
taste which style is better here. I think we should leave it alone, it's
fine as it is.

- Heikki

I agree with Heikki from the code execution point of view.

In code execution point of view they are same, however, the code is for user, i think the readability is also important.

"canonicalize_path(abs_path);" statement is also condition independent and can be pulled out of both if and else blocks. Removing unnecessary statements makes the code more readable, but it is a matter of choice/style.

+1

diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l
index c98e220295..b3549665ef 100644
--- a/src/backend/utils/misc/guc-file.l
+++ b/src/backend/utils/misc/guc-file.l
@@ -522,23 +522,21 @@ AbsoluteConfigLocation(const char *location, const char *calling_file)

if (is_absolute_path(location))
return pstrdup(location);
+
+ if (calling_file != NULL)
+ {
+ strlcpy(abs_path, calling_file, sizeof(abs_path));
+ get_parent_directory(abs_path);
+ join_path_components(abs_path, abs_path, location);
+ }
else
{
- if (calling_file != NULL)
- {
- strlcpy(abs_path, calling_file, sizeof(abs_path));
- get_parent_directory(abs_path);
- join_path_components(abs_path, abs_path, location);
- canonicalize_path(abs_path);
- }
- else
- {
- AssertState(DataDir);
- join_path_components(abs_path, DataDir, location);
- canonicalize_path(abs_path);
- }
- return pstrdup(abs_path);
+ AssertState(DataDir);
+ join_path_components(abs_path, DataDir, location);
}
+
+ canonicalize_path(abs_path);
+ return pstrdup(abs_path);
}

--
Best regards
Japin Li

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-10-13 15:16:56 Re: Assertion failure with LEFT JOINs among >500 relations
Previous Message Li Japin 2020-10-13 15:03:01 Re: Remove unnecessary else branch