In-Development TradeDangerous: power-user trade optimizer

Mark, I've just noticed that TD Helper v2.0.3.5 Beta is available. I've downloaded it and noticed that the drop down list in the Source box no longer appears. The pilot Log tab is empty also (not thast I use it much but it was definitely there before the upgrade). The C button no longer does anything but I recall that comes from the Pilot Log anyway.

All the paths in the Misc Settings box seem normal so have you seen this before? I overwrote my previous files with the latest ones. Should I have perhaps done a clean install? I am thinking possibly a clean install of TD, eddblink and eddb-listener from eyeonus followed by your latest version of TD Helper might be the way to go!
 
Mark, I've just noticed that TD Helper v2.0.3.5 Beta is available. I've downloaded it and noticed that the drop down list in the Source box no longer appears. The pilot Log tab is empty also (not thast I use it much but it was definitely there before the upgrade). The C button no longer does anything but I recall that comes from the Pilot Log anyway.

All the paths in the Misc Settings box seem normal so have you seen this before? I overwrote my previous files with the latest ones. Should I have perhaps done a clean install? I am thinking possibly a clean install of TD, eddblink and eddb-listener from eyeonus followed by your latest version of TD Helper might be the way to go!

I'm seeing the same. I don't believe TD is the problem here.
 
As an FYI, not sure if it's important enough to ticket...

Seeing

Megaship station, updating system. Market update for TEMBALA/RESCUE SHIP - PARISE STATION finished in 0.09 seconds.

repeatedly from the listener.
 
When I was healthy and fit, I used to do 15 century wars of the roses. Stanley Household.

For God, Lord Stanley and the True King

...yes, but... I mean, who exactly is the True King?

*splutter*

WHOEVER LORD STANLEY SAYS IT IS!

Dito only with the Beaufort Companye and Destrier (jousting group). The last weekend was Tewkesbury and we were with the Middletons.
 
I'm seeing the same. I don't believe TD is the problem here.

I've just run a check and had no problems on my computer but there is a significant initial delay whilst the net logs are read if there are a lot. I'll try to track down the source of the delay and fix it although it is always gong to be a problem when rebuilding the database for whatever reason as all the net log files have to be read initially.
 
Last edited:
Dito only with the Beaufort Companye and Destrier (jousting group). The last weekend was Tewkesbury and we were with the Middletons.

Then you know Ghost and it's a small world. I have no doubt he would be utterly disparaging of my involvement, but the couple of shows I did were fun.
 
Then you know Ghost and it's a small world. I have no doubt he would be utterly disparaging of my involvement, but the couple of shows I did were fun.

Indeed I do know Ghost. Didn't see him this weekend as he was in the Lancastrian camp whilst we were in the Yorkist camp about half a mile away.

Small world indeed.
 
Has something changed with the Trade Dangerous database schema or data? With the tradedangerous.db file from Thursday last week TD Helper runs fine but if I update the database or delete it and create a new one, TD Helper throws an error:

Code:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

The SQL command being run is:

Code:
select sys.name as sys_name, stn.name as stn_name 
from System sys 
left join Station stn on sys.system_id = stn.system_id

I have a work around for the issue for the moment bu in my investigations I note that SQLite is set up not to use FK constraints by default, it is probably a good idea either to enable the FK constraints ("PRAGMA foreign_keys=ON") and ensure that the values are correctly set or leave the FK constraints off and remove the FK definitions from the database schema. The former is the preferred option, obviously, but may involve a lot of work to ensure the referential integrity.
 
Mark, I've just noticed that TD Helper v2.0.3.5 Beta is available. I've downloaded it and noticed that the drop down list in the Source box no longer appears. The pilot Log tab is empty also (not thast I use it much but it was definitely there before the upgrade). The C button no longer does anything but I recall that comes from the Pilot Log anyway.

All the paths in the Misc Settings box seem normal so have you seen this before? I overwrote my previous files with the latest ones. Should I have perhaps done a clean install? I am thinking possibly a clean install of TD, eddblink and eddb-listener from eyeonus followed by your latest version of TD Helper might be the way to go!

I'm seeing the same. I don't believe TD is the problem here.

Okay, so TD was (possibly) the problem, for some reason the most recent tradedangerous database causes TD Helper to throw an exception. This does not happen with older versions of the database. I have found a workaround for the issue.

Your TD Helper should auto-update if you have that turned on otherwise the new version can be found on the releases page at https://github.com/MarkAusten/TDHelper/releases.

Thanks.
 
TD Helper v2.0.3.7-Beta released.

Adds a 'Play Alerts' check box on the settings form. Uncheck to silence the alerts. If you just want them quieter, then modify 'notify.wav' and 'unknown.wav' appropriately.

Your TD Helper should auto-update if you have that turned on otherwise the new version can be found on the releases page at https://github.com/MarkAusten/TDHelper/releases.

Thanks.
 
Last edited:
Has something changed with the Trade Dangerous database schema or data? With the tradedangerous.db file from Thursday last week TD Helper runs fine but if I update the database or delete it and create a new one, TD Helper throws an error:

The only thing I can think of which has changed is that eyeonus had to kludge a workaround because Krait MkII and Alliance Challenger had not been assigned EDDB id numbers and hence https://raw.githubusercontent.com/EDCD/coriolis-data/master/dist/index.json had duplicate data.

Of which Themroc yesterday wrote in discord (after being nagged by Bernd - Thanks Bernd :) )
Gazelle (TD) - Yesterday at 17:45
Data update (new ships, new commodities, new modules) rings any bell?

themroc (EDDB) - Yesterday at 17:46
yeah t hats on my list
ill try to fix that tomorrow
i got some time

Now, on the basis of dominoes and butterflies flapping wings, I wonder if it's all connected and the db kludge has thrown something out at your end. I struggle to see why but that is the only thing which has changed. I also updated the rares list, but that's just a csv file, shouldn't cause a knock on effect.
 
Has something changed with the Trade Dangerous database schema or data? With the tradedangerous.db file from Thursday last week TD Helper runs fine but if I update the database or delete it and create a new one, TD Helper throws an error:
Code:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

The SQL command being run is:

Code:
select sys.name as sys_name, stn.name as stn_name 
from System sys 
left join Station stn on sys.system_id = stn.system_id

I have a work around for the issue for the moment bu in my investigations I note that SQLite is set up not to use FK constraints by default, it is probably a good idea either to enable the FK constraints ("PRAGMA foreign_keys=ON") and ensure that the values are correctly set or leave the FK constraints off and remove the FK definitions from the database schema. The former is the preferred option, obviously, but may involve a lot of work to ensure the referential integrity.

Would be of interest which data caused the failure to find out the cause. TD normaly has the FK constrains switch on (and I don't think this changed).

BTW: The "left join" is equal to "left outer join", so you will get all systems and stationnames will be NULL if there are none in the system. You need an "INNER join" if you want only systems with stations.
 
Would be of interest which data caused the failure to find out the cause. TD normaly has the FK constrains switch on (and I don't think this changed).

BTW: The "left join" is equal to "left outer join", so you will get all systems and stationnames will be NULL if there are none in the system. You need an "INNER join" if you want only systems with stations.

I used a left join as it makes spotting potential problems easier. Just add a where clause for nulls in the joined table. I should have changed it back but it looks like I've forgotten to do that.

I was unable to find out which data caused the problem as I don't have access to the internals of .NET. It seems that certain classes in .NET check the foreign keys if the table definition is set up with them irrespective of whether or not FKs are turned on or off. I have found that reading in the data one record at a time in code does not trigger a violation. So passing a data reader to a data table in the load method throws an exception but using a "while (reader.read())" and adding the data to the data table record by record does not. Odd. Still the thing works on the current dataset and that's what matters.
 
I have a work around for the issue for the moment bu in my investigations I note that SQLite is set up not to use FK constraints by default, it is probably a good idea either to enable the FK constraints ("PRAGMA foreign_keys=ON") and ensure that the values are correctly set or leave the FK constraints off and remove the FK definitions from the database schema. The former is the preferred option, obviously, but may involve a lot of work to ensure the referential integrity.

Just as a point I think it's important to make - we (by which I really mean eyeonus) are not in the business of making big changes to TD. The plan was and still is to have a method of getting data into the existing TD, with minimal changes/work in a post-maddavo world. At present we have one stupid bug which is hard to pin down (https://github.com/eyeonus/EDDBlink-listener/issues/7), but once that it resolved, then we will be ready to release. Mission creep into messing with the TD database in any way which "may involve a lot of work" is not one of the project deliverables. :)
 
Just as a point I think it's important to make - we (by which I really mean eyeonus) are not in the business of making big changes to TD. The plan was and still is to have a method of getting data into the existing TD, with minimal changes/work in a post-maddavo world. At present we have one stupid bug which is hard to pin down (https://github.com/eyeonus/EDDBlink-listener/issues/7), but once that it resolved, then we will be ready to release. Mission creep into messing with the TD database in any way which "may involve a lot of work" is not one of the project deliverables. :)

Fair point. However I reserve the right to raise it again should it become and issue that I can't solve with a work-around in future.

Frankly, if I knew python better I'd take a look myself but that programming language is not one that I wish to be familiar with.
 
Back
Top Bottom