Page 1 of 1

[patch_done] Implement Oracle 10g StoredProc+Functions-V7.0

Posted: 15.08.2011, 02:18
by amarildolacerda
- Implement Oracle 10g StoredProc and Functions. (ExecSQL);
- Implement IDE functionalities
TZStoredProc->StoredProcName; TZStoreProc->Params

Posted: 18.09.2011, 21:22
by mdaems
amarildolacerda,
Thanks for this nice piece of code!

I've only two questions :
- Why did you add a new interface function RegisterParamType instead of changing the CallableStatement.RegisterOutParameter definition? Seems to me adding an extra parameter would do the same trick.
- The FDBParamTypes:array[0..1024] definition doesn't look really nice when the other 2 other arrays are implemented using a dynamic array type. Maybe better to align them?

The patch you posted has been applied in SVN Rev. 938

Mark

IDE - Implement Oracle 10g StoredProc+Functions-V7.0

Posted: 20.09.2011, 02:43
by amarildolacerda
Changed Oracle implementation StoredProc+Functions Rev. 938 to improve some point of Delphi IDE Component.

Posted: 21.09.2011, 20:55
by mdaems
Hi,

This is an ambitious try!
I perfectly understand what you're trying to do (I'm an oracle database specialist myself). You want package function/procedure parameters included in the procedure metadata. Nice idea. Could be quite useful too.
However... It's not all fine, the way you did it.
  • You're using a connection layer function in the dbc layer. I'd say : move it down the hierarchy if you need it there. Metadata units seem best.
  • You forget about the full meaning of qualified names. Now you're handling the normal procedures qualified by the schema name as package functions. (If I uderstood your code correctly). I know, that's the ambitous part of the job.
Wouldn't it be a solution to move the following functionality to a dbc metadata function and then override/extend it for the oracle packages specific case?

Code: Select all

        SplitQualifiedObjectName(Value, Catalog, Schema, ObjectName);
        ObjectName := Connection.DbcConnection.GetMetadata.AddEscapeCharToWildcards(ObjectName);
        ResultSet := Connection.DbcConnection.GetMetadata.GetProcedureColumns(Catalog, Schema, ObjectName, '');
Please, also consider my remarks for the previous patch.

Mark

BDE 2 ZeosLib

Posted: 01.04.2012, 21:40
by amarildolacerda
Translate BDE interface to ZeosLib.

To mirror of BDEConfig, run procedure: ChecaCreateZConnection(false); It will create ZConnections.ini with zeos config.

Posted: 02.04.2012, 21:35
by EgonHugeist
Wow here i've to read me more in.

Your proposal is very interesting.

Can you eventually descripe the purpose more detailed?

best regards

Posted: 11.04.2012, 19:30
by amarildolacerda
Ill Try,
I have a lot of code working with BDE (Borland). I like a lot how zeoslib work and I work in it to solve some problems... Than I was thinking... If zeos have the same interface of TQuery, TDatabase, TSesssion.... and others... is it possible to compila BDE and with the same code compile to Zeos too...?!!
Finally... YES, it is possible.
First of all, we need to create some config file to put configuration like BDE do... then:
ChecaCreateZConnection(false); // its create ZConnection.INI with the same config of BDE Aliases;
After this point, zeos work in the same code of BDE... no change to do.
With this I can compile all code BDE with Zeoslib. No one line to rework.

Posted: 19.04.2012, 00:30
by EgonHugeist
amarildolacerda,

great mind! Dont't felt ignored. There're other non feature bugs to solve. I must admit i like your idea! But woulsn't it be possible to support that BDE feature for our componets directly? Next missing thought what about FPC?

Just wnat to tell you: We are there!

Michael

Posted: 26.04.2012, 00:56
by mdaems
Looks like a great framework, but I'm afraid this is to complex to add into zeoslib natively. Why not start a separate project, using zeoslib source code (eg using a svn-external to copy in zeoslib's most recent code where you need it?

Michael, what's your idea about that?

Mark