Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
0860f9d
introduce table constraint
gengliangwang Feb 20, 2025
0b222ba
add AlterTableAddConstraintParseSuite and AlterTableDropConstraintPar…
gengliangwang Feb 20, 2025
40d27ae
update error conditions and add tests
gengliangwang Feb 21, 2025
f244c75
rename logical plans
gengliangwang Feb 21, 2025
b60e100
add methods in CatalogV2Util and tests
gengliangwang Feb 22, 2025
d2b7f0a
add DropConstraintSuite
gengliangwang Feb 24, 2025
8264d5a
refactor parse changes
gengliangwang Feb 24, 2025
5c57ce2
fix visitCreateTableClauses
gengliangwang Feb 25, 2025
c3a7c41
rename as AddCheckConstraint
gengliangwang Feb 25, 2025
90e1404
save for now
gengliangwang Feb 27, 2025
6381a24
refactor check constraint
gengliangwang Mar 4, 2025
5eaa069
rename AddConstraint
gengliangwang Mar 4, 2025
a63c1d9
introduce CheckConstraint expr
gengliangwang Mar 4, 2025
0063155
introduce Constraints expression
gengliangwang Mar 4, 2025
af2fa61
add CreateTableConstraintParseSuite
gengliangwang Mar 5, 2025
5d86c93
add new create table api
gengliangwang Mar 5, 2025
a8972ec
add CreateTableConstraintSuite
gengliangwang Mar 5, 2025
ea23855
fix CreateTableConstraintSuite
gengliangwang Mar 5, 2025
3944f60
resolve constraints with a fake project
gengliangwang Mar 5, 2025
6b1a4af
resolve constraint with a default analyzer
gengliangwang Mar 6, 2025
46aa448
improve error message
gengliangwang Mar 6, 2025
18f7c65
move constraint class
gengliangwang Mar 20, 2025
3acca28
remove Constraint.java
gengliangwang Mar 20, 2025
a0ab768
[SPARK-51441][SQL] Add DSv2 APIs for constraints
aokolnychyi Mar 11, 2025
d029a99
Flatten the structure, add builders
aokolnychyi Mar 20, 2025
12fe567
fix compiling
gengliangwang Mar 20, 2025
6c30863
refactor parser and fix tests
gengliangwang Mar 22, 2025
cdf55b5
new syntax; compiling version
gengliangwang Mar 24, 2025
c80e898
getOriginalText
gengliangwang Mar 24, 2025
41dcc23
add more tests for characteristic
gengliangwang Mar 25, 2025
8bc6c32
add tests in CreateTableConstraintParseSuite
gengliangwang Mar 25, 2025
24e3bf7
add tests for ConstraintCharacteristics in CheckConstraintSuite
gengliangwang Mar 25, 2025
252332e
save for now
gengliangwang Mar 25, 2025
462de00
fix create table constraint syntax
gengliangwang Mar 25, 2025
60f2d0b
refactor syntax
gengliangwang Mar 26, 2025
ff3133a
revise syntax; fix test failures
gengliangwang Mar 26, 2025
7a33e57
refactor test code
gengliangwang Mar 26, 2025
1923e1b
remove Expression Constraints
gengliangwang Mar 27, 2025
3c6cac5
rename ConstraintExpression as TableConstraint
gengliangwang Mar 27, 2025
7aea90c
refactor syntax as per standard
gengliangwang Mar 27, 2025
78c3904
remove column check constraint test cases
gengliangwang Mar 27, 2025
20d7cf9
add pk&fk
gengliangwang Mar 27, 2025
af3fb91
parse column constraint
gengliangwang Mar 27, 2025
337c35f
support PK & Unique; add tests
gengliangwang Mar 27, 2025
c8edfd0
create table with FK
gengliangwang Mar 28, 2025
5317f28
refactor alter
gengliangwang Mar 28, 2025
9ada207
add test case for unique
gengliangwang Mar 28, 2025
3451452
add test case for fk
gengliangwang Mar 28, 2025
657fce1
remove legacy CreateTableConstraintSuite.scala
gengliangwang Mar 28, 2025
1b5cc2f
change default value of rely; add PrimaryKeyConstraintSuite
gengliangwang Mar 28, 2025
44bbd78
change check constraint to NORELY
gengliangwang Mar 28, 2025
87d2206
change the valid status of check
gengliangwang Mar 28, 2025
258d10d
disallow enforce in pk/fk/unique
gengliangwang Mar 31, 2025
05bff35
refactor tests
gengliangwang Mar 31, 2025
d1abaf3
add test for unique and fk
gengliangwang Mar 31, 2025
528b6ff
save for now
gengliangwang Apr 1, 2025
d14f5e5
support generated name
gengliangwang Apr 1, 2025
0b84a72
unnamed check constraint
gengliangwang Apr 1, 2025
d3f7df4
simplify test
gengliangwang Apr 1, 2025
7e8273e
support unnamed constraint in replace table;add test cases for replac…
gengliangwang Apr 1, 2025
5cc47a3
handle Nondeterministic check
gengliangwang Apr 1, 2025
675b573
add more tests in CheckConstraintParseSuite
gengliangwang Apr 1, 2025
e51cbd0
fix PrimaryKeyConstraintParseSuite
gengliangwang Apr 1, 2025
aead1b2
fix ForeignKeyConstraintParseSuite
gengliangwang Apr 1, 2025
dc24937
fix UniqueConstraintParseSuite
gengliangwang Apr 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
rename as AddCheckConstraint
  • Loading branch information
gengliangwang committed Feb 25, 2025
commit c3a7c415145d4395a9d153983963a6cafce86f32
Original file line number Diff line number Diff line change
Expand Up @@ -1191,7 +1191,7 @@ trait CheckAnalysis extends LookupCatalog with QueryErrorsBase with PlanToString
case _ =>
}

case addConstraint @ AddConstraint(table: ResolvedTable, _, constraintExpr) =>
case addConstraint @ AddCheckConstraint(table: ResolvedTable, _, constraintExpr) =>
if (!constraintExpr.resolved) {
constraintExpr.failAnalysis(
errorClass = "INVALID_CHECK_CONSTRAINT.UNRESOLVED",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5250,7 +5250,7 @@ class AstBuilder extends DataTypeAstBuilder
}

/**
* Parse a [[AddConstraint]] command.
* Parse a [[AddCheckConstraint]] command.
*
* For example:
* {{{
Expand All @@ -5262,7 +5262,7 @@ class AstBuilder extends DataTypeAstBuilder
val table = createUnresolvedTable(
ctx.identifierReference, "ALTER TABLE ... ADD CONSTRAINT")
val constraintExpression = visitConstraintSpec(ctx.constraintSpec())
AddConstraint(table, ctx.constraintSpec().constraintName.getText, constraintExpression)
AddCheckConstraint(table, ctx.constraintSpec().constraintName.getText, constraintExpression)
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ case class AlterTableCollation(
/**
* The logical plan of the ALTER TABLE ... ADD CONSTRAINT command.
*/
case class AddConstraint(
case class AddCheckConstraint(
table: LogicalPlan,
name: String,
constraintExpr: Expression) extends AlterTableCommand {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import org.apache.spark.sql.catalyst.analysis.{AnalysisTest, UnresolvedAttribute
import org.apache.spark.sql.catalyst.expressions.{GreaterThan, Literal}
import org.apache.spark.sql.catalyst.parser.CatalystSqlParser.parsePlan
import org.apache.spark.sql.catalyst.parser.ParseException
import org.apache.spark.sql.catalyst.plans.logical.AddConstraint
import org.apache.spark.sql.catalyst.plans.logical.AddCheckConstraint
import org.apache.spark.sql.test.SharedSparkSession

class AlterTableAddConstraintParseSuite extends AnalysisTest with SharedSparkSession {
Expand All @@ -31,7 +31,7 @@ class AlterTableAddConstraintParseSuite extends AnalysisTest with SharedSparkSes
|ALTER TABLE a.b.c ADD CONSTRAINT c1 CHECK (d > 0)
|""".stripMargin
val parsed = parsePlan(sql)
val expected = AddConstraint(
val expected = AddCheckConstraint(
UnresolvedTable(
Seq("a", "b", "c"),
"ALTER TABLE ... ADD CONSTRAINT"),
Expand Down
Loading