Notice that is first searches all the subclasses then the final query with no osType qualifier.
Doesn't make sense to me.
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT RTRIM(t0.alertString), t0.appConfigIOSID, t0.appID, t0.badge, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), t0.notificationAlertAppleID, RTRIM(t0.osType), RTRIM(t0.sound), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" withBindings: 1:"IOS"(osType)>
DEBUG (ERXNSLogLog4jBridge.java:46) - 1 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appConfigBBID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" withBindings: 1:"BB"(osType)>
DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appConfigAndroidID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" withBindings: 1:"ANDROID"(osType)>
DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appConfigWinPhoneID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" withBindings: 1:"WIN8PHONE"(osType)>
DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appConfigWinID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" withBindings: 1:"WINDOWS"(osType)>
DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:46) - evaluateExpression: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0" withBindings: >
DEBUG (ERXNSLogLog4jBridge.java:46) - 1 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:46) - === Commit Internal Transaction