mirror of
				https://github.com/zoriya/Kyoo.git
				synced 2025-11-04 03:27:14 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git a/pg-core/dialect.cjs b/pg-core/dialect.cjs
 | 
						|
index d776a1fb503f35b5e53c6d3c1c086efa8230ea94..86541bf408e4955029c65be59d7b8ec98bb6e914 100644
 | 
						|
--- a/pg-core/dialect.cjs
 | 
						|
+++ b/pg-core/dialect.cjs
 | 
						|
@@ -347,7 +347,14 @@ class PgDialect {
 | 
						|
   buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select, overridingSystemValue_ }) {
 | 
						|
     const valuesSqlList = [];
 | 
						|
     const columns = table[import_table2.Table.Symbol.Columns];
 | 
						|
-    const colEntries = Object.entries(columns).filter(([_, col]) => !col.shouldDisableInsert());
 | 
						|
+    let colEntries = Object.entries(columns);
 | 
						|
+    colEntries = select && !is(valuesOrSelect, SQL)
 | 
						|
+        ? Object
 | 
						|
+            .keys(valuesOrSelect._.selectedFields)
 | 
						|
+            .map((key) => [key, columns[key]])
 | 
						|
+        : overridingSystemValue_
 | 
						|
+            ? colEntries
 | 
						|
+            : colEntries.filter(([_, col]) => !col.shouldDisableInsert());
 | 
						|
     const insertOrder = colEntries.map(
 | 
						|
       ([, column]) => import_sql2.sql.identifier(this.casing.getColumnCasing(column))
 | 
						|
     );
 | 
						|
diff --git a/pg-core/dialect.js b/pg-core/dialect.js
 | 
						|
index 74a16c9e86fe3a89ced32af44af0a72f1cf43cf6..08f820d46a040c315fed40b8b36d94d094174425 100644
 | 
						|
--- a/pg-core/dialect.js
 | 
						|
+++ b/pg-core/dialect.js
 | 
						|
@@ -345,7 +345,14 @@ class PgDialect {
 | 
						|
   buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select, overridingSystemValue_ }) {
 | 
						|
     const valuesSqlList = [];
 | 
						|
     const columns = table[Table.Symbol.Columns];
 | 
						|
-    const colEntries = Object.entries(columns).filter(([_, col]) => !col.shouldDisableInsert());
 | 
						|
+    let colEntries = Object.entries(columns);
 | 
						|
+    colEntries = select && !is(valuesOrSelect, SQL)
 | 
						|
+        ? Object
 | 
						|
+        .keys(valuesOrSelect._.selectedFields)
 | 
						|
+        .map((key) => [key, columns[key]])
 | 
						|
+        : overridingSystemValue_
 | 
						|
+            ? colEntries
 | 
						|
+            : colEntries.filter(([_, col]) => !col.shouldDisableInsert());
 | 
						|
     const insertOrder = colEntries.map(
 | 
						|
       ([, column]) => sql.identifier(this.casing.getColumnCasing(column))
 | 
						|
     );
 | 
						|
diff --git a/pg-core/query-builders/insert.cjs b/pg-core/query-builders/insert.cjs
 | 
						|
index 22e0a4b4ad7ac64b065fc540416c6ed15ff4336b..fd590a6a3feb48c9f1894a0619b09ca6a5d22a5c 100644
 | 
						|
--- a/pg-core/query-builders/insert.cjs
 | 
						|
+++ b/pg-core/query-builders/insert.cjs
 | 
						|
@@ -76,11 +76,6 @@ class PgInsertBuilder {
 | 
						|
   }
 | 
						|
   select(selectQuery) {
 | 
						|
     const select = typeof selectQuery === "function" ? selectQuery(new import_query_builder.QueryBuilder()) : selectQuery;
 | 
						|
-    if (!(0, import_entity.is)(select, import_sql.SQL) && !(0, import_utils.haveSameKeys)(this.table[import_table.Columns], select._.selectedFields)) {
 | 
						|
-      throw new Error(
 | 
						|
-        "Insert select error: selected fields are not the same or are in a different order compared to the table definition"
 | 
						|
-      );
 | 
						|
-    }
 | 
						|
     return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
 | 
						|
   }
 | 
						|
 }
 | 
						|
diff --git a/pg-core/query-builders/insert.js b/pg-core/query-builders/insert.js
 | 
						|
index 60a8bb0d1c22b890bd8fbf4c85d5df41ca42444c..8754d0f2923f905816016c42f339c3e9097b4128 100644
 | 
						|
--- a/pg-core/query-builders/insert.js
 | 
						|
+++ b/pg-core/query-builders/insert.js
 | 
						|
@@ -52,11 +52,6 @@ class PgInsertBuilder {
 | 
						|
   }
 | 
						|
   select(selectQuery) {
 | 
						|
     const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
 | 
						|
-    if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
 | 
						|
-      throw new Error(
 | 
						|
-        "Insert select error: selected fields are not the same or are in a different order compared to the table definition"
 | 
						|
-      );
 | 
						|
-    }
 | 
						|
     return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
 | 
						|
   }
 | 
						|
 }
 |