Re: an old question

Chris Gould <[email protected]>
Newsgroups gmane.comp.python.db.cx-oracle
Message-ID <CA+UgK-FF7zpdH_jVhMALcq7Zyx6wn6FAjjo7LArZtUr_=ESO4Q@mail.gmail.com>
Hi -
I've been following the discussion in this thread and have to say I think
the objective of the whole exercise is flawed.  You seem to be trying to
write a set of wrappers to make Oracle appear to behave in the same way as
other RDBMS, and I think that isn't realistic.  To get the best out of any
database you need to exploit its features and avoid its "quirks".  Oracle's
features include returning a data-sets as a REFCURSOR where you don't know
in advance how many records are in the set - you and Oracle only find that
out when you fetch past the last row.  Similarly, if you're talking of
deleting a million rows and trying to return all the deleted data into a
collection of some sort that gets passed back to the invoker, what are you
going to do with that data?  It sounds like you'd be better off trying a
"SELECT .. FOR UPDATE" and then deleting each row - inefficient in Oracle,
but that seems to be of secondary importance.

I really think the further you go with this, the more problems you're
likely to encounter and you're never going to get any decent performance
out of what is a very expensive RDBMS.

C



On 30 April 2013 09:17, Glyph <glyph-wgPraSjSqjuEakHPNWoOSQC/[email protected]> wrote:

>
> On Apr 30, 2013, at 1:04 AM, Mark Harrison <[email protected]> wrote:
>
> On 4/30/13 12:21 AM, Glyph wrote:
>
> As I keep pointing out:
>
> Currently, I'm doing this with host variables, but that's a limited
> solution [...]
>
>
> You're trying but apparent failing to make your point...
>
> I tried helping you out earlier, but your response left me not
> caring a lot whether or not you solved your problem or not.
>
>
> I do appreciate you taking the time to help, even if your answer wasn't
> directly useful to me.  I realize what I'm looking for is a bit esoteric.
>  "What you are trying to do is impossible" is a totally acceptable answer -
> I am really just trying to understand *why* Oracle makes this impossible.
>
> The database-specificity of cursor.var() makes sense to me, idiomatically,
> but the restricted size of query results seems odd.  For example, if I want
> to 'delete...returning...into...' a million rows, rather than the default
> allowed ~1000 or so, how can I do that?  Would a pipelined procedure with
> PIPE ROW address this problem, and the general expectation is just that I'd
> be able to put such a procedure into my schema?
>
> -glyph
>
>
>
> ------------------------------------------------------------------------------
> Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
> Get 100% visibility into your production application - at no cost.
> Code-level diagnostics for performance bottlenecks with <2% overhead
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap1
> _______________________________________________
> cx-oracle-users mailing list
> cx-oracle-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users
>
>

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

_______________________________________________
cx-oracle-users mailing list
cx-oracle-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/cx-oracle-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.