MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / ExampleExtractMetadata

Function ExampleExtractMetadata

pkg/gosqlx/example_test.go:192–209  ·  view source on GitHub ↗

ExampleExtractMetadata demonstrates extracting comprehensive metadata from a query.

()

Source from the content-addressed store, hash-verified

190
191// ExampleExtractMetadata demonstrates extracting comprehensive metadata from a query.
192func ExampleExtractMetadata() {
193 sql := `SELECT u.name, COUNT(o.id) as order_count
194 FROM users u
195 LEFT JOIN orders o ON u.id = o.user_id
196 WHERE u.active = true
197 GROUP BY u.name
198 HAVING COUNT(o.id) > 5`
199
200 ast, err := gosqlx.Parse(sql)
201 if err != nil {
202 log.Fatal(err)
203 }
204
205 metadata := gosqlx.ExtractMetadata(ast)
206 fmt.Printf("Tables: %d, Columns: %d, Functions: %d\n",
207 len(metadata.Tables), len(metadata.Columns), len(metadata.Functions))
208 // Output: Tables: 2, Columns: 4, Functions: 1
209}
210
211// ExampleExtractTablesQualified demonstrates extracting qualified table names.
212func ExampleExtractTablesQualified() {

Callers

nothing calls this directly

Calls 2

ParseFunction · 0.92
ExtractMetadataFunction · 0.92

Tested by

no test coverage detected