woodruffr1973 / ardb

Automatically exported from code.google.com/p/ardb
0 stars 1 forks source link

Cannot isolate cards that appear *only* in a single set. #71

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. "Select" all library cards from set "Lords of Night", which also 
includes reprints from other sets. (Correct)
2. "Remove" all library cards from sets not in "Lords of Night".
3. Removes no cards.

What is the expected output? What do you see instead?
I would want to see the list of 150 newly introduced cards in only that 
set. I instead see cards from that set that have also been printed 
elsewhere.

Another way to produce a similar error is to try to remove "Jyhad" cards 
from a full database. Only one cards will be removed, but when "Jyhad" 
cards are selected instead, we see 326 cards in the set.

What version of the product are you using? On what operating system?
Latest version, 3.1.1. Windows XP.

Please provide any additional information below.

Original issue reported on code.google.com by agupta...@gmail.com on 20 May 2010 at 2:35

GoogleCodeExporter commented 9 years ago
This is a known issue.  We hope to fix it at some point but it may take some 
reworking 
of the database todo.

Original comment by graham.r...@gmail.com on 20 May 2010 at 8:35

GoogleCodeExporter commented 9 years ago

Original comment by graham.r...@gmail.com on 20 May 2010 at 8:57

GoogleCodeExporter commented 9 years ago
I will add debug log tracing to all the SQL generation so I can see what SQL 
queries 
are being used. 

Original comment by graham.r...@gmail.com on 20 May 2010 at 8:58

GoogleCodeExporter commented 9 years ago
Has there been any progress on this issue?

Original comment by agupta...@gmail.com on 2 Feb 2011 at 9:36

GoogleCodeExporter commented 9 years ago
Yes I have written a query that filters out one set and included a check box 
called 'no duplicate'  so when you select a set (Black Hand) for example it 
only shows cards that appeared for the first time in black hand, and no 
duplicate cards from other sets appear.  However Im still trying to get this 
added query to work properly within the default query/search.

SELECT cards_names.card_name 
FROM cards_library,cards_sets,cards_names 
WHERE cards_library.card_name=cards_names.record_num 
AND cards_library.release_set=cards_sets.record_num 
AND NOT cards_sets.full_name LIKE 'Proxy%' 
GROUP BY cards_names.card_name 
HAVING cards_sets.full_name = '%s' "
ORDER BY cards_names.card_name

This query I have tested and it works fine.  
However getting it to intergrate with the built in default query has turned 
difficult. Seems to be returning a NULL set result in the default query.

FYI I use sqlitebrowser to test queries directly to the database so I can tell 
what results I am getting back.  A very useful tool. 

The completed working function should be done soon as I get the query to output 
correctly with the default.

Original comment by Woodruffr1973@gmail.com on 3 Feb 2011 at 6:33

GoogleCodeExporter commented 9 years ago
As an additional notice, the way the listed search in the original bug is 
actually functioning as written. Because of how the database identifies a card 
id.
Im actually adding this as a feature because I see it as useful for people deck 
building (I would find it useful myself).  In the database, it does not 
identify the card name with any other set because you removed the card id with 
the other sets with the initial search.
I have written a more advanced query (above) so it functions more the way the 
user intends.
And the 'No Duplicates' Box seems logical.  So you can simply search for Black 
Hand No Duplicates and get the desired effect. Which are card that were 
originally printed in Black Hand.

Original comment by Woodruffr1973@gmail.com on 3 Feb 2011 at 7:11