[ODBC-29] IBM Cognos fails to work with MariaDB with Optional Feature is not implemented error Created: 2016-01-09  Updated: 2017-05-22

Status: Open
Project: MariaDB Connector/ODBC
Component/s: None
Affects Version/s: 1.0.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Rambabu Makireddi Assignee: Lawrin Novitsky
Resolution: Unresolved Votes: 1
Labels: None
Environment:

windows 2012;


Attachments: Text File Sample_Query_SQL.LOG     Text File Tableau_Cognos_SQL.LOG     Text File cogserver.log     File maodbc.dll     Java Source File sample.java     JPEG File screenshot1.jpg     JPEG File screenshot2.jpg     JPEG File screenshot3.jpg    

 Description   

1. Installed ODBC1.0.5 64 bit driver and created a System DSN
2. Trying to run a simple select statement using attached sample.java program and it works fine. However if I give 2 spaces just before SELECT clause then it couldn't execute the query. Refer screenshot1.

3. When I try to execute a query using IBM Cognos Framework manager reporting tool, I see the below error even for a simple "select * from table" query
Refer screenshot2.

4. When I try to query using Tableau reporting tool, I see the following warnings,
Refer screenshot3.



 Comments   
Comment by Lawrin Novitsky [ 2016-01-09 ]

Thank you for your report!

Would it be possible to attach ODBC trace logs for each of described error? I don't have your application, and it is not quite easy to imagine what does it do with ODBC driver behind the scene. I guess I could find out why extra spaces before SELECT cause a problem, because the error description gives some clues. But even that problem would be much easier to understand and solve with the trace file.

Last warnings looks like real MariaDB server limitations. But it is still curious to see in the trace how does Tableau draw such conclusions.

Comment by Rambabu Makireddi [ 2016-01-09 ]

could you suggest me how to enable ODBC trace logs so that i will enable and send the logs. thanks.

Comment by Lawrin Novitsky [ 2016-01-09 ]

In the ODBC Data Source Administrator there is "Thacing" tab. There you can turn it on and off, and select trace file location. You are welcome.

Comment by Rambabu Makireddi [ 2016-01-12 ]

Please refer attached logs Sample_Query_sql.log & Tableau_Cognos_sql.log. The BMT messages refer Cognos. Let me know if i miss anything.

Comment by Lawrin Novitsky [ 2016-01-12 ]

Thank you, I will look into them.
I am also curious to see the log for warnings from reporting tool

Comment by Rambabu Makireddi [ 2016-01-12 ]

Please review the Cogserver.log for IBM Cognos.

Comment by Lawrin Novitsky [ 2016-01-16 ]

Thanks. But I was incorrect in my previous request. I thought log(trace) for warnings in Tableu had been missing. But it was already here, while trace for item 3 in your report - "When I try to execute a query using IBM Cognos Framework manager reporting tool, I see the below error even for a simple "select * from table" query. Refer screenshot2." - is still missing.

I could already verify item 2 - it was the bug in connector. It's been fixed and the fix has been pushed.

It looks like Tableau_Cognos_SQL.LOG was generated for some MySQL ODBC driver. Some answers on SQLGetInfo make me think so. In most cases it doesn't really matter, since those warnings probably caused by server constraints shared by both MySQL and MariaDB servers. But still would be better to have trace for MariaDB Connector/ODBC

Comment by Rambabu Makireddi [ 2016-01-22 ]

The Tableau_Cognos_SQL.LOG contains logs for both Item 3. Refer the messages with BMT which talks about Cognos Framework manager.

Comment by Rambabu Makireddi [ 2016-01-22 ]

Let me know if this doesn't help.

Also you mentioned that item2 bug is fixed. can you refer me the latest build so that i will download and test. thank you.

Comment by Rambabu Makireddi [ 2016-01-25 ]

Any updates would be really helpful? Thank you.

Comment by Lawrin Novitsky [ 2016-01-27 ]

Fix will be in the next public release. I can post the dll here if you want to try

In the Tableau_Cognos_SQL.LOG is much larger in size and takes longer to analyze. I can't see there any "select * from table" failing. Perhaps error occurs not directly at preparation/execution time, but at later time, either while fetching data or metadata or because of wrong metadata. All I can is see repeating error on SQLColAttributeW on 2 attributes - SQL_DESC_NULLABLE and SQL_DESC_NUM_PREC_RADIX. They do not look fatal, and application execution continues after them. And that is a bit strange - at least SQL_DESC_NULLABLE is supported. That renews my suspicion that Tableau_Cognos_SQL.LOG was generated not fro MariaDB connector. The other strange thing is that DM labels both as "unknown" attributes in the trace.
There are several statement failures. Some of them look like probing of DB capabilities, and use syntax not supported by MariaDB/MySQL(like SELECT TOP).
This query "SELECT `storage_dimension`.`manufacturer` AS `manufacturer`, SUM(`storage_and_storage_pool_capacity_fact`.`rawCapacityMB`) AS `sum_rawCapacityMB_ok`,
CAST(

{fn TRUNCATE(EXTRACT(YEAR FROM `date_dimension`.`fullDate`),0)}

AS INTEGER) AS `yr_fullDate_ok`
FROM `storage_and_storage_pool_capacity_fact` INNER JOIN `storage_dimension`
ON (`storage_and_storage_pool_capacity_fact`.`dateTk` = `storage_dimension`.`dateTk`) INNER JOIN `date_dimension`
ON (`storage_and_storage_pool_capacity_fact`.`tk` = `date_dimension`.`tk`)
GROUP BY 1, 3" fails not clear at the moment reason. The place in the statement where error message points("You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTEGER) AS `yr_fullDate_ok`") looks valid. Is it possible to provide structure of the tables used in the query?

Comment by Rambabu Makireddi [ 2016-01-27 ]

1. Yes, please provide the dll.

2. I have ran this "select `date_dimension`.`fullDate` from `date_dimension` `date_dimension`" query when generating the logs. Both "Select *" and this query generates the same error. You can find the logs on this query under BMT messages.

3. Here is the structure of the date_dimension table,
CREATE TABLE `date_dimension` (
`tk` int(11) NOT NULL AUTO_INCREMENT COMMENT 'TK of the date object.',
`fullDate` datetime NOT NULL COMMENT 'Date of the date object.',
`dayInMonth` tinyint(4) NOT NULL COMMENT 'Day of the month for the date object. The first day of the month has value 1.',
`dayInYear` smallint(6) NOT NULL COMMENT 'Day in year of the date object. The first day of the year has value 1.',
`dateYear` smallint(6) NOT NULL COMMENT 'Year of the date object.',
`yearLabel` char(4) NOT NULL COMMENT 'Year formatted as String',
`monthNum` tinyint(4) NOT NULL COMMENT 'Month of the date object. January has value 1.',
`monthLabel` char(7) NOT NULL COMMENT 'Month formatted as String',
`dayInWeekNum` tinyint(4) NOT NULL COMMENT 'Day of the week for the date object. Sunday has value 1.',
`quarter` tinyint(4) NOT NULL COMMENT 'Quarter of the date object. First quarter has value 1.',
`quarterLabel` char(7) NOT NULL COMMENT 'Quarter formatted as String',
`dayInQuarter` smallint(6) NOT NULL COMMENT 'Day in quarter of the date object. First day of the quarter has value 1.',
`repQuarter` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is the first date available for its quarter.',
`repMonth` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is the first date available for its month.',
`repWeek` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is the first date available for its week.',
`repDay` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is the first date available for its day.',
`repMonthOrLatest` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is the repmonth or the latest. This flag is used by Datamarts which works on monthly reps. Only difference being for the current month it is the latest',
`sspFlag` tinyint(4) NOT NULL COMMENT 'Indicates whether this date is used in Storage and Storage Pool Datamart. It is true for month representatives and for the last number of days as defined in configuration.',
`latest` tinyint(1) DEFAULT NULL COMMENT 'Indicates whether this date is the last date available in the table.',
`future` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Indicates whether this date is a future date (projection) or regular one.',
PRIMARY KEY (`tk`),
KEY `idx_date_dimension_repQuarter` (`repQuarter`),
KEY `idx_date_dimension_repMonth` (`repMonth`),
KEY `idx_date_dimension_repWeek` (`repWeek`),
KEY `idx_date_dimension_repDay` (`repDay`),
KEY `latest_index` (`latest`),
KEY `idx_date_dimension_repMonthOrLatest` (`repMonthOrLatest`),
KEY `future_index` (`future`),
KEY `idx_date_dimension_sspFlag` (`sspFlag`)
)

Please let me know if you need any more information. thanks.

Comment by Lawrin Novitsky [ 2016-02-18 ]

I am afraid you did not notice that - I attached connector dll file here

Comment by Rambabu Makireddi [ 2016-02-24 ]

Thank you so much. I have tested with latest dll file and it addresses the basic query issues with Cognos. I notice that some of the reports work fine but others fail. So far i noticed that the failed reports have complex queries and prompts in the back end. I will find exact root cause for them and update you. thank you.

Comment by Sesidhar [ 2017-05-22 ]

Hi Rambabu/Novitsky,

Would like to know the exact outcome of this issue. Also, more importantly would like to know whether MariaDB is compatible with Cognos? If so, what versions of the software it will support. Whether cognos 10.2.2 is compatible with MaraiaDB?

Comment by Sesidhar [ 2017-05-22 ]

Hi Rambabu/Novitsky,

Would like to know the exact outcome of this issue. Also, more importantly would like to know whether MariaDB is compatible with Cognos? If so, what versions of the software it will support. Whether cognos 10.2.2 is compatible with MaraiaDB?

Generated at Thu Feb 08 03:25:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.