Page 1 of 2
New version
Posted: Tue 18 Dec 2012 08:57
by sinys
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
Re: New version
Posted: Tue 05 Feb 2013 11:34
by sinys
Could you show the roadmap?
Re: New version
Posted: Tue 05 Feb 2013 13:12
by AlexP
Hello,
These features are included to our ODAC development roadmap, however, their implementation is not planned for the nearest future.
Re: New version
Posted: Wed 06 Feb 2013 08:21
by sinys
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?
Re: New version
Posted: Fri 15 Feb 2013 07:33
by Freezer_86
This features is very important for our clients too.
Re: New version
Posted: Thu 28 Feb 2013 05:04
by sinys
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
Re: New version
Posted: Tue 05 Mar 2013 11:28
by AlexP
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
Re: New version
Posted: Tue 05 Mar 2013 17:48
by sinys
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.
Re: New version
Posted: Wed 06 Mar 2013 11:38
by AlexP
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.
Re: New version
Posted: Tue 19 Mar 2013 12:11
by sinys
please add
const
SQL_MERGE = 189;
Re: New version
Posted: Wed 20 Mar 2013 09:02
by AlexP
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
Re: New version
Posted: Wed 20 Mar 2013 11:22
by sinys
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.
Re: New version
Posted: Wed 20 Mar 2013 12:37
by AlexP
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.
Re: New version
Posted: Mon 29 Apr 2013 15:11
by sinys
New AssignConnect with copy NLS params available in ODAC version 9?
Re: New version
Posted: Tue 07 May 2013 15:02
by AlexP
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.