Skip to content

Commit 72f6a7e

Browse files
committed
Allow to feed smth into stdin of psql and safe_psql.
1 parent 1444759 commit 72f6a7e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

testgres/testgres.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,7 @@ def cleanup(self, max_attempts=3):
845845

846846
return self
847847

848-
def psql(self, dbname, query=None, filename=None, username=None):
848+
def psql(self, dbname, query=None, filename=None, username=None, inp=None):
849849
"""
850850
Execute a query using psql.
851851
@@ -881,14 +881,15 @@ def psql(self, dbname, query=None, filename=None, username=None):
881881

882882
# start psql process
883883
process = subprocess.Popen(psql_params,
884+
stdin=subprocess.PIPE,
884885
stdout=subprocess.PIPE,
885886
stderr=subprocess.PIPE)
886887

887888
# wait until it finishes and get stdout and stderr
888-
out, err = process.communicate()
889+
out, err = process.communicate(input=inp)
889890
return process.returncode, out, err
890891

891-
def safe_psql(self, dbname, query, username=None):
892+
def safe_psql(self, dbname, query, username=None, inp=None):
892893
"""
893894
Execute a query using psql.
894895
@@ -901,7 +902,7 @@ def safe_psql(self, dbname, query, username=None):
901902
psql's output as str.
902903
"""
903904

904-
ret, out, err = self.psql(dbname, query, username=username)
905+
ret, out, err = self.psql(dbname, query, username=username, inp=inp)
905906
if ret:
906907
err = '' if not err else err.decode('utf-8')
907908
raise QueryException(err)

0 commit comments

Comments
 (0)