Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: SUIT
-
Labels:None
-
Story Points:8
-
Epic Link:
-
Sprint:SUIT Sprint 2019-06
-
Team:Science User Interface
Description
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case:
1. http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch
2. Use GAIA tap service.
3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' .
3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link.
4. Table load error is displayed: Invalid statement: "ucd" IN ('pos.eq.dec
FIREFLY-59 has been created.
June 21, 2019
ticket has been expanded to more filtering capabilities, (AND OR) conditions are available now.
As reported, filtering fail when the value contains semicolon. Because we were using semicolon to separate conditions, this messes up the underlying query statement. Instead of just fixing the problem, I went ahead and allow the conditions delimiter to be either AND or OR. Although this added a useful requested feature, it also may require updates to our online help. Please coordinate with the appropriate people after merging. Sample conditions: > 0 and < 50 or is NULL < 0 or > 100 in ('m31', 'm41') or is NULL |
Attachments
Issue Links
Activity
Field | Original Value | New Value |
---|---|---|
Epic Link |
|
Team | Science User Interface [ 10303 ] |
Attachment | Screen Shot 2019-02-28 at 8.53.11 AM.png [ 37102 ] |
Attachment | Screen Shot 2019-02-28 at 8.53.30 AM.png [ 37103 ] |
Sprint | SUIT Sprint 2019-04 [ 861 ] |
Assignee | Loi Ly [ loi ] |
Sprint | SUIT Sprint 2019-04 [ 861 ] |
Sprint | SUIT Sprint 2019-05 [ 874 ] |
Rank | Ranked higher |
Sprint | SUIT Sprint 2019-05 [ 874 ] |
Sprint | SUIT Sprint 2019-06 [ 875 ] |
Rank | Ranked higher |
Description |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. [http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch] 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ _FIREFLY-100 has been created._ |
Description |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. [http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch] 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ _FIREFLY-100 has been created._ |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. [http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch] 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ _FIREFLY-59 has been created._ |
Story Points | 4 |
Reviewers | Emmanuel Joliet, Xiuqin Wu [ ejoliet, xiuqin ] | |
Status | To Do [ 10001 ] | In Review [ 10004 ] |
Remote Link | This issue links to "Pull Request (Web Link)" [ 20855 ] |
Description |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. [http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch] 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ _FIREFLY-59 has been created._ |
UCDs often have semicolon separator between words. If we are filtering UCDs by selecting the values with semicolon from the list of values ("categories"), it fails.
Test case: 1. [http://localhost:8080/firefly/firefly-dev.html?__action=layout.showDropDown&visible=true&view=TestTAPSearch] 2. Use GAIA tap service. 3. Search in ADQL tab: SELECT column_name, ucd FROM tap_schema.columns WHERE ucd like '%meta.main%' . 3. In the result table, click column filter, click arrow next to ucd filer box, check 2 last entries ("pos.eq.ra;meta.main" and "pos.eq.dec;meta.main") from the list, and click filter link. 4. Table load error is displayed: _Invalid statement: "ucd" IN ('pos.eq.dec_ _FIREFLY-59 has been created._ _June 21, 2019_ _ticket has been expanded to more filtering capabilities, (AND OR) conditions are available now._ |As reported, filtering fail when the value contains semicolon. Because we were using semicolon to separate conditions, this messes up the underlying query statement. Instead of just fixing the problem, I went ahead and allow the conditions delimiter to be either {{AND}} or {{OR}}. Although this added a useful requested feature, it also may require updates to our online help. Please coordinate with the appropriate people after merging. Sample conditions: {{> 0 and < 50 or is NULL}} {{< 0 or > 100}} {{in ('m31', 'm41') or is NULL}}| |
Story Points | 4 | 8 |
Status | In Review [ 10004 ] | Reviewed [ 10101 ] |
Resolution | Done [ 10000 ] | |
Status | Reviewed [ 10101 ] | Done [ 10002 ] |
From Loi: The problem is due to our use of semicolon as a separator. The solution is to escape the semicolon in the value or replace our separator with a different character.