summaryrefslogtreecommitdiffstats
path: root/sqlglot/generator.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-04-07 12:35:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-04-07 12:35:04 +0000
commitfb7e79eb4c8d6e22b7324de4bb1ea9cd11b8da7c (patch)
tree476513580a6824dfe34364f98f0dbf7f66d188f4 /sqlglot/generator.py
parentReleasing debian version 11.4.5-1. (diff)
downloadsqlglot-fb7e79eb4c8d6e22b7324de4bb1ea9cd11b8da7c.tar.xz
sqlglot-fb7e79eb4c8d6e22b7324de4bb1ea9cd11b8da7c.zip
Merging upstream version 11.5.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/generator.py')
-rw-r--r--sqlglot/generator.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/sqlglot/generator.py b/sqlglot/generator.py
index 6871dd8..8a49d55 100644
--- a/sqlglot/generator.py
+++ b/sqlglot/generator.py
@@ -466,6 +466,12 @@ class Generator:
if part
)
+ def columnposition_sql(self, expression: exp.ColumnPosition) -> str:
+ this = self.sql(expression, "this")
+ this = f" {this}" if this else ""
+ position = self.sql(expression, "position")
+ return f"{position}{this}"
+
def columndef_sql(self, expression: exp.ColumnDef) -> str:
column = self.sql(expression, "this")
kind = self.sql(expression, "kind")
@@ -473,8 +479,10 @@ class Generator:
exists = "IF NOT EXISTS " if expression.args.get("exists") else ""
kind = f" {kind}" if kind else ""
constraints = f" {constraints}" if constraints else ""
+ position = self.sql(expression, "position")
+ position = f" {position}" if position else ""
- return f"{exists}{column}{kind}{constraints}"
+ return f"{exists}{column}{kind}{constraints}{position}"
def columnconstraint_sql(self, expression: exp.ColumnConstraint) -> str:
this = self.sql(expression, "this")
@@ -1591,6 +1599,11 @@ class Generator:
exp.Case(ifs=[expression.copy()], default=expression.args.get("false"))
)
+ def matchagainst_sql(self, expression: exp.MatchAgainst) -> str:
+ modifier = expression.args.get("modifier")
+ modifier = f" {modifier}" if modifier else ""
+ return f"{self.func('MATCH', *expression.expressions)} AGAINST({self.sql(expression, 'this')}{modifier})"
+
def jsonkeyvalue_sql(self, expression: exp.JSONKeyValue) -> str:
return f"{self.sql(expression, 'this')}: {self.sql(expression, 'expression')}"