Обсуждение: [pgadmin-hackers] inconsistent sql template path resolving
Hello fellow pgadmin hackers,
I was taking a look at some version-checking code and I noticed some inconsistencies in how we are picking what sql file to run:
ver = self.manager.versionversus:
if ver >= 90200:
self.template_path = 'exclusion_constraint/sql/9.2_plus'
elif ver >= 90100:
self.template_path = 'exclusion_constraint/sql/9.1_plus'
ver = self.manager.version
if ver >= 90600:
self.template_path = 'exclusion_constraint/sql/9.6_plus'
elif ver >= 90200:
self.template_path = 'exclusion_constraint/sql/9.2_plus'
elif ver >= 90100:
self.template_path = 'exclusion_constraint/sql/9.1_plus'
In this particular example the sql template file contents for 9.6+ and 9.1+ are identical so it wouldn't have any effect, but in general is there some reason this might be intentional? I'm planning on refactoring this code to:
self.template_path = resolve(self.manager, 'exclusion_constraint')
and making all the places behave the same way.
Thanks,
Tira
Nevermind, I think I figured it out. Some templates are resolved on 9.5_plus etc.
On Mon, Jan 23, 2017 at 3:31 PM, Atira Odhner <aodhner@pivotal.io> wrote:
Hello fellow pgadmin hackers,I was taking a look at some version-checking code and I noticed some inconsistencies in how we are picking what sql file to run:ver = self.manager.versionversus:
if ver >= 90200:
self.template_path = 'exclusion_constraint/sql/9.2_plus'
elif ver >= 90100:
self.template_path = 'exclusion_constraint/sql/9.1_plus'
ver = self.manager.version
if ver >= 90600:
self.template_path = 'exclusion_constraint/sql/9.6_plus'
elif ver >= 90200:
self.template_path = 'exclusion_constraint/sql/9.2_plus'
elif ver >= 90100:
self.template_path = 'exclusion_constraint/sql/9.1_plus' In this particular example the sql template file contents for 9.6+ and 9.1+ are identical so it wouldn't have any effect, but in general is there some reason this might be intentional? I'm planning on refactoring this code to:self.template_path = resolve(self.manager, 'exclusion_constraint')and making all the places behave the same way.Thanks,Tira