Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.
An imaginary conversation synthesized from past discussions and the responses I wish I made.
Don't let external customers read directly from your database. Just don't. The usual justification is the need to support ad-hoc queries. Get a few samples and try to figure out a general mechanism to support their actual business needs. If you let them read from your database, they will become dependent on this and beg you to hold off database changes or complain if you don't. As your project grows larger, the pain grows more severe. They will have the best of intentions, but good intentions mean nothing when you need to coordinate your internals with people who should know better than to violate encapsulation.
As a side note, ad-hoc queries, even if not causing performance issues, could potentially be dangerous if the people making them aren't really thinking them through. The problem is two-fold. One, they might not be really paying attention to their core business needs (this is subtle and hard to explain, but common). The other problem is that they might very well be making a query that your API already supports, but because they don't rely as much on your API, they don't know it.
Give them their own copy (Score:1)
-- Ed Avis ed@membled.com
Re: (Score:2)
Thought about that, but they need live data. Our data changes rapidly and being even one day out of date is like playing the stock market by reading a day old newspaper (well, ok, not quite that severe :). It would be good to have a series of read-only slave servers, but that still puts us in the position of them insisting that we can't make that important database change just yet. We've had that happen enough times that we have nasty hacks in our code and database [perl.org] to work around these issues.
Re: (Score:1)
If they want a parti
-- Ed Avis ed@membled.com
Oracle? (Score:2)
Also, with Oracle you can set IO limits on a per account basis, so queries like the one you mention would simply timeout after a while.
Does MySQL provide such features?
Are You Talking about Databases? (Score:1)
Perhaps Perl 5 should have a REST API for writing extensions.
Re: (Score:1)
Counter-point (Score:1)
Re: (Score:2)
I don't know what "three years out of date" means in this context, but if you mean that neither management nor developers have bothered to address customer concerns for three years, than there are far larger problems than direct database access. If you meant something else, than I guess I can't respond to that :)
Nor do I know what five licenses has to do with the situation.
Counter-point (Score:1)