Page 1 of 1

Issues after 8.3.2

Posted: Wed 02 Jun 2021 14:21
by MR2018
Windows 10 64bit, Delphi 7 Build 8.1, Oracle DB 12c with table having "DATEFIELD" DATE.
From regional settings decimal separator is "," and short date format "d.m.yyyy".
UniDac 8.3.2 is working with update query ParamByName('DATEFIELD').AsDateTime := Now; but later UniDac versions 8.4.1, 8.4.2 and 8.4.3 not anymore. Workaround was to define connection SpecificOptions.Values['DateFormat'] := 'YYYY-MM-DD' and then use ParamByName('DATEFIELD').AsString := FormatDateTime('YYYY-MM-DD', Now); It looks that regional settings are messing query parameters after version 8.3.2.
Another issue is a big increase of final exe size after upgrading from 8.3.2. With 8.3.2 exe size is 16,9 MB, but with 8.4.1 size is 17,6 MB. According to change history, there are no new features implemented, mainly bug fixes and reason for change is unknown. New issues were also found with MySQL queries but no changes mentioned in the history log. After SolarWinds case major increase of exe size without a good reason might indicate problems, which needs special handling.
So, we are stuck with version 8.3.2 now and need to evaluate usage of UniDac deeply, which is not good at all. Very disappointed with the progress, specially undocumented changes.

Re: Issues after 8.3.2

Posted: Fri 18 Jun 2021 14:36
by MaximG
1. We haven't made any changes related to handling TDataField latelt. We'll try to reproduce the issue, and will get back to you with an update.
2. The size of a file compiled with the latest version of UniDAC will be larger than earlier because of the changes in our product. We only describe the changes that the developers of UniDAC-based applications can use or affect. Our documentation doesn't contain information about changes in the internals of our components.
3. Please provide more details about the issue with MySQL.

Re: Issues after 8.3.2

Posted: Mon 21 Jun 2021 04:26
by MR2018
UniDAC documentation states: "All database servers support quoting for identifiers that contain special symbols like spaces or dots. UniDAC allows to wrap identifiers universally so that quotation is appropriate for every database server. Use the following syntax:
"identifier"
For example, expression "table1"."field1" turns into "table1"."field1" in Oracle and PostgreSQL, into [table1].[field1] in MS SQL Server, and into `table1`.`field1` in MySQL server. Do not confuse with single quotes, which are intended to wrap string constants."

So we have MySQL table with fieldnames USERNAME,GROUP... Table structure is out of out control, but we have used query like "SELECT USERNAME,"GROUP" FROM MYTABLE" and it has been working until recently. Now query returns "GROUP" instead of field content. Took a while to find out what's wrong, since no error messages and complex queries returned a wrong answer. There has not been MySQL server changes/updates and UniDac History notes does not mention this change either.

Re: Issues after 8.3.2

Posted: Wed 23 Jun 2021 11:25
by ViktorV
Hi there,

Thanks for provided info, we were able to locate and fix the issue. All changes will be added into next UniDAC build.
We can send you a nightly build for UniDAC which will have this fixed included. Please send us your license info and required IDE using our contact form on our site:
https://www.devart.com/company/contactform.html

Regards,
Viktor

Re: Issues after 8.3.2

Posted: Fri 16 Jul 2021 14:14
by ViktorV
Hi there!

Hope you are doing fine!
Kindly be informed that this bug has been fixed.
The fix was also implemented in the current release UniDAC 8.4.4, which is already available for download!
Let us know if there are any questions.

Regards,
Viktor