Re: Regarding conversion of SQL_TSI_DAY operator for Datetimeadd function in ODBC driver
"Inoue, Hiroshi" <[email protected]> Sat, 10 Aug 2019 09:56:04 +0900
| Newsgroups | gmane.comp.db.postgresql.odbc |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------08A65DB59698214945AE57BE
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi Scott,
Unfortunately neither TIMESTAMPADD() nor TIMESTAMPDIFF() is supported now.
Could you please try test drivers which would support them?
regards,
Hiroshi Inoue
On 2019/08/09 0:00, Scott Goley wrote:
> Hi,
>
> Platform / Version info:
>
> Postgres 11.4
> psqlODBC_x64 v 11.01.0000
>
> I'm a developer working with PowerQuery / ODBC and I'm running into
> the following issue.
>
>
> I'm developing a custom connector which is utilizing this driver. I've
> attached the logs as requested when making a bug report. It looks like
> the SQL_TSI_DAY operator is being "interpreted" by the driver as a
> column reference rather than making the necessary conversion to the
> correct datetimeadd "interval" .
>
> I'm attaching the connector file - ODBCPostgresDirect simply because
> it contains all the flags that I'm setting for SQLCapabilities, ODBC
> function overrides etc.
>
> Any input on this would be helpful.
>
> Best,
> Scott
---
=E3=81=93=E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=AF=E3=80=81AVG =E3=81=
=AB=E3=82=88=E3=81=A3=E3=81=A6=E3=82=A6=E3=82=A4=E3=83=AB=E3=82=B9 =E3=83=
=81=E3=82=A7=E3=83=83=E3=82=AF=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=BE=
=E3=81=99=E3=80=82
http://www.avg.com
--------------08A65DB59698214945AE57BE
Content-Type: multipart/related;
boundary="------------F491FC2CB406B8D6EE5969F8"
--------------F491FC2CB406B8D6EE5969F8
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8=
">
</head>
<body text=3D"#000000" bgcolor=3D"#FFFFFF">
Hi Scott,<br>
<br>
Unfortunately neither TIMESTAMPADD() nor TIMESTAMPDIFF() is
supported now.<br>
Could you please try test drivers which would support them?<br>
<br>
regards,<br>
Hiroshi Inoue<br>
<br>
<div class=3D"moz-cite-prefix">On 2019/08/09 0:00, Scott Goley wrote:<b=
r>
</div>
<blockquote type=3D"cite"
cite=3D"mid:[email protected]">
<meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUTF=
-8">
<div>Hi, </div>
<br>
<div>Platform / Version info:</div>
<br>
<div>Postgres 11.4</div>
<div>psqlODBC_x64 v 11.01.0000</div>
<br>
<div>I'm a developer working with PowerQuery / ODBC and I'm
running into the following issue. </div>
<br>
<div><img alt=3D""
src=3D"cid:[email protected]" class=3D"">=
</div>
<br>
<div>I'm developing a custom connector which is utilizing this
driver. I've attached the logs as requested when making a bug
report. It looks like the SQL_TSI_DAY operator is being
"interpreted" by the driver as a column reference rather than
making the necessary conversion to the correct datetimeadd
"interval" . </div>
<br>
<div>I'm attaching the connector file - ODBCPostgresDirect simply
because it contains all the flags that I'm setting for
SQLCapabilities, ODBC function overrides etc. </div>
<br>
<div>Any input on this would be helpful. </div>
<br>
<div>Best, </div>
<div>Scott<br>
</div>
</blockquote>
<div id=3D"DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /> <table style=3D"b=
order-top: 1px solid #D3D4DE;">
<tr>
<td style=3D"width: 55px; padding-top: 18px;"><a href=3D"http://www.a=
vg.com/email-signature?utm_medium=3Demail&utm_source=3Dlink&utm_campaign=3D=
sig-email&utm_content=3Demailclient" target=3D"_blank"><img src=3D"https://=
ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png" alt=3D""=
width=3D"46" height=3D"29" style=3D"width: 46px; height: 29px;" /></a></t=
d>
<td style=3D"width: 470px; padding-top: 17px; color: #41424e; font-size: =
13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">=E3=82=
=A6=E3=82=A4=E3=83=AB=E3=82=B9 =E3=83=95=E3=83=AA=E3=83=BC=EF=BD=A1 <a href=
=3D"http://www.avg.com/email-signature?utm_medium=3Demail&utm_source=3Dlink=
&utm_campaign=3Dsig-email&utm_content=3Demailclient" target=3D"_blank" styl=
e=3D"color: #4453ea;">www.avg.com</a> </td>
</tr>
</table>
<a href=3D"#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width=3D"1" height=3D"1">=
</a></div></body>
</html>
--------------F491FC2CB406B8D6EE5969F8
Content-Type: image/png;
name="Pasted File.png"
Content-Transfer-Encoding: base64
Content-ID: <[email protected]>
Content-Disposition: inline;
filename="Pasted File.png"
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
QmCC
--------------F491FC2CB406B8D6EE5969F8--
--------------08A65DB59698214945AE57BE--