New version

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

New version

Post by sinys » Tue 18 Dec 2012 08:57

Bugfixes is very good but what about new features?
For example for TOraQuery:
1) local sort and filter without fetch all records (only for fetched records)
2) Different preferences for "Nested Tables fields" and "Types fields"
http://forums.devart.com/viewtopic.php?f=5&t=24825
3) Option fetch records inside second thread without move current RecNo
4) http://forums.devart.com/viewtopic.php?f=5&t=24627

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Tue 05 Feb 2013 11:34

Could you show the roadmap?

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Tue 05 Feb 2013 13:12

Hello,

These features are included to our ODAC development roadmap, however, their implementation is not planned for the nearest future.

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Wed 06 Feb 2013 08:21

item 2 (Different preferences for "Nested Tables fields" and "Types fields")
http://forums.devart.com/viewtopic.php?f=5&t=24825
very important for our clients.
Could I up the priority of this task if I tell you the licence number?

Freezer_86
Posts: 9
Joined: Thu 14 Feb 2013 09:11

Re: New version

Post by Freezer_86 » Fri 15 Feb 2013 07:33

This features is very important for our clients too.

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Thu 28 Feb 2013 05:04

Required better performance for:
1) if I set OraQuery1.Filtered := True; I get excess query SELECT '' TABLE_CATALOG, IC.TABLE_OWNER TABLE_SCHEMA, IC.TABLE_NAME, '' INDEX_CATALOG, IC.INDEX_OWNER INDEX_SCHEMA, IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION, DECODE(IC.DESCEND, 'ASC', 0, 1) DESCENDING FROM SYS.ALL_IND_COLUMNS IC, SYS.ALL_INDEXES I, SYS.ALL_CONSTRAINTS C WHERE IC.TABLE_OWNE

please add an option for disable this excess query.
P.S. I know about KeyFields parameter, but I don't need KeyFields for Filter.

2) My application has many Oracle sessions with the same connection string, but after each connection I have the same query

declare cursor NlsParamsCursor is SELECT * FROM nls_session_parameters;begin SELECT Nvl(Lengthb(Chr(16777216)), Nvl(Lengthb(Chr(65536)), Nvl(Lengthb(Chr(256)), 1))), Nvl(Lengthb(Chr(1)), 1) INTO :MaxCharLength, :MinCharLength FROM dual; for NlsRecord in NlsParamsCursor loop if NlsRecord.parameter = 'NLS_DATE_LANGUAGE' then :NlsDateLanguage := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_DATE_FORMAT' then :NlsDateFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_NUMERIC_CHARACTERS' then :NlsNumericCharacters := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_FORMAT' then :NlsTimeStampFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_TZ_FORMAT' then :NlsTimeStampTZFormat := NlsRecord.value; end if; end loop;end;

please, add an option for avoiding it, for example, to copy this parameters in the application source before connection.
Example (how I see it):
OraSession1.Connect;
OraSession1.CopyNLSParamsTo(OraSession2);
OraSession2.Connect; // inside check have nls params and if it clear then get from Oracle server

OraSession1.Disconnect; // auto clear nls params

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Tue 05 Mar 2013 11:28

Hello,

1) This query is invoked for defining key fields so that we can position the cursor to the same record after filtering. Therefore, to avoid query execution, you should set the KeyFields property.
2) Thank you for the information, we will fix the AssignConnect method behaviour so that this query won't be re-invoked

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Tue 05 Mar 2013 17:48

1) I understand, but I do not need it because I set OraQuery1.First after OraQuery1.Filtered := True; and my query may not contain the key fields. Why not add an option to turn off this request?
2) Please add this as an option, not as always the right decision.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Wed 06 Mar 2013 11:38

Hello,

1) Our components have quite a lot of service queries executed for retrieving data from a server, and we cannot add options for enabling and disabling these queries. In addition, commonly, there are key fields in tables, but if you have no such fields in your query, you can set them in the KeyFields property in order to avoid metadata retrieving. If you have a source code version, you can disable this query execution by yourself - we will prompt the appropriate piece of code.
2) ODAC has a provided method of "copying" of all AssignConnect connection parameters; if you want to copy just some of them, you can implement your method in a descendant from TOraSession and copy the needed properties.

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Tue 19 Mar 2013 12:11

please add
const
SQL_MERGE = 189;

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Wed 20 Mar 2013 09:02

hello,

Please explain what kind of constant it is and where it should be added, and provide a link to the official Oracle documentation about the constant

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Wed 20 Mar 2013 11:22

You have SQLType constans like SQL_Insert, SQL_Delete, SQL_Update, but you don't have SQLType constant for merge operator. I don't have link for official documentation, it number was obtained from experimental method from debug SQLType result after execute merge statement.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Wed 20 Mar 2013 12:37

Hello,

We couldn't find the description of such attribute in the Oracle documentation. According to the documentation ( http://docs.oracle.com/cd/E11882_01/app ... tm#i428664 ), we have the OCI_ATTR_STMT_TYPE attribute described completely, and its type is defined correctly. Please provide a link to the Oracle documentation describing the specified type in order for us to implement this kind of behaviour correctly.

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: New version

Post by sinys » Mon 29 Apr 2013 15:11

New AssignConnect with copy NLS params available in ODAC version 9?

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: New version

Post by AlexP » Tue 07 May 2013 15:02

Hello,

We have investigated the problem more deeply - this behaviour (an NLS parameters query when opening connection) is correct, because we don't know whether the connection was "created" by the AssignConnect method or the parameters were set manually, and we have to define NLS parameters on each connection opening. These parameters won't be defined in the only case - if the AssignConnect method is applied to an already opened connection.

Post Reply