in reply to calling Oracle stored procedures

I haven't read your code carefully, but I do have some general comments.

If you're using a DBI handle, then I think your module definitely should have "DBI" in its name somewhere. I'd avoid Oracle:: entirely. You mention that your module is similar to an existing DBIx::Procedures::Oracle. What are the differences? If yours is a simplification, consider naming it DBIx::Procedures::Oracle::Simple or something similar.

Second, I'm not a big fan of using the calling context to determine if a function or a procedure is being called. It'd be nice (although maybe too slow) to look at the schema to find what type of object is being called, then Doing The Right Thing.

Just my 2 cents.

Replies are listed 'Best First'.
Re^2: calling Oracle stored procedures
by Thilosophy (Curate) on Nov 25, 2004 at 00:46 UTC
    You mention that your module is similar to an existing DBIx::Procedures::Oracle. What are the differences? If yours is a simplification, consider naming it DBIx::Procedures::Oracle::Simple or something similar.

    No, it is not a simplification. Just works differently. The main difference is that DBIx::Procedures::Oracle produces its wrapper code at runtime (after consulting the database if there is such a stored procedure), where as I want to do it at compile-time (without connecting to the DB before actually executing the code).

    Second, I'm not a big fan of using the calling context to determine if a function or a procedure is being called. It'd be nice (although maybe too slow) to look at the schema to find what type of object is being called, then Doing The Right Thing.

    That is how DBIX::Procedures::Oracle is working. I am aware that depending on the calling context is a bit too implicit, but I can think of no better way at the moment. Maybe I can enhance the code by trying to call it as a function/procedure depending on context first, and if that fails, try the other way.

    If you're using a DBI handle, then I think your module definitely should have "DBI" in its name somewhere. I'd avoid Oracle:: entirely.

    Hmm. Since the interface itself is not Oracle-specific at all, and the implementation could be extended to work with other databases, I kind of like DBIx::Procedures, but that seems taken. Maybe DBIx::Call. Who do I talk to about the DBIx namespace?