             @_query
                 query  : 'INSERT INTO account_creation_actions'
                 values :
-                    id            : 'UUID'      : misc.uuid()
-                    email_address : 'TEXT'      : opts.email_address
-                    action        : 'JSONB'     : opts.action
-                    expire        : 'TIMESTAMP' : expire_time(opts.ttl)
+                    'id            :: UUID'      : misc.uuid()
+                    'email_address :: TEXT'      : opts.email_address
+                    'action        :: JSONB'     : opts.action
+                    'expire        :: TIMESTAMP' : expire_time(opts.ttl)
                 cb : opts.cb
         else
             # query for actions
             @_query
                 query : 'SELECT action FROM account_creation_actions'
                 where :
-                    'email_address = $::TEXT' : opts.email_address
-                    'expire >= $::TIMESTAMP'  : new Date()
+                    'email_address  = $::TEXT'       : opts.email_address
+                    'expire        >= $::TIMESTAMP'  : new Date()
                 cb    : (err, result) =>
                     if err
                         opts.cb(err)


    _query: (opts) =>
        opts  = defaults opts,
            query  : required
            params : []
            where  : undefined    # Used for SELECT: If given, must be a map with keys clauses with $::TYPE  (not $1::TYPE!)
                                  # and values the corresponding params.  Also, WHERE must not be in the query already.
                                  # If where[cond] is undefined, then cond is completely **ignored**.
            values : undefined    # Used for INSERT: If given, then params and where must not be given.   Values is a map
                                  # {field1:[{type1:value}|string|undefined], field2:[{type2:value}|string|undefined], ...} which gets converted to
                                  # ' (field1, field2, ...) VALUES ($1::type1, $2::type2, ...) '
                                  # with corresponding params set.  Undefined valued fields are ignored.
            conflict : undefined  # if given, then values must be given; appends something like this to query:
                                  #     ON CONFLICT (name) DO UPDATE SET value=EXCLUDED.value'
            jsonb_set : undefined # used for setting a field that contains a JSONB javascript map;
                                  # Give as input an object {key1:val1, key2:val2, ...}.
                                  # Every key has the corresponding value set, unless val is undefined/null, in which
                                  # case that key is deleted from the JSONB object.  Simple as that!  This is much, much

        @_query
            query : 'INSERT into passport_settings'
            values :
                'strategy::TEXT ' : opts.strategy
                'conf    ::JSONB' : opts.conf
            conflict : 'strategy'

    get_passport_settings: (opts) =>
