I'm having a strange problem fetching from tables using horizontal inheritance. I have a hierarchy with Skills_test at the root and subclasses Graded_test and Value_test. Doing a fetch on Skills_test, I expect all records in Graded_test and Value_test to be returned. I see the SQL on the server side and the report "9 row(s) processed, but get nothing on the server side:
NSArray /*[Skills_test]*/ tests = editingContext ().objectsWithFetchSpecification (new EOFetchSpecification ("Skills_test", null, null));
System.out.println (".load_test_tree tt " + tests.count ());
Suspecting deep fetching, I changed this to just fetch on Graded_test:
NSArray /*[Skills_test]*/ tests = editingContext ().objectsWithFetchSpecification (new EOFetchSpecification ("Graded_test", null, null));
System.out.println (".load_test_tree tt " + tests.count ());
again seeing that fetches are made to the database, but nothing actually returned.
I then changed the fetch spec to retrieve any other table in the database and I get the correct number of rows returned, so it seems to be something weird with the Skills_test hierarchy. Can anyone give a clue as to why this code is returning records from every other table in the database except the ones I want? I'm sure it's something strange in the model (parents are set correctly, abstract is only on for Skills_test), but have not been able to pinpoint what the problem is.
Thanks Ian Joyner Sportstec
|