From 53b1ede671346cba3465de835151862a2f661363 Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Mon, 5 Dec 2022 17:45:40 -0500
Subject: [PATCH] Correct PostgreSQL update_many bug when using quoted columns

---
 py_dbcn/connectors/postgresql/records.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/py_dbcn/connectors/postgresql/records.py b/py_dbcn/connectors/postgresql/records.py
index 4c40f03..556e052 100644
--- a/py_dbcn/connectors/postgresql/records.py
+++ b/py_dbcn/connectors/postgresql/records.py
@@ -125,14 +125,14 @@ class PostgresqlRecords(BaseRecords):
             for index in range(len(columns_clause)):
                 if set_clause != '':
                     set_clause += ',\n'
-                set_clause += '    {0} = pydbcn_temp.{0}::{1}'.format(
+                set_clause += '    "{0}" = pydbcn_temp."{0}"::{1}'.format(
                     columns_clause[index].strip(self._base.validate._quote_column_format),
                     column_types_clause[index],
                 )
         else:
             # No type hinting. Provide columns as-is.
             set_clause = ',\n'.join([
-                '    {0} = pydbcn_temp.{0}'.format(x.strip(self._base.validate._quote_column_format))
+                '    "{0}" = pydbcn_temp."{0}"'.format(x.strip(self._base.validate._quote_column_format))
                 for x in columns_clause
             ])
         values_clause = ',\n'.join([
@@ -140,11 +140,11 @@ class PostgresqlRecords(BaseRecords):
             for x in values_clause
         ])
         columns_clause = ', '.join([
-            x.strip(self._base.validate._quote_column_format)
+            '"{0}"'.format(x.strip(self._base.validate._quote_column_format))
             for x in columns_clause
         ])
         where_columns_clause = ' AND\n'.join([
-            '    pydbcn_update_table.{0} = pydbcn_temp.{0}'.format(x.strip(self._base.validate._quote_column_format))
+            '    pydbcn_update_table."{0}" = pydbcn_temp."{0}"'.format(x.strip(self._base.validate._quote_column_format))
             for x in where_columns_clause
         ])
 
-- 
GitLab