With v11, Domino Query Language (DQL) completed its consolidation of all means of searching Domino data, using full-text indices. We discussed and demonstrated this and other vital enhancements — and presented the expansive future of DQL and the problems it can be used to address — in a recent webcast. Attendees asked a lot of questions. We answer them here.
Q: Are there any tutorials on DQL?
A: We have published several slide decks and guides. We agree that we should do more to educate developers about the capabilities of DQL. We will publish them here.
Q: Is there a possibility to download the slides and demos after this webinar?
A: Here is a link to the replay.
Q: Are Qbus results updated automatically when a matching document is added to the database?
A: Yes, the result set will contain any documents matching the query.
Q: What if the search query contains umlauts (e.g. Müller) or Unicode characters? Is it going to work in v11?
A: Accent sensitive searching will be honored through the FTSearch calls, but not the view or NSF ones in v11. We have this as a backlog item going forward.
Q: Is it possible to search with DQL under a specific Notes view like FTSEARCH? It looks like the research is global to the entire DB.
A: Yes, it is possible using the IN clause ANDed with the FTSearch criteria: in (‘myview’) and lastname contains (‘Schmidt’, ‘Rose*’)”
Q: Can I query a range date or number for field now with DQL?
A: Yes, it is supported in DQL using View and NSF Scanning. 11.0.1 will support dates and numbers using FTSearch in the future.
Q: Are aggregate multi-database searches planned for next release?
A: We’re currently working on it and have designs. However, the schedule is not in place yet and we are unable to confirm a release date.
Q: Is XPages class for DQL ready in V11?
A: Not yet. However, we have seen the idea raised in the Aha portal and have started to look into it.
Q: When will 11.01 be released?
A: We are aiming for end of the first quarter., However, the exact timing will depend on quality testing.
Q: When will the QueryBus functionality be available?
A: We are expecting this to be available as part of v12.
Q: To clarify, DQL is a way for developers to perform searches in their code; it is NOT something end users would see as an alternative way to perform searches in a database (unless a developer created it)?
A: Yes and no. For now, it is too complex to provide this to a typical end user. But there is more to say about our plans. End users can see query-by-example UIs like DQL Explorer. We’re trying to keep the DQL complexity down to provide accessibility to low-code folks.
Q: In which “native” way can I get JSON out of DQL (not using GSON or a third party)?
A: Today (v11) document collections must be traversed and document data must be sent to the NotesJSONNavigator (Lotusscript) or Java-based JSON classes. QBus will have JSON output as one of its options in a future release.
Q: What is the impact of running simultaneously DQL in a web application?
A: DQL runs with any other load on the server. Its performance and resource impact are a function of the complexity of queries and the amount of data, but there are no concurrency restrictions at all.
Q: Are there plans to extend support for using DQL to access a server-based application from client-side agents? At the moment a user-initiated agent generates the following error, “Method is not available. Function is not supported for remote databases.”
A: Yes, you can use DQL to access server-based applications. Nomad/Notes Client will be able to run DQL on servers and C API calls will be published and supported as well. True client/server DQL will be delivered in v12.
Q: Will instant refresh be addressed for DQL only or for any non-Notes client solution like http?
A: It is an option on the query, that, if set, guarantees the FT Index will be refreshed at query time. We have an SPR for the FTSearch issue, JCUSBKSN4Z, please continue to raise feedback on our Aha portal if you want it addressed.
Q: Full-text search cannot use wildcards in Japanese, but can I use the Contains operator in DQL to search?
A: Since there are no space delimiters, wildcards are not as useful in DBCS languages. But using Contains should work fine.
Q: How will the DQL work with the access control list of the Domino Database? Often we want logged users to see data based on the ACL groups and roles.
A: Access control settings will be honored. DQL will never allow a document to be opened by a user without privileges or fail to allow a document to be opened by a user who does have privileges.