http://www.perlmonks.org?node_id=59506


in reply to Perl/mySQL question

What you might try is keeping an incremental log of each completed transaction (yes, I believe MySQL only allows "transactions", properly so-called, via a somewhat hackish maneuver at the moment -- so read this as "UPDATE, INSERT or DELETE") that's been issued since the last time your script ran; presumably, this means you'll have to have access to the apps that are used for updating the internal database so they can write the logs. And be prepared to learn all about file locking, too, because you'll want the updaters to be unable to add to the file when you're reading from it to do the updates (any updates recorded while the script is running will have to go to some sort of temp file ... and thinking about the concurrency issues is making my head spin) ... Or maybe MySQL can do this on its own (I'm pretty sure Oracle etc. has such a facility).

Then you simply issue those SQL commands to the publically accessible DB and ba da bing!

Hope that's workable ..

Philosophy can be made out of anything. Or less -- Jerry A. Fodor

Replies are listed 'Best First'.
Re: Re: Perl/mySQL question
by $CBAS (Scribe) on Feb 20, 2001 at 02:46 UTC

    Thanks for the help but the software used to update the local DB is way too closed-source for this to work, It's impossible for me to add a track-keeping mechanism.

    Also, I was specifically told NOT to use file locking on the whole table, another problem.

    Thanks for the idea anyway,
    CBAS