Skip to content

Commit 6790982

Browse files
committed
improve select function calls example even more
1 parent d8bc552 commit 6790982

File tree

2 files changed

+36
-20
lines changed

2 files changed

+36
-20
lines changed

site/docs/examples/SELECT/0060-function-calls.js

+18-10
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,29 @@ const result = await db.selectFrom('person')
99
// functions.
1010
fn.count<number>('pet.id').as('pet_count'),
1111
12-
// You can call any function by calling \`fn\` directly.
13-
// The arguments are treated as column references by
14-
// default. If you want to pass in values, use the
15-
// \`val\` function.
16-
fn<string>('concat', [val('Ms. '), 'first_name', 'last_name']).as('full_name_with_title'),
12+
// You can call any function by calling \`fn\`
13+
// directly. The arguments are treated as column
14+
// references by default. If you want to pass in
15+
// values, use the \`val\` function.
16+
fn<string>('concat', [
17+
val('Ms. '),
18+
'first_name',
19+
'last_name'
20+
]).as('full_name_with_title'),
1721
1822
// You can call any aggregate function using the
1923
// \`fn.agg\` function.
2024
fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names'),
2125
22-
// And once again, you can use the \`sql\` template tag.
23-
// The template tag substitutions are treated as values
24-
// by default. If you want to reference columns, you can
25-
// use the \`ref\` function.
26-
sql<string>\`concat(\${ref('first_name')}, \${ref('last_name')})\`.as('full_name')
26+
// And once again, you can use the \`sql\`
27+
// template tag. The template tag substitutions
28+
// are treated as values by default. If you want
29+
// to reference columns, you can use the \`ref\`
30+
// function.
31+
sql<string>\`concat(
32+
\${ref('first_name')},
33+
\${ref('last_name')}
34+
)\`.as('full_name')
2735
])
2836
.groupBy('person.id')
2937
.having((eb) => eb.fn.count('pet.id'), '>', 10)

src/query-builder/function-module.ts

+18-10
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,29 @@ import { Selectable } from '../util/column-type.js'
4545
* // functions.
4646
* fn.count<number>('pet.id').as('pet_count'),
4747
*
48-
* // You can call any function by calling `fn` directly.
49-
* // The arguments are treated as column references by
50-
* // default. If you want to pass in values, use the
51-
* // `val` function.
52-
* fn<string>('concat', [val('Ms. '), 'first_name', 'last_name']).as('full_name_with_title'),
48+
* // You can call any function by calling `fn`
49+
* // directly. The arguments are treated as column
50+
* // references by default. If you want to pass in
51+
* // values, use the `val` function.
52+
* fn<string>('concat', [
53+
* val('Ms. '),
54+
* 'first_name',
55+
* 'last_name'
56+
* ]).as('full_name_with_title'),
5357
*
5458
* // You can call any aggregate function using the
5559
* // `fn.agg` function.
5660
* fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names'),
5761
*
58-
* // And once again, you can use the `sql` template tag.
59-
* // The template tag substitutions are treated as values
60-
* // by default. If you want to reference columns, you can
61-
* // use the `ref` function.
62-
* sql<string>`concat(${ref('first_name')}, ${ref('last_name')})`.as('full_name')
62+
* // And once again, you can use the `sql`
63+
* // template tag. The template tag substitutions
64+
* // are treated as values by default. If you want
65+
* // to reference columns, you can use the `ref`
66+
* // function.
67+
* sql<string>`concat(
68+
* ${ref('first_name')},
69+
* ${ref('last_name')}
70+
* )`.as('full_name')
6371
* ])
6472
* .groupBy('person.id')
6573
* .having((eb) => eb.fn.count('pet.id'), '>', 10)

0 commit comments

Comments
 (0)