mirror of
				https://github.com/zoriya/Kyoo.git
				synced 2025-11-03 19:17:16 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git a/node_modules/drizzle-orm/.bun-tag-9fae835e61d5cc75 b/.bun-tag-9fae835e61d5cc75
 | 
						|
new file mode 100644
 | 
						|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
 | 
						|
diff --git a/pg-core/query-builders/select.d.cts b/pg-core/query-builders/select.d.cts
 | 
						|
index b968ebb3f563f37c8c36221dd17cc6f3603270ec..3fda6d0a97997f6bd07ec6a0c83397c0fdd2e97e 100644
 | 
						|
--- a/pg-core/query-builders/select.d.cts
 | 
						|
+++ b/pg-core/query-builders/select.d.cts
 | 
						|
@@ -98,7 +98,16 @@ export declare abstract class PgSelectQueryBuilderBase<THKT extends PgSelectHKTB
 | 
						|
      *   .leftJoin(pets, eq(users.id, pets.ownerId))
 | 
						|
      * ```
 | 
						|
      */
 | 
						|
-    leftJoin: PgSelectJoinFn<this, TDynamic, "left">;
 | 
						|
+    leftJoin: PgSelectJoinFn<this, TDynamic, "left", false>;
 | 
						|
+	/**
 | 
						|
+	 * For each row of the table, include
 | 
						|
+	 * values from a matching row of the joined
 | 
						|
+	 * subquery, if there is a matching row. If not,
 | 
						|
+	 * all of the columns of the joined subquery
 | 
						|
+	 * will be set to null. The lateral keyword allows
 | 
						|
+	 * access to columns after the FROM statement.
 | 
						|
+	 */
 | 
						|
+	leftJoinLateral: PgSelectJoinFn<this, TDynamic, "left", true>;
 | 
						|
     /**
 | 
						|
      * Executes a `right join` operation by adding another table to the current query.
 | 
						|
      *
 | 
						|
@@ -126,7 +135,7 @@ export declare abstract class PgSelectQueryBuilderBase<THKT extends PgSelectHKTB
 | 
						|
      *   .rightJoin(pets, eq(users.id, pets.ownerId))
 | 
						|
      * ```
 | 
						|
      */
 | 
						|
-    rightJoin: PgSelectJoinFn<this, TDynamic, "right">;
 | 
						|
+    rightJoin: PgSelectJoinFn<this, TDynamic, "right", false>;
 | 
						|
     /**
 | 
						|
      * Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
 | 
						|
      *
 | 
						|
@@ -154,7 +163,14 @@ export declare abstract class PgSelectQueryBuilderBase<THKT extends PgSelectHKTB
 | 
						|
      *   .innerJoin(pets, eq(users.id, pets.ownerId))
 | 
						|
      * ```
 | 
						|
      */
 | 
						|
-    innerJoin: PgSelectJoinFn<this, TDynamic, "inner">;
 | 
						|
+    innerJoin: PgSelectJoinFn<this, TDynamic, "inner", false>;
 | 
						|
+    /**
 | 
						|
+     * For each row of the table, the joined subquery
 | 
						|
+     * needs to have a matching row, or it will
 | 
						|
+     * be excluded from results. The lateral keyword allows
 | 
						|
+     * access to columns after the FROM statement.
 | 
						|
+     */
 | 
						|
+    innerJoinLateral: PgSelectJoinFn<this, TDynamic, "inner", true>;
 | 
						|
     /**
 | 
						|
      * Executes a `full join` operation by combining rows from two tables into a new table.
 | 
						|
      *
 | 
						|
@@ -182,7 +198,7 @@ export declare abstract class PgSelectQueryBuilderBase<THKT extends PgSelectHKTB
 | 
						|
      *   .fullJoin(pets, eq(users.id, pets.ownerId))
 | 
						|
      * ```
 | 
						|
      */
 | 
						|
-    fullJoin: PgSelectJoinFn<this, TDynamic, "full">;
 | 
						|
+    fullJoin: PgSelectJoinFn<this, TDynamic, "full", false>;
 | 
						|
     private createSetOperator;
 | 
						|
     /**
 | 
						|
      * Adds `union` set operator to the query.
 | 
						|
diff --git a/pg-core/query-builders/select.js b/pg-core/query-builders/select.js
 | 
						|
index e54406fcaf68ccfdaf32c8945d4d432212c4cf3f..0441be1e483a7ec02430978b5fac5bf6d863ffc7 100644
 | 
						|
--- a/pg-core/query-builders/select.js
 | 
						|
+++ b/pg-core/query-builders/select.js
 | 
						|
@@ -98,7 +98,7 @@ class PgSelectQueryBuilderBase extends TypedQueryBuilder {
 | 
						|
     this.tableName = getTableLikeName(table);
 | 
						|
     this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
 | 
						|
   }
 | 
						|
-  createJoin(joinType) {
 | 
						|
+  createJoin(joinType, lateral = false) {
 | 
						|
     return (table, on) => {
 | 
						|
       const baseTableName = this.tableName;
 | 
						|
       const tableName = getTableLikeName(table);
 | 
						|
@@ -127,7 +127,7 @@ class PgSelectQueryBuilderBase extends TypedQueryBuilder {
 | 
						|
       if (!this.config.joins) {
 | 
						|
         this.config.joins = [];
 | 
						|
       }
 | 
						|
-      this.config.joins.push({ on, table, joinType, alias: tableName });
 | 
						|
+      this.config.joins.push({ on, table, joinType, alias: tableName, lateral });
 | 
						|
       if (typeof tableName === "string") {
 | 
						|
         switch (joinType) {
 | 
						|
           case "left": {
 | 
						|
@@ -185,6 +185,15 @@ class PgSelectQueryBuilderBase extends TypedQueryBuilder {
 | 
						|
    * ```
 | 
						|
    */
 | 
						|
   leftJoin = this.createJoin("left");
 | 
						|
+	/**
 | 
						|
+	 * For each row of the table, include
 | 
						|
+	 * values from a matching row of the joined
 | 
						|
+	 * subquery, if there is a matching row. If not,
 | 
						|
+	 * all of the columns of the joined subquery
 | 
						|
+	 * will be set to null. The lateral keyword allows
 | 
						|
+	 * access to columns after the FROM statement.
 | 
						|
+	 */
 | 
						|
+	leftJoinLateral = this.createJoin("left", true);
 | 
						|
   /**
 | 
						|
    * Executes a `right join` operation by adding another table to the current query.
 | 
						|
    *
 | 
						|
@@ -241,6 +250,13 @@ class PgSelectQueryBuilderBase extends TypedQueryBuilder {
 | 
						|
    * ```
 | 
						|
    */
 | 
						|
   innerJoin = this.createJoin("inner");
 | 
						|
+  /**
 | 
						|
+   * For each row of the table, the joined subquery
 | 
						|
+   * needs to have a matching row, or it will
 | 
						|
+   * be excluded from results. The lateral keyword allows
 | 
						|
+   * access to columns after the FROM statement.
 | 
						|
+   */
 | 
						|
+  innerJoinLateral = this.createJoin("inner", true);
 | 
						|
   /**
 | 
						|
    * Executes a `full join` operation by combining rows from two tables into a new table.
 | 
						|
    *
 |