🐹 @query Operator in TuskLang - Go Guide

Go Documentation

@query Operator in TuskLang - Go Guide

πŸ—„οΈ Database Power in Your Config: @query Unleashed

TuskLang's @query operator is pure database rebellion. We don't bow to any kingβ€”not even SQL. Here's how to use @query in Go projects to inject live database data directly into your configuration.

πŸ“‹ Table of Contents

- What is @query? - Basic Usage - Database Connections - Query Types - Go Integration - Best Practices

πŸ” What is @query?

The @query operator executes SQL queries and injects the results directly into your config. No more static dataβ€”just pure, live database power.

πŸ› οΈ Basic Usage

[stats]
user_count: @query("SELECT COUNT(*) FROM users")
active_users: @query("SELECT COUNT(*) FROM users WHERE status = 'active'")

πŸ”Œ Database Connections

[database]
connection: "postgres://user:pass@localhost/db"
user_count: @query("SELECT COUNT(*) FROM users", connection)

πŸ“Š Query Types

Count Queries

[metrics]
total_users: @query("SELECT COUNT(*) FROM users")

Single Value Queries

[settings]
max_connections: @query("SELECT value FROM settings WHERE key = 'max_connections'")

JSON Queries

[config]
user_stats: @query("SELECT json_agg(u.*) FROM users u WHERE active = true")

πŸ”— Go Integration

userCount := config.GetInt("user_count")
maxConnections := config.GetInt("max_connections")

Database Connection Handling

db, err := sql.Open("postgres", connectionString)
if err != nil {
    log.Fatal(err)
}
defer db.Close()

var count int err = db.QueryRow("SELECT COUNT(*) FROM users").Scan(&count)

πŸ₯‡ Best Practices

- Use parameterized queries for security - Cache expensive queries with @cache - Handle database connection errors gracefully - Use transactions for complex operations

---

TuskLang: Your config is alive with @query.