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

Reply via email to