Skip to content

Commit f59ee58

Browse files
committed
fixes int being returned as numpt.int64
1 parent 35f8bf3 commit f59ee58

File tree

1 file changed

+13
-19
lines changed

1 file changed

+13
-19
lines changed

pysimplesql/pysimplesql.py

+13-19
Original file line numberDiff line numberDiff line change
@@ -6300,11 +6300,11 @@ def relationship_to_join_clause(self, r_obj: Relationship):
63006300

63016301
def min_pk(self, table: str, pk_column: str) -> int:
63026302
rows = self.execute(f"SELECT MIN({pk_column}) as min_pk FROM {table}")
6303-
return rows.iloc[0]["min_pk"]
6303+
return rows.iloc[0]["min_pk"].tolist()
63046304

63056305
def max_pk(self, table: str, pk_column: str) -> int:
63066306
rows = self.execute(f"SELECT MAX({pk_column}) as max_pk FROM {table}")
6307-
return rows.iloc[0]["max_pk"]
6307+
return rows.iloc[0]["max_pk"].tolist()
63086308

63096309
def generate_join_clause(self, dataset: DataSet) -> str:
63106310
"""
@@ -7083,9 +7083,7 @@ def column_info(self, table):
70837083
def pk_column(self, table):
70847084
query = "SHOW KEYS FROM {} WHERE Key_name = 'PRIMARY'".format(table)
70857085
rows = self.execute(query, silent=True)
7086-
for _, row in rows.iterrows():
7087-
return row["Column_name"]
7088-
return None
7086+
return rows.iloc[0]["Column_name"]
70897087

70907088
def relationships(self):
70917089
# Return a list of dicts {from_table,to_table,from_column,to_column,requery}
@@ -7341,9 +7339,7 @@ def pk_column(self, table):
73417339
f"tc.table_name = '{table}' "
73427340
)
73437341
rows = self.execute(query, silent=True)
7344-
for _, row in rows.iterrows():
7345-
return row["column_name"]
7346-
return None
7342+
return rows.iloc[0]["column_name"]
73477343

73487344
def relationships(self):
73497345
# Return a list of dicts {from_table,to_table,from_column,to_column,requery}
@@ -7389,15 +7385,15 @@ def min_pk(self, table: str, pk_column: str) -> int:
73897385
rows = self.execute(
73907386
f"SELECT COALESCE(MIN({pk_column}), 0) AS min_pk FROM {table};", silent=True
73917387
)
7392-
return rows.fetchone()["min_pk"]
7388+
return rows.iloc[0]["min_pk"].tolist()
73937389

73947390
def max_pk(self, table: str, pk_column: str) -> int:
73957391
table = self.quote_table(table)
73967392
pk_column = self.quote_column(pk_column)
73977393
rows = self.execute(
73987394
f"SELECT COALESCE(MAX({pk_column}), 0) AS max_pk FROM {table};", silent=True
73997395
)
7400-
return rows.fetchone()["max_pk"]
7396+
return rows.iloc[0]["max_pk"].tolist()
74017397

74027398
def next_pk(self, table: str, pk_column: str) -> int:
74037399
# Working with case-sensitive tables is painful in Postgres. First, the
@@ -7410,9 +7406,7 @@ def next_pk(self, table: str, pk_column: str) -> int:
74107406
# wrap the quoted string in singe quotes. Phew!
74117407
q = f"SELECT nextval('{seq}') LIMIT 1;"
74127408
rows = self.execute(q, silent=True)
7413-
for _, row in rows.iterrows():
7414-
return row["nextval"]
7415-
return None
7409+
return rows.iloc[0]["nextval"].tolist()
74167410

74177411
def insert_record(self, table: str, pk: int, pk_column: str, row: dict):
74187412
# insert_record() for Postgres is a little different from the rest. Instead of
@@ -7546,7 +7540,7 @@ def get_tables(self):
75467540
"SELECT table_name FROM information_schema.tables WHERE table_catalog = ?"
75477541
)
75487542
rows = self.execute(query, [self.database], silent=True)
7549-
return [row["table_name"] for row in rows]
7543+
return list(rows["table_name"])
75507544

75517545
def column_info(self, table):
75527546
# Return a list of column names
@@ -7562,10 +7556,10 @@ def column_info(self, table):
75627556
WHERE TABLE_NAME = ?
75637557
"""
75647558
pk_rows = self.execute(pk_query, [table], silent=True)
7565-
for pk_row in pk_rows:
7559+
for _, pk_row in pk_rows.iterrows():
75667560
pk_columns.append(pk_row["COLUMN_NAME"])
75677561

7568-
for row in rows:
7562+
for _, row in rows.iterrows():
75697563
name = row["COLUMN_NAME"]
75707564
domain = row["DATA_TYPE"].upper()
75717565
notnull = row["IS_NULLABLE"] == "NO"
@@ -7602,7 +7596,7 @@ def relationships(self):
76027596

76037597
rows = self.execute(query, silent=True)
76047598

7605-
for row in rows:
7599+
for _, row in rows.iterrows():
76067600
dic = {}
76077601
dic["from_table"] = row["from_table"]
76087602
dic["to_table"] = row["to_table"]
@@ -7626,8 +7620,8 @@ def pk_column(self, table):
76267620

76277621
rows = self.execute(query, silent=True)
76287622

7629-
if rows:
7630-
return rows[0]["COLUMN_NAME"]
7623+
if not rows.empty:
7624+
return rows.iloc[0]["COLUMN_NAME"]
76317625
return None
76327626

76337627

0 commit comments

Comments
 (0)