aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.ru>2022-02-16 18:21:44 +0300
committervvvv <vvvv@yandex-team.ru>2022-02-16 18:21:44 +0300
commite1e97356e553c2f4a13eda00a625caa975f4ac61 (patch)
tree0d5188cbccc5287dc51e092ce07574450388c78d
parent04e26cfb286cbc71346a217021012bd82077c66f (diff)
downloadydb-e1e97356e553c2f4a13eda00a625caa975f4ac61.tar.gz
YQL-13710 scripts to copy/patch vanilla PG sources from contrib (WIP)
ref:192b62e95d5442641ba066eb8dd9bdc213e0335c
-rw-r--r--ydb/library/yql/parser/pg_query_wrapper/copy_src.py48
-rwxr-xr-xydb/library/yql/parser/pg_query_wrapper/copy_src.sh3
2 files changed, 51 insertions, 0 deletions
diff --git a/ydb/library/yql/parser/pg_query_wrapper/copy_src.py b/ydb/library/yql/parser/pg_query_wrapper/copy_src.py
new file mode 100644
index 0000000000..41a844d3a4
--- /dev/null
+++ b/ydb/library/yql/parser/pg_query_wrapper/copy_src.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import os
+from shutil import Error, copy2, rmtree
+
+def mycopy2(src, dst):
+ if src.endswith("ya.make"):
+ return
+ else:
+ copy2(src, dst)
+
+def copytree(src, dst):
+ names = os.listdir(src)
+ os.makedirs(dst)
+ errors = []
+ for name in names:
+ srcname = os.path.join(src, name)
+ dstname = os.path.join(dst, name)
+ print(srcname)
+ try:
+ if os.path.isdir(srcname):
+ copytree(srcname, dstname)
+ else:
+ mycopy2(srcname, dstname)
+ except OSError as why:
+ errors.append((srcname, dstname, str(why)))
+ except Error as err:
+ errors.extend(err.args[0])
+ if errors:
+ raise Error(errors)
+
+def make_sources_list():
+ with open("../../../../../contrib/libs/postgresql/ya.make","r") as fsrc:
+ with open("pg_sources.inc","w") as fdst:
+ fdst.write("SRCS(\n")
+ for line in fsrc:
+ if " src/" in line:
+ print(line.strip())
+ fdst.write(" postgresql/" + line.strip() + "\n")
+ fdst.write(")\n")
+
+if __name__ == "__main__":
+ make_sources_list()
+ if os.path.isdir("postgresql"):
+ rmtree("postgresql")
+ copytree("../../../../../contrib/libs/postgresql", "postgresql")
+
diff --git a/ydb/library/yql/parser/pg_query_wrapper/copy_src.sh b/ydb/library/yql/parser/pg_query_wrapper/copy_src.sh
new file mode 100755
index 0000000000..c5c6cfd6ad
--- /dev/null
+++ b/ydb/library/yql/parser/pg_query_wrapper/copy_src.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+set -eux
+python3 copy_src.py