goyesql

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2023 License: BSD-2-Clause Imports: 7 Imported by: 13

README

Build Status GoDoc Go Report Card

goyesql

Golang + Yesql

Parse a file and associate SQL queries to a map. Useful for separating SQL from code logic.

Installation

$ go get -u github.com/nleof/goyesql

Usage

Create a file containing your SQL queries

-- queries.sql

-- name: list
SELECT *
FROM foo;

-- name: get
SELECT *
FROM foo
WHERE bar = $1;

And just call them in your code!

queries := goyesql.MustParseFile("queries.sql")
// use queries["list"] with sql/database, sqlx ...

Enjoy!

Documentation

Overview

Package goyesql is a Go port of Yesql

It allows you to write SQL queries in separate files.

See rationale at https://github.com/krisajenkins/yesql#rationale

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrTagMissing occurs when a query has no tag
	ErrTagMissing = errors.New("Query without tag")

	// ErrTagOverwritten occurs when a tag is overwritten by a new one
	ErrTagOverwritten = errors.New("Tag overwritten")
)

Functions

This section is empty.

Types

type Queries

type Queries map[Tag]string

Queries is a map associating a Tag to its Query

func MustParseBytes

func MustParseBytes(b []byte) Queries

MustParseBytes parses bytes but panics if an error occurs.

func MustParseFile

func MustParseFile(path string) Queries

MustParseFile calls ParseFile but panic if an error occurs

func ParseBytes

func ParseBytes(b []byte) (Queries, error)

ParseBytes parses bytes and returns Queries or an error.

func ParseFile

func ParseFile(path string) (Queries, error)

ParseFile reads a file and return Queries or an error

func ParseReader

func ParseReader(reader io.Reader) (Queries, error)

ParseReader takes an io.Reader and returns Queries or an error.

type Tag

type Tag string

Tag is a string prefixing a Query

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL