View Issue Details

IDProjectCategoryView StatusLast Update
00021881 - BacklogBugpublic2019-06-16 17:39
ReporterPD9FERAssigned ToK7ZCZ 
Status assignedResolutionopen 
Summary0002188: Filter in Logbook not showing results
DescriptionLooks a bit like 1504 but different.
When activating Filter in Logbook selecting Field (QSL Sent) Contains Yes
No results given back, Same as with QSL Sent No.
Steps To ReproduceOpen logbook
Be sure you have some QSO's in the log with QSL Sent Yes / No
Click Filter
Select Field and set it to QSL Sent
Set Match to Contains
Set Value to either Yes or No
Additional Information
TagsNo tags attached.
Testing Not Started



2017-08-06 15:41

updater   ~0003925

Same goes for QSL Received, eQSL Received/Sent and LOTW received/Sent


2017-08-06 23:19

developer   ~0003934

Unfortunately, the database has a pretty goofy design.

The columns in questions are flags that indicate another column does (or doesn't) contain valid data. The flag is implemented by storing a "N" when the other column is not valid, and storing anything else when the column is valid. To filter for records that don't have QSL date, search with these parameters:

Field = QSL Sent
Match = Not Equals
Value = N

Unfortunately, the inuitive opposite doesn't always work because "N" is the only real rule. It's possible that a sent QSL, for example, has a NULL value in the "QSL Sent" column, and NULL doesn't successfully compare to anything using the operators that the filter is capable of producing.

I'd like to re-work the filter to know that one of these flag columns is being quiered and change the controls accordingly; the only real search here is "Yes" or "No". A "NO" search would be for "Contains 'N'", a yes search would be for "IS NULL OR NOT CONTAINS 'N'"

But that'll take some time ...


2017-08-07 14:16

developer   ~0003942

The "goofy" design is largely due to the ADIF spec, which over a half-dozen beers myself or 'PIE would glad to share our opinions! If you are in the mood for some light toilet reading, go to for the current ADIF spec.

These are QSL status flags, and they are single letter identifiers in accordance with the ADIF specifications (enumerations). The filter on these fields has ALWAYS worked as Ferry describes - i.e. more than one letter results in no matches, only "Starts with" or "Equals" works...

For info, here are the ADIF spec enumerations:

QSL Sent field enumerations:
Y = Yes
N = No
R = Requested (the contacted station has requested a QSL)
Q = Queued (ready to run in the next QSL batch)
I = Ignore or Invalid

QSL Received field enumerations:
Y = Yes
N = No
R = Requested (I have requested a QSL from the other station)
I = Ignore or invalid
V = Verified (a body like ARRL-DXCC has verified the QSL for award credit)

The awards is heavily dependent on these enumerations, as well as compatibility with other programs via ADIF transfers.

I wonder if maybe the filter control could be made to address a 2 column table of values, but only display one column - i.e. the "key value" (letter) and a description. The pull-down control displays the description column, but returns the letter to the filter???

I think I'm having the same thought as Mike, but I did want to make clear the nature of the underlying data in these fields.


2017-08-07 22:51

developer   ~0003945

That's what the ADIF spec says, but what ends up in user databases isn't as you're describing. In time, maybe it would be ideal that they converge, but until that happens we have to make sure the filter feature works with the data representation we've actually stored for our users. The state we're in now means that importing and exporting has to be done with attention to matching the representations, which is an unfortunate dose of complexity.


2017-08-08 03:50

updater   ~0003949

Indeed, when using the Y or N it is working fine, the average Joe does not know this.


2017-08-08 09:22

developer   ~0003951

That's why I deem the design of the filter goofy, and suggest that we fix it.


2017-08-10 15:54

updater   ~0003959

I have been using Y and N for years since I discovered that was the only option that worked.

Issue History

Date Modified Username Field Change
2017-08-06 15:32 PD9FER New Issue
2017-08-06 15:41 PD9FER Note Added: 0003925
2017-08-06 16:44 K7ZCZ Project 1 - Backlog => 3 - Current Dev List
2017-08-06 16:46 PD9FER Description Updated View Revisions
2017-08-06 16:46 PD9FER Testing => Alpha Failed
2017-08-06 23:19 K7ZCZ Note Added: 0003934
2017-08-07 14:16 n4kit Note Added: 0003942
2017-08-07 22:51 K7ZCZ Note Added: 0003945
2017-08-08 03:50 PD9FER Note Added: 0003949
2017-08-08 09:22 K7ZCZ Note Added: 0003951
2017-08-10 15:54 g3ucq Note Added: 0003959
2017-08-17 12:50 WA9PIE Testing Alpha Failed => Not Started
2017-09-10 10:08 K7ZCZ Assigned To => K7ZCZ
2017-09-10 10:08 K7ZCZ Status new => assigned
2017-09-18 00:14 WA9PIE Project 3 - Current Dev List => 2 - Next Dev List (Holding Area)
2018-06-23 18:02 WA9PIE Project 2 - Next Dev List (Holding Area) => 3 - Current Dev List
2019-06-16 17:39 WA9PIE Project 3 - Current Dev List => 1 - Backlog