From e2167ebd1dff47912e01e34b4aea62920cc951dc Mon Sep 17 00:00:00 2001 From: Luis Acosta Date: Wed, 28 Apr 2021 11:50:10 -0400 Subject: [PATCH] building cli for pgxcrown project --- pgxcrown.nimble | 7 ++-- src/bin/cli/pgxcrown | Bin 0 -> 230868 bytes src/build_extension.nim | 50 ----------------------------- src/cli/build_extension.nim | 62 ++++++++++++++++++++++++++++++++++++ src/cli/pgxcrown.nim | 11 +++++++ 5 files changed, 78 insertions(+), 52 deletions(-) create mode 100755 src/bin/cli/pgxcrown delete mode 100644 src/build_extension.nim create mode 100644 src/cli/build_extension.nim create mode 100644 src/cli/pgxcrown.nim diff --git a/pgxcrown.nimble b/pgxcrown.nimble index 942fbf7..4635e66 100644 --- a/pgxcrown.nimble +++ b/pgxcrown.nimble @@ -1,12 +1,15 @@ # Package -version = "0.2.9" +version = "0.3.0" author = "luisacosta828" description = "Build Postgres extensions in Nim." srcDir = "src" license = "MIT" -bin = @["build_extension"] +bin = @["cli/pgxcrown"] binDir = "src/bin" + +#namedBin["build_extension"] = "pgxcrown" + # Dependencies requires "nim >= 0.12.0" diff --git a/src/bin/cli/pgxcrown b/src/bin/cli/pgxcrown new file mode 100755 index 0000000000000000000000000000000000000000..8e664d02db5db820e1fb705f44592e5e19274f37 GIT binary patch literal 230868 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 literal 0 HcmV?d00001 diff --git a/src/build_extension.nim b/src/build_extension.nim deleted file mode 100644 index 85dfd29..0000000 --- a/src/build_extension.nim +++ /dev/null @@ -1,50 +0,0 @@ -from strutils import parseInt, repeat, join, split -from osproc import execCmd, execCmdEx -import tables,os - -var file = paramStr(1) - -discard execCmd "nim c -d:release --hints:off --opt:size --app:lib " & file & ".nim" - -var produced_lib = "lib"&extractFilename(file) - -var postgreslib = execCmdEx("pg_config --pkglibdir").output.split("\n")[0] - -echo "Moving ",produced_lib,".so to ", postgreslib -discard execCmd "sudo mv "&produced_lib&".so "&postgreslib - -var nim_target_function:string - -proc build_pg_function():string = - - nim_target_function = execCmdEx("""grep -i pgv1 """ & file & """.nim | awk '{ print $2}' | tr "()" "\n" | head -n1""").output.split("\n")[0] - - var create_function = "CREATE OR REPLACE FUNCTION "&nim_target_function&"_funtion_template" - - var types = {"Int16": "int", "Int32": "int", "Float4":"real", "Float8": "real", "Varchar": "varchar"}.toTable - - var get_type:tuple[output:string, exitCode:int] - var return_type:tuple[output:string, exitCode:int] - var total_args:int - var param_builder:string = "(" - var returns:string - var args:seq[string] - - for key,value in types.pairs(): - get_type = execCmdEx("grep -c get"&key&" "&file&".nim") - return_type = execCmdEx("grep -c return"&key&" "&file&".nim") - if get_type.exitCode == 0: - total_args = parseInt(get_type.output.split("\n")[0]) - 1 - for i in 0..total_args: - args.add(value) - if return_type.exitCode == 0: - returns = " RETURNS "&value - - param_builder = param_builder & args.join(",") & ")" - - result = create_function & param_builder & returns & " as '"&file&".so' , '"&nim_target_function&"' LANGUAGE C STRICT;" - -discard execCmd """ echo " """ & build_pg_function() & """ " > """ & nim_target_function & ".sql" - -echo "Created file: ",nim_target_function,".sql" - diff --git a/src/cli/build_extension.nim b/src/cli/build_extension.nim new file mode 100644 index 0000000..adac2b0 --- /dev/null +++ b/src/cli/build_extension.nim @@ -0,0 +1,62 @@ +from strutils import parseInt, repeat, join, split +from osproc import execCmd, execCmdEx +import tables,os + +var nim_target_function* :string + +{.push inline .} + +proc compile_library(file:string) = discard execCmdEx "nim c -d:release --hints:off --opt:size --app:lib " & file & ".nim" +proc getLibName(file:string):string = "lib"&extractFilename(file) +proc getPostgresLibDir(): string = execCmdEx("pg_config --pkglibdir").output.split("\n")[0] + +proc moveTo( libname:string, postgreslib:string ) = discard execCmd "sudo mv "&libname&".so "&postgreslib + +proc extractV1Function( file:string ):string = + execCmdEx("""grep -i pgv1 """ & file & """.nim | awk '{ print $2}' | tr "()" "\n" | head -n1""").output.split("\n")[0] + +proc createSQLFunction( file:string, nim_target_function: string): string = + var create_function = "CREATE OR REPLACE FUNCTION "&nim_target_function&"_template" + var types = {"Int16": "int", "Int32": "int", "Float4":"real", "Float8": "real", "Varchar": "varchar"}.toTable + var get_type:tuple[output:string, exitCode:int] + var return_type:tuple[output:string, exitCode:int] + var total_args:int + var param_builder:string = "(" + var returns:string + var args:seq[string] + + for key,value in types.pairs(): + get_type = execCmdEx("grep -c get"&key&" "&file&".nim") + return_type = execCmdEx("grep -c return"&key&" "&file&".nim") + if get_type.exitCode == 0: + total_args = parseInt(get_type.output.split("\n")[0]) - 1 + for i in 0..total_args: + args.add(value) + if return_type.exitCode == 0: + returns = " RETURNS "&value + + param_builder = param_builder & args.join(",") & ")" + result = create_function & param_builder & returns & " as '"&getLibName(file)&".so' , '"&nim_target_function&"' LANGUAGE C STRICT;" + + +proc build_pg_function*( file:string ):string = + + echo "Compiling: ",file, "..." + compile_library(file) + + echo "Searching postgres libdir..." + var postgreslib = getPostgresLibDir() + + var libname = getLibName(file) + + echo "Moving ",libname,".so to ", postgreslib + + libname.moveTo(postgreslib) + + nim_target_function = extractV1Function(file) + + echo "Creating SQL Function..." + + result = createSQLFunction(file,nim_target_function) + +{.pop.} diff --git a/src/cli/pgxcrown.nim b/src/cli/pgxcrown.nim new file mode 100644 index 0000000..f516d22 --- /dev/null +++ b/src/cli/pgxcrown.nim @@ -0,0 +1,11 @@ +import os, osproc + +import build_extension + +var build_opt = paramStr(1) + +if build_opt == "--build-extension": + discard execCmd """ echo " """ & build_pg_function(paramStr(2)) & """ " > """ & nim_target_function & ".sql" + echo "Created file: ",nim_target_function,".sql" +else: + echo "error"