jOOQ: Full-featured, Java SQL-centric (non-ORM) database library

jOOQ logo

http://www.jooq.org/

Github page: https://github.com/jOOQ/jOOQ


Example 1:

create.selectFrom(BOOK)
      .where(BOOK.PUBLISHED_IN.eq(2011))
      .orderBy(BOOK.TITLE)

Example 2:

create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
      .from(AUTHOR)
      .join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
      .where(BOOK.LANGUAGE.eq("DE"))
      .and(BOOK.PUBLISHED.gt(date("2008-01-01")))
      .groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
      .having(count().gt(5))
      .orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(2)
      .offset(1)

Type-safety example:

select().from(t).where(t.a.eq(select(t2.x).from(t2));
// Type-check here: ---------------> ^^^^
select().from(t).where(t.a.eq(any(select(t2.x).from(t2)));
// Type-check here: -------------------> ^^^^
select().from(t).where(t.a.in(select(t2.x).from(t2));
// Type-check here: ---------------> ^^^^

Cgrep: Source code search tool (similar to ack) written in C

Cgrep logo

From the Cgrep page

  • Multi-threaded with configurable number of jobs.
  • Blazing fast: Running on a single core it is nearly as fast as GNU grep, up to 6x times faster than ack.
  • Multi-line pattern searches.
  • Colors highlight of tokens and strings matching.
  • Recursive searches: Support of language filters and pruning directories.
  • Standard searches: through Boyer–Moore and Posix Regex.
  • Code Tokenizer: Searches as prefix, infix, suffix and edit distance (Levenshtein distance).
  • Context-aware filters distinguish among code, comments and literals in different languages.
  • Languages support for Awk, C, Cpp, Chapel, Coffee, Csharp, Css, CMake, D, Erlang, Fsharp, Go, Haskell, Html, Java, Javascript, Latex, Lua, Make, OCaml, ObjectiveC, Perl, PHP, Python, Ruby, Scala, Tcl, Text, Shell, Verilog, VHDL, Vim.
  • Semantic searches through wildcards and combinators. _, _1, _2…, $, $1, $2…, ANY, KEY, STR, CHR, NUM, HEX, OCT, OR. E.g. “_1(_1 && $)” search for move constructors, “struct OR class _ { OR : OR <” search for class declarations.
  • Customizable output with custom format string, XML and JSON back-ends.