Projects using JoSQLProjects using JoSQL
If you know of any other projects that are using JoSQL then please External site, opens in new window contact me so I can add them to this page.

Apache Camel
The External site, opens in new window Apache Camel project has added support for using JoSQL queries as part of their routing mechanism, see: External site, opens in new window http://activemq.apache.org/camel/sql.html for details.
polliwog
The External site, opens in new window polliwog project makes extensive use of JoSQL to query, sort and group objects created from the log file it processes.

Usage ranges from the trivial such as:
SELECT *
FROM   org.polliwog.data.SearchEngineVisit
WHERE  country = :country
ORDER BY date DESC
through to the scary looking:
SELECT lowerCaseKeywords keywords,
       @allEngines engines,
       @allCountries countries,
       :_allobjs.size count,
       @topSearchPage topSearchPage,
       @topEntryPage.key topEntryPage,
       @topEntryPage.value topEntryPageCount,
       :_currobj search
FROM   org.polliwog.data.SearchEngineSearch
GROUP BY lowerCaseKeywords
GROUP BY ORDER :_allobjs.size DESC, lowerCaseKeywords
GROUP BY LIMIT 1, 0 + :groupLimit
LIMIT 1, 1
/*
 * Use the EXECUTE ON clause here to execute the functions below
 * on the group by results list ONCE only for performance reasons. 
 */
EXECUTE ON GROUP_BY_RESULTS
  sort (unique (:_allobjs, name) allEngines,
  sort (unique (:_allobjs, hit.visitor.country)) allCountries,
  min (:_allobjs, searchPage) topSearchPage,
  maxEntry (occurrence (:_allobjs, hit.pageTitle),
            "value") topEntryPage
/*
 * Determine some overall statistics.
 */
EXECUTE ON ALL
  unique (:_allobjs, name).size allEngines,
  unique (:_allobjs, hit.visitor.country).size allCountries,
  unique (:_allobjs, lowerCaseKeywords).size allPhrases,
  accessor (:_allobjs, "size") allSearches,
  unique (:_allobjs, hit.pageTitle).size allSearchPages,
  unique (:_allobjs, hit.visitor.id).size allVisitors
Which just shows what a broad-scope (and potential) JoSQL has! The query above is designed to do "everything in one go" and as such is quite inefficient, but for polliwog this is ok since the tool is not interactive.