So I've finally bitten the bullet and patched the AR Oracle adapter to
use real OCI bind variables. This has a measurable impact on the client
side, and a huge impact on a high volume Oracle server due to the sql
hard parses that it saves.
The implementation involves some funky regex's on the sql sent along to
the connection adapter, so I'm going to do some more extensive testing
within my own app before posting to Trac.
A few questions though:
1. I'll fix any issues I find, but since this is done by post-processing
the sql there's a chance that some funky hand-coded sql could make this
fail. So I'm thinking about making this a configurable option --
#enable_oci_binding or somesuch. Thoughts?
2. Do other db's support a similar concept with a similar benefit?
Should this functionality be implemented at a higher level (ie., in the
abstract adapter) to make it usable for other dbs?
As an aside, only the pretty comprehensive AR unit tests make a patch
like this even possible to think about. So kudos to everyone on that point.
_______________________________________________
Rails-core mailing list
[email protected]
http://lists.rubyonrails.org/mailman/listinfo/rails-core