docs: Add CLAUDE.md with codebase guidance
Create comprehensive documentation for future Claude Code instances working in this repository, including: - Development commands for testing, building, and code quality - Core architecture overview of the SQL query builder system - Directory structure and component explanations - Testing patterns and conventions - Key dependencies and their purposes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -3,10 +3,10 @@ package sqlgen_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.fsdpf.net/go/db/v2/exp"
|
||||
"git.fsdpf.net/go/db/v2/internal/errors"
|
||||
"git.fsdpf.net/go/db/v2/internal/sb"
|
||||
"git.fsdpf.net/go/db/v2/sqlgen"
|
||||
"git.fsdpf.net/go/db/exp"
|
||||
"git.fsdpf.net/go/db/internal/errors"
|
||||
"git.fsdpf.net/go/db/internal/sb"
|
||||
"git.fsdpf.net/go/db/sqlgen"
|
||||
"github.com/stretchr/testify/suite"
|
||||
)
|
||||
|
||||
@@ -50,7 +50,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestDialect() {
|
||||
|
||||
func (dsgs *deleteSQLGeneratorSuite) TestGenerate() {
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", ""))
|
||||
SetFrom(exp.NewColumnListExpression("test"))
|
||||
|
||||
dsgs.assertCases(
|
||||
sqlgen.NewDeleteSQLGenerator("test", sqlgen.DefaultDialectOptions()),
|
||||
@@ -72,7 +72,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withUnsupportedFragment() {
|
||||
opts := sqlgen.DefaultDialectOptions()
|
||||
opts.DeleteSQLOrder = []sqlgen.SQLFragmentType{sqlgen.InsertBeingSQLFragment}
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", ""))
|
||||
SetFrom(exp.NewColumnListExpression("test"))
|
||||
|
||||
dsgs.assertCases(
|
||||
sqlgen.NewDeleteSQLGenerator("test", opts),
|
||||
@@ -94,7 +94,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withErroredBuilder() {
|
||||
opts := sqlgen.DefaultDialectOptions()
|
||||
d := sqlgen.NewDeleteSQLGenerator("test", opts)
|
||||
|
||||
dc := exp.NewDeleteClauses().SetFrom(exp.NewIdentifierExpression("", "test", ""))
|
||||
dc := exp.NewDeleteClauses().SetFrom(exp.NewColumnListExpression("test"))
|
||||
b := sb.NewSQLBuilder(false).SetError(errors.New("expected error"))
|
||||
d.Generate(b, dc)
|
||||
dsgs.assertErrorSQL(b, "db: expected error")
|
||||
@@ -111,7 +111,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withCommonTables() {
|
||||
|
||||
tse := newTestAppendableExpression("select * from foo", emptyArgs, nil, nil)
|
||||
|
||||
dc := exp.NewDeleteClauses().SetFrom(exp.NewIdentifierExpression("", "test_cte", ""))
|
||||
dc := exp.NewDeleteClauses().SetFrom(exp.NewColumnListExpression("test_cte"))
|
||||
dcCte1 := dc.CommonTablesAppend(exp.NewCommonTableExpression(false, "test_cte", tse))
|
||||
dcCte2 := dc.CommonTablesAppend(exp.NewCommonTableExpression(true, "test_cte", tse))
|
||||
|
||||
@@ -150,7 +150,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withCommonTables() {
|
||||
|
||||
func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withWhere() {
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", "")).
|
||||
SetFrom(exp.NewColumnListExpression("test")).
|
||||
WhereAppend(exp.NewLiteralExpression(`"a"=?`, 1))
|
||||
dsgs.assertCases(
|
||||
sqlgen.NewDeleteSQLGenerator("test", sqlgen.DefaultDialectOptions()),
|
||||
@@ -166,7 +166,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withOrder() {
|
||||
opts.SupportsOrderByOnDelete = true
|
||||
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", "")).
|
||||
SetFrom(exp.NewColumnListExpression("test")).
|
||||
SetOrder(exp.NewIdentifierExpression("", "", "c").Desc())
|
||||
|
||||
dsgs.assertCases(
|
||||
@@ -188,7 +188,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withLimit() {
|
||||
opts.SupportsLimitOnDelete = true
|
||||
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", "")).
|
||||
SetFrom(exp.NewColumnListExpression("test")).
|
||||
SetLimit(1)
|
||||
|
||||
dsgs.assertCases(
|
||||
@@ -210,7 +210,7 @@ func (dsgs *deleteSQLGeneratorSuite) TestGenerate_withReturning() {
|
||||
opts.SupportsReturn = true
|
||||
|
||||
dc := exp.NewDeleteClauses().
|
||||
SetFrom(exp.NewIdentifierExpression("", "test", "")).
|
||||
SetFrom(exp.NewColumnListExpression("test")).
|
||||
SetReturning(exp.NewColumnListExpression("a", "b"))
|
||||
|
||||
dsgs.assertCases(
|
||||
|
||||
Reference in New Issue
Block a user