Blog

qb 5.2.0 Released!

Eric Peterson March 12, 2018

Spread the word

Eric Peterson

March 12, 2018

Spread the word


Share your thoughts

Quick announcement today about qb. We're excited to announce that starting with version 5.1.0, QB has full query and schema builder support for four major database grammars:

  • Microsoft SQL Server (MSSQLGrammar)
  • MySQL (MySQLGrammar)
  • Oracle (OracleGrammar)
  • Postgres (PostgresGrammar)

Set your preferred grammar in your moduleSettings and you are good to go:


moduleSettings = {
    qb = {
        defaultGrammar = "PostgresGrammar"
    }
};

Install or update today from ForgeBox.

Haven't heard about qb? qb is a Query and Schema Builder for CFML. With it you can write object-oriented, database agnostic SQL statements in a convenient and friendly format.


// Query Builder
query.from('posts')
    .whereNotNull('published_at')
    .whereIn('author_id', [5, 10, 27])
    .get();

// Schema Builder
schema.create( "users", function( table ) {
    table.increments( "id" );
    table.string( "email" );
    table.string( "password" );
    table.timestamp( "created_date" ).default( "CURRENT_TIMESTAMP" );
    table.timestamp( "modified_date" ).default( "CURRENT_TIMESTAMP" );
    table.timestamp( "last_logged_in" ).nullable();
} );

Want more information? Check out the comprehensive documentation.

Coming to Into the Box? Be sure to check out the session on qb while you are there!

Add Your Comment

Recent Entries

BoxLang 1.17 Series Part 4 : WriteDump Enhanced!

BoxLang 1.17 Series Part 4 : WriteDump Enhanced!

You call writeDump() on an ORM entity or a very rich class graph . The browser locks up. Thirty seconds later you get a page with forty thousand rows on it, you scroll for a while, you give up, and you go edit your code to dump a sub-key instead. Or worse, you crash the server.

Luis Majano
Luis Majano
September 11, 2026
BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

LLM applications face a class of attack traditional input validation was never built for: prompt injection. An attacker embeds instructions in user input, a retrieved document, a web page your tool fetched, or an MCP result, trying to override your system prompt, exfiltrate data, or hijack a tool call. BoxLang AI 3.4.0 ships four layered, configurable defenses against exactly this, plus one more that's on unconditionally.

Luis Majano
Luis Majano
September 11, 2026