summaryrefslogtreecommitdiffstats
path: root/sqlglot/serde.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-02-27 10:46:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-02-27 10:46:36 +0000
commita8b22b4c5bdf9139a187c92b7b9f81bdeaa84888 (patch)
tree93b8523df3ce9e02e435f56e493bd9b724eb9c7c /sqlglot/serde.py
parentReleasing debian version 11.2.0-1. (diff)
downloadsqlglot-a8b22b4c5bdf9139a187c92b7b9f81bdeaa84888.tar.xz
sqlglot-a8b22b4c5bdf9139a187c92b7b9f81bdeaa84888.zip
Merging upstream version 11.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/serde.py')
-rw-r--r--sqlglot/serde.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/sqlglot/serde.py b/sqlglot/serde.py
index a47ffdb..c5203a7 100644
--- a/sqlglot/serde.py
+++ b/sqlglot/serde.py
@@ -32,6 +32,9 @@ def dump(node: Node) -> JSON:
obj["type"] = node.type.sql()
if node.comments:
obj["comments"] = node.comments
+ if node._meta is not None:
+ obj["meta"] = node._meta
+
return obj
return node
@@ -57,11 +60,9 @@ def load(obj: JSON) -> Node:
klass = getattr(module, class_name)
expression = klass(**{k: load(v) for k, v in obj["args"].items()})
- type_ = obj.get("type")
- if type_:
- expression.type = exp.DataType.build(type_)
- comments = obj.get("comments")
- if comments:
- expression.comments = load(comments)
+ expression.type = obj.get("type")
+ expression.comments = obj.get("comments")
+ expression._meta = obj.get("meta")
+
return expression
return obj