[
https://issues.jboss.org/browse/TEIID-5295?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-5295:
---------------------------------------
Is this supposed to ignore the date-part stored in MongoDB and only
view the time part? Do I get this correctly?
What you have shown above is in the physical model and is not fully supported by the
mongodb translator. Mongodb has a date type that corresponds to our timestamp type -
https://docs.mongodb.com/manual/reference/bson-types/#timestamps
At best this is undefined behavior.
You can instead use a view to handle the conversion:
CREATE FOREIGN TABLE SmallA ... TIMEVAULE timestamp ...
CREATE VIEW SmallA_VIEW ... TIMEVAULE time ... AS SELECT ... cast(TIMEVALUE as time) as
TIMEVALUE ...
However this will prevent most pushown as the conversion function is not supported by the
mongodb translator.
We can certainly update the mongodb translator docs as to the supported types as well.
Comparisons of time values don't work correctly for MongoDB
-----------------------------------------------------------
Key: TEIID-5295
URL:
https://issues.jboss.org/browse/TEIID-5295
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.11.6_4
Reporter: Jan Martiska
Assignee: Steven Hawkins
Examples of queries which don't behave as expected when running against MongoDB:
{noformat}
SELECT BQT1.SmallA.TimeValue FROM BQT1.SmallA WHERE BQT1.SmallA.TimeValue >
'17:00:00'
{noformat}
returns ALL timevalues which are not null
{noformat}
SELECT BQT1.SmallA.TimeValue FROM BQT1.SmallA WHERE BQT1.SmallA.TimeValue <
'17:00:00'
{noformat}
returns NO timevalues even though there are some less than 17:00
{noformat}
SELECT BQT1.SmallA.TimeValue FROM BQT1.SmallA WHERE BQT1.SmallA.TimeValue =
'15:00:00'
{noformat}
returns nothing
{noformat}
SELECT BQT1.SmallA.IntKey FROM BQT1.SmallA WHERE BQT1.SmallA.TimeValue IN
(convert('05:00:00', time), convert('15:00:00', time))
{noformat}
returns nothing
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)