PDA

View Full Version : Searching - SQL Search


Quantum7
11-09-2007, 05:07 PM
This has been suggested before, but the suggestion is hidden in a question thread. Therefore this separate thread.

The suggestion is to have a 'SQL' advanced search. In that SQL Search the user would be able to store query's from SQLite, which can be executed directly from UR. Meaning you make i.e. a complex query (which isn't possible the UR search), you store it in UR and execute it every time you need it.

Basically I'd envision something which would i.e. work like this:
1. Insert Child Search.
2. Click a "SQL" button (only visible in advanced mode).
3. A single (big) text field appears.
4. The user can paste a SQL query he made in SQLite in this text field.
5. UR stores the SQL query in a text field (as simple text).
6. The user can execute the search; UR directly uses the query text to execute it's search. If the query is invalid an error is shown. If not: jackpot.
7. The user now has a saved search in UR which can work like a normal search; only all search options that are possible in the syntax used by SQLite can be used in UR.

Considerations
- Main advantage might be that search can remain simple while still allowing extreme flexibility.
- Update and Delete could be disallowed to prevent the user from doing things that would completely mess up their database.
- Syntax checking would be unnecessary; it's an advanced advanced feature --> The user should know what he's doing.
- Variable's. At least one variable could be useful.
- Manual editting from SQLite to UR could be acceptable; it's an advanced advanced feature.

quant
11-09-2007, 07:07 PM
this suggestion has my vote, especially if only "passive" searches are allowed, ie. no update/delete as those could essentially be done afterwards on the found items (where the proper checks are already implemented).

But as was mentioned elsewhere, maybe being able to search through parent/child attributes would be enough for the beginning. This should be straightforward to implement ;-)
Just triple the list of available attributes in the advanced search (second and third copy of attributes preceded with parent: and child: respectively) and do the proper sql queries on the backend ;-)