Tydix SQL : tool for core updates

Hey there

I have made a little tool, it is not finished a 100% but i hope you’ll like it.



You will be able to produce SQL patches from core updates with filtering (by date).

The executable is not yet finished, so don’t be impatient.

keep in mind that the devs sometimes don’t properly name the updates, and, any unknown updates (character instead of characters, wrold instead of world, or, ones where the world or characters was left out completely) should pop up some kind of warning about it, maybe even provide a chance for the user to specify what the correct name should be, if the user can tell… Also, would be a good idea to make sure there is a newline between updates, in case the dev forgot to add one to the end of the file… otherwise, some updates won’t be applied…

They perhaps do not name the SQL files properly but… the program is based on the official folder names, and therefore I don’t think people will put an update in the wrong folder, right ?

For the newLine after each update, i will put one, don’t worry.

For the wrong file name the problem is only for the date because teh datye is parsed with the underscores signs /emoticons/default_wink.png

oh, so, your program can magically tell world updates from characters updates? tell me more about this magic coding.

Any concrete example?

ok, you made me go check. There is actually no overlap in table names between the two databases. Therefore, not magic.

It still has to be applied to the proper DB… speaking of which, is this program assuming that the DBs are named the default names, or, does it allow the user to specify DB names?

Yeah, tons of them, just search the log for times when sql names were fixed.

I didn’t understand. Is there any SQL file in the repository that has a wrong name, now?

AnyWay :

[ul][li]All the file in the official rep are correctly named as far as I know (you can check but I didn’t find any bad file).[/li][li]If there is a problem with a file name, there will be an exception so you can correct this name.[/li][li]The program wil generate a global SQL for each folder found in the “updates” directory of the sql core updates, all the sql files in each folder are “loaded”, then you can filter them by date.[/li][/ul]

All I am saying is that it would be theoretically possible to parse an sql statement and determine whether it applied to the world or characters db. Also, I am pretty sure that the code in question has none of those checks.

Yes of course but in all sql updates, the database is NEVER specified, only the table name appear.

So, because all updates of a folder is realted to a database… you don’t really need to check that…

Nice work Elmsroth. I’ll definitely check this out once it’s completed.

You are wrong, all the updates in the “current” updates folder are, but, if you are allowing the user to input what revision they are updating from, any user that is updating from a revision before the last TDB was released will not get all the proper character updates, as some of them will have been moved to the old3.3.5a folder, which is not broken down by DB, unless something has changed since the last time I checked.

+nay I didn’t say any were wrong right now, but, a dev could add one at a later date that is named wrong, and this program won’t handle it correctly, if it isn’t written to bypass that problem.

This does present a problem, but only if you aren’t aware of the way pre-TDB updates are handled. Manually moving the appropriate old files to their respective directories fixes that issue. It would be kind of nice if this was done automatically, though.

Of course the program is supposed to be used with recents TDB versions, for the moment i don’t think I will handle these old files, but if you want to Fork the project you can /emoticons/default_wink.png

It’s more than theoretical, it’s entirely plausible. I don’t think it’d be too much of a challenge either, to be quite honest.

At the very least a disclaimer would be beneficial /emoticons/default_tongue.png

Yes, i will put a disclaimer on the project webPage.