From 078b10c48e3ad3e7fba261c6d35760a07a485a09 Mon Sep 17 00:00:00 2001 From: Zach Musgrave Date: Mon, 27 Jan 2025 16:11:06 -0800 Subject: [PATCH] Formatting and tests --- server/analyzer/init.go | 2 +- server/analyzer/validate_column_defaults.go | 5 +++-- server/functions/gen_random_uuid.go | 9 +++++---- server/node/create_table.go | 4 ++-- testing/go/alter_table_test.go | 18 +++++++++++++++++- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/server/analyzer/init.go b/server/analyzer/init.go index c7dca4dd10..be9ecdcb98 100644 --- a/server/analyzer/init.go +++ b/server/analyzer/init.go @@ -37,7 +37,7 @@ const ( ruleId_ResolveType // resolveType ruleId_ReplaceArithmeticExpressions // replaceArithmeticExpressions ruleId_OptimizeFunctions // optimizeFunctions - ruleId_ValidateColumnDefaults // validateColumnDefaults + ruleId_ValidateColumnDefaults // validateColumnDefaults ) // Init adds additional rules to the analyzer to handle Doltgres-specific functionality. diff --git a/server/analyzer/validate_column_defaults.go b/server/analyzer/validate_column_defaults.go index d0e11ce299..aec6135ad3 100644 --- a/server/analyzer/validate_column_defaults.go +++ b/server/analyzer/validate_column_defaults.go @@ -15,12 +15,13 @@ package analyzer import ( - pgnode "github.com/dolthub/doltgresql/server/node" "github.com/dolthub/go-mysql-server/sql" "github.com/dolthub/go-mysql-server/sql/analyzer" "github.com/dolthub/go-mysql-server/sql/expression" "github.com/dolthub/go-mysql-server/sql/plan" "github.com/dolthub/go-mysql-server/sql/transform" + + pgnode "github.com/dolthub/doltgresql/server/node" ) // validateColumnDefaults ensures that newly created column defaults from a DDL statement are legal for the type of @@ -198,4 +199,4 @@ func getResolvedTable(node sql.Node) *plan.ResolvedTable { return true }) return table -} \ No newline at end of file +} diff --git a/server/functions/gen_random_uuid.go b/server/functions/gen_random_uuid.go index 2821b20966..0621acb2fd 100755 --- a/server/functions/gen_random_uuid.go +++ b/server/functions/gen_random_uuid.go @@ -15,10 +15,11 @@ package functions import ( + "github.com/dolthub/go-mysql-server/sql" + "github.com/dolthub/doltgresql/postgres/parser/uuid" "github.com/dolthub/doltgresql/server/functions/framework" pgtypes "github.com/dolthub/doltgresql/server/types" - "github.com/dolthub/go-mysql-server/sql" ) // initRadians registers the functions to the catalog. @@ -27,9 +28,9 @@ func initGenRandomUuid() { } var gen_random_uuid = framework.Function0{ - Name: "gen_random_uuid", - Return: pgtypes.Uuid, - Strict: true, + Name: "gen_random_uuid", + Return: pgtypes.Uuid, + Strict: true, Callable: func(ctx *sql.Context) (any, error) { return uuid.NewV4() }, diff --git a/server/node/create_table.go b/server/node/create_table.go index 401e2f5e9b..a0d0a085b0 100644 --- a/server/node/create_table.go +++ b/server/node/create_table.go @@ -112,8 +112,8 @@ func (c CreateTable) WithTargetSchema(schema sql.Schema) (sql.Node, error) { if err != nil { return nil, err } - + c.gmsCreateTable = n.(*plan.CreateTable) - + return &c, nil } diff --git a/testing/go/alter_table_test.go b/testing/go/alter_table_test.go index 9ab7da1eba..1fc995434d 100644 --- a/testing/go/alter_table_test.go +++ b/testing/go/alter_table_test.go @@ -437,12 +437,24 @@ func TestAlterTable(t *testing.T) { created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL );`, - "INSERT INTO t1 (id, uid) VALUES (1, '00000000-0000-0000-0000-000000000001');", + "INSERT INTO t1 (id, uid) VALUES (1, '00000000-0000-0000-0000-000000000001');", }, Assertions: []ScriptTestAssertion{ { Query: "ALTER TABLE ONLY public.t1 ADD CONSTRAINT t1_pkey PRIMARY KEY (id);", }, + { + Query: "select created_at is not null from t1 where id = 1;", + Expected: []sql.Row{{"t"}}, + }, + { + Query: "select updated_at is not null from t1 where id = 1;", + Expected: []sql.Row{{"t"}}, + }, + { + Query: "select created_at = updated_at from t1 where id = 1;", + Expected: []sql.Row{{"t"}}, + }, }, }, { @@ -458,6 +470,10 @@ func TestAlterTable(t *testing.T) { { Query: "ALTER TABLE ONLY public.t1 ADD CONSTRAINT t1_pkey PRIMARY KEY (id);", }, + { + Query: "select uid is not null from t1 where id = 1;", + Expected: []sql.Row{{"t"}}, + }, }, }, })