public inbox for [email protected]  
help / color / mirror / Atom feed
Compatibility modes supported in ECPG
7+ messages / 2 participants
[nested] [flat]

* Compatibility modes supported in ECPG
@ 2018-01-10 11:44 Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Ashutosh Sharma @ 2018-01-10 11:44 UTC (permalink / raw)
  To: pgsql-interfaces

Hi All,

As per the documentation of ecpg, currently we support only two types
of compatibility modes with ecpg and they are 1) INFORMIX and 2)
INFORMIX_SE. However, it does accept any compatibility mode option
that starts with INFORMIX*. For e.g. let us say, if i pass
'INFORMIX_BAD_COMPAT_MODE' as a compatibility mode, it still accepts
it.

[ashu@localhost bin]$ ./ecpg -C INFORMIX_BAD_COMPAT_MODE test_compat_modes.pc
[ashu@localhost bin]$

Shouldn't we throw an error for this, instead of accepting it and
assuming it as INFORMIX_SE mode. Thoughts?

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com




^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
@ 2018-01-10 12:29 ` Michael Meskes <[email protected]>
  2018-01-10 15:40   ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Michael Meskes @ 2018-01-10 12:29 UTC (permalink / raw)
  To: Ashutosh Sharma <[email protected]>; +Cc: pgsql-interfaces

Hi,

> Shouldn't we throw an error for this, instead of accepting it and
> assuming it as INFORMIX_SE mode. Thoughts?

Yes, I'd say that would be better. :)

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL




^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
@ 2018-01-10 15:40   ` Ashutosh Sharma <[email protected]>
  2018-01-11 11:04     ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Ashutosh Sharma @ 2018-01-10 15:40 UTC (permalink / raw)
  To: Ashutosh Sharma <[email protected]>; pgsql-interfaces

On Wed, Jan 10, 2018 at 5:59 PM, Michael Meskes <[email protected]> wrote:
> Hi,
>
>> Shouldn't we throw an error for this, instead of accepting it and
>> assuming it as INFORMIX_SE mode. Thoughts?
>
> Yes, I'd say that would be better. :)
>

Thanks Michael. Shall i submit a patch for it. Also, what about making
the compatibility modes case insensitive. Currently, ecpg accepts
compatibility mode only in capital letters. In case if the INFORMIX or
INFORMIX_SE is entered in small or mixed type letter, ecpg throws an
error. Shouldn't that be handled as well?

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com

> Michael
> --
> Michael Meskes
> Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
> Meskes at (Debian|Postgresql) dot Org
> Jabber: michael at xmpp dot meskes dot org
> VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL




^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-10 15:40   ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
@ 2018-01-11 11:04     ` Michael Meskes <[email protected]>
  2018-01-11 12:43       ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Michael Meskes @ 2018-01-11 11:04 UTC (permalink / raw)
  To: [email protected]

> Thanks Michael. Shall i submit a patch for it. Also, what about 

Yes, please.

> making
> the compatibility modes case insensitive. Currently, ecpg accepts
> compatibility mode only in capital letters. In case if the INFORMIX
> or
> INFORMIX_SE is entered in small or mixed type letter, ecpg throws an
> error. Shouldn't that be handled as well?

Actually I don't mind either way. There is definitely an advantage of
having it case insensitive, but then options are known to be case
sensitive often enough.

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL




^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-10 15:40   ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-11 11:04     ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
@ 2018-01-11 12:43       ` Ashutosh Sharma <[email protected]>
  2018-01-12 15:01         ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Ashutosh Sharma @ 2018-01-11 12:43 UTC (permalink / raw)
  To: Michael Meskes <[email protected]>; +Cc: [email protected]

On Thu, Jan 11, 2018 at 4:34 PM, Michael Meskes <[email protected]> wrote:
>> Thanks Michael. Shall i submit a patch for it. Also, what about
>
> Yes, please.
>

Thanks. Attached are the patches
'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v1' and
'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v2' that fixes the
reported issues.

>> making
>> the compatibility modes case insensitive. Currently, ecpg accepts
>> compatibility mode only in capital letters. In case if the INFORMIX
>> or
>> INFORMIX_SE is entered in small or mixed type letter, ecpg throws an
>> error. Shouldn't that be handled as well?
>
> Actually I don't mind either way. There is definitely an advantage of
> having it case insensitive, but then options are known to be case
> sensitive often enough.
>

I feel we should make them case insensitive. The reason being, other
embedded SQL programming languages for e.g. Pro*C accepts case
insensitive options. So, why can't we make our ecpg options case
insensitive as well. Thoughts?

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com

> Michael
> --
> Michael Meskes
> Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
> Meskes at (Debian|Postgresql) dot Org
> Jabber: michael at xmpp dot meskes dot org
> VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
>


Attachments:

  [text/x-patch] Allow_ecpg_to_throw_error_for_wrong_compat_modes_v1.patch (535B, ../../CAE9k0PneuT62kyqDbhEdeod3rd6PZiLJum=3S6Vo4f6-htSPUQ@mail.gmail.com/2-Allow_ecpg_to_throw_error_for_wrong_compat_modes_v1.patch)
  download | inline diff:
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 8a14572..badf042 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -198,7 +198,7 @@ main(int argc, char *const argv[])
 				system_includes = true;
 				break;
 			case 'C':
-				if (strncmp(optarg, "INFORMIX", strlen("INFORMIX")) == 0)
+				if (strcmp(optarg, "INFORMIX") == 0 || strcmp(optarg, "INFORMIX_SE") == 0)
 				{
 					char		pkginclude_path[MAXPGPATH];
 					char		informix_path[MAXPGPATH];


  [text/x-patch] Allow_ecpg_to_throw_error_for_wrong_compat_modes_v2.patch (934B, ../../CAE9k0PneuT62kyqDbhEdeod3rd6PZiLJum=3S6Vo4f6-htSPUQ@mail.gmail.com/3-Allow_ecpg_to_throw_error_for_wrong_compat_modes_v2.patch)
  download | inline diff:
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 8a14572..cd770c8 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -198,12 +198,12 @@ main(int argc, char *const argv[])
 				system_includes = true;
 				break;
 			case 'C':
-				if (strncmp(optarg, "INFORMIX", strlen("INFORMIX")) == 0)
+				if (pg_strcasecmp(optarg, "INFORMIX") == 0 || pg_strcasecmp(optarg, "INFORMIX_SE") == 0)
 				{
 					char		pkginclude_path[MAXPGPATH];
 					char		informix_path[MAXPGPATH];
 
-					compat = (strcmp(optarg, "INFORMIX") == 0) ? ECPG_COMPAT_INFORMIX : ECPG_COMPAT_INFORMIX_SE;
+					compat = (pg_strcasecmp(optarg, "INFORMIX") == 0) ? ECPG_COMPAT_INFORMIX : ECPG_COMPAT_INFORMIX_SE;
 					get_pkginclude_path(my_exec_path, pkginclude_path);
 					snprintf(informix_path, MAXPGPATH, "%s/informix/esql", pkginclude_path);
 					add_include_path(informix_path);


^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-10 15:40   ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-11 11:04     ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-11 12:43       ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
@ 2018-01-12 15:01         ` Michael Meskes <[email protected]>
  2018-01-12 15:06           ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  0 siblings, 1 reply; 7+ messages in thread

From: Michael Meskes @ 2018-01-12 15:01 UTC (permalink / raw)
  To: Ashutosh Sharma <[email protected]>; +Cc: [email protected]

> Thanks. Attached are the patches
> 'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v1' and
> 'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v2' that fixes the
> reported issues.

Thanks, I just committed the case insensitive version.

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL




^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: Compatibility modes supported in ECPG
  2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-10 12:29 ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-10 15:40   ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-11 11:04     ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
  2018-01-11 12:43       ` Re: Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
  2018-01-12 15:01         ` Re: Compatibility modes supported in ECPG Michael Meskes <[email protected]>
@ 2018-01-12 15:06           ` Ashutosh Sharma <[email protected]>
  0 siblings, 0 replies; 7+ messages in thread

From: Ashutosh Sharma @ 2018-01-12 15:06 UTC (permalink / raw)
  To: Michael Meskes <[email protected]>; +Cc: [email protected]

On Jan 12, 2018 20:31, "Michael Meskes" <[email protected]> wrote:

> Thanks. Attached are the patches
> 'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v1' and
> 'Allow_ecpg_to_throw_error_for_wrong_compat_modes_v2' that fixes the
> reported issues.

Thanks, I just committed the case insensitive version.


Thank you :)


Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL


^ permalink  raw  reply  [nested|flat] 7+ messages in thread


end of thread, other threads:[~2018-01-12 15:06 UTC | newest]

Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2018-01-10 11:44 Compatibility modes supported in ECPG Ashutosh Sharma <[email protected]>
2018-01-10 12:29 ` Michael Meskes <[email protected]>
2018-01-10 15:40   ` Ashutosh Sharma <[email protected]>
2018-01-11 11:04     ` Michael Meskes <[email protected]>
2018-01-11 12:43       ` Ashutosh Sharma <[email protected]>
2018-01-12 15:01         ` Michael Meskes <[email protected]>
2018-01-12 15:06           ` Ashutosh Sharma <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox