orchid-orm 1.77.0 → 1.77.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -818,7 +818,8 @@ var BelongsToVirtualColumn = class extends VirtualColumn {
818
818
  _onUpsertUpdate(queryForCreate, (as) => {
819
819
  createWhereNotExists._sql = `NOT EXISTS (SELECT 1 FROM "${as}")`;
820
820
  });
821
- createQuery = _queryInsertManyFrom(selectPKeys, _queryWhere(_queryTake(_querySelect(_clone(query.qb), [{}])), [createWhereNotExists]), create.values);
821
+ const sourceQuery = _queryWhere(_queryTake(_querySelect(_clone(query.qb), [{}])), [createWhereNotExists]);
822
+ createQuery = _queryInsertManyFrom(selectPKeys, sourceQuery, create.values);
822
823
  } else createQuery = _queryInsertMany(selectPKeys, create.values);
823
824
  const setForeignKeys = (as) => {
824
825
  const count = create.items.length;
@@ -903,7 +904,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
903
904
  return ((self, update, params) => {
904
905
  if (params.create) {
905
906
  const createQuery = _querySelect(_queryCreate(query.clone(), params.create), primaryKeys);
906
- _prependWith(self, setForeignKeysFromCte(update, primaryKeys, foreignKeys), createQuery);
907
+ const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
908
+ _prependWith(self, asFn, createQuery);
907
909
  } else if (params.update) {
908
910
  let appendedAs;
909
911
  _hookSelectColumns(self, foreignKeys, (aliasedForeignKeys) => {
@@ -917,7 +919,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
917
919
  if (isQueryReturnsAll(self)) throw new Error("`upsert` option is not allowed in a batch update");
918
920
  const { relQuery } = relWithSelectIds(self, query, primaryKeys, foreignKeys);
919
921
  const upsertQuery = _querySelect(_queryUpsert(relQuery, params.upsert), primaryKeys);
920
- _prependWith(self, setForeignKeysFromCte(update, primaryKeys, foreignKeys), upsertQuery);
922
+ const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
923
+ _prependWith(self, asFn, upsertQuery);
921
924
  } else if (params.delete) {
922
925
  _hookSelectColumns(self, foreignKeys, noop);
923
926
  disconnect(update, foreignKeys);
@@ -939,7 +942,10 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
939
942
  (loadForeignKeys ??= []).push(foreignKeys[i]);
940
943
  }
941
944
  }
942
- if (loadPrimaryKeys) _prependWith(self, setForeignKeysFromCte(update, loadPrimaryKeys, loadForeignKeys, true), _queryFindBy(query.select(...loadPrimaryKeys), params.set));
945
+ if (loadPrimaryKeys) {
946
+ const asFn = setForeignKeysFromCte(update, loadPrimaryKeys, loadForeignKeys, true);
947
+ _prependWith(self, asFn, _queryFindBy(query.select(...loadPrimaryKeys), params.set));
948
+ }
943
949
  }
944
950
  });
945
951
  };
@@ -1118,11 +1124,13 @@ var HasOneVirtualColumn = class extends VirtualColumn {
1118
1124
  const nullifyOrDeleteQuery = params.update ? _queryUpdate(ids.existingRelQuery, params.update) : params.upsert ? _queryUpsert(ids.existingRelQuery, makeNestedUpdateUpsertData(params.upsert, ids.setIds)) : params.delete ? _queryDelete(ids.existingRelQuery) : _queryUpdate(ids.existingRelQuery, this.setNulls);
1119
1125
  nullifyOrDeleteQuery.q.returnType = "void";
1120
1126
  _appendQuery(querySelf, nullifyOrDeleteQuery, ids.setAppendedAs);
1121
- if (params.create) _appendQuery(querySelf, _queryInsert(_clone(relQuery), {
1122
- ...params.create,
1123
- ...ids.setIds
1124
- }), noop);
1125
- else if (params.set) {
1127
+ if (params.create) {
1128
+ const createQuery = _queryInsert(_clone(relQuery), {
1129
+ ...params.create,
1130
+ ...ids.setIds
1131
+ });
1132
+ _appendQuery(querySelf, createQuery, noop);
1133
+ } else if (params.set) {
1126
1134
  const setQuery = _queryUpdate(_queryWhere(_clone(relQuery), [params.set]), ids.setIds);
1127
1135
  setQuery.q.returnType = "void";
1128
1136
  _appendQuery(querySelf, setQuery, noop);
@@ -1606,10 +1614,11 @@ const nestedUpdateUpsert = (querySelf, state, upsert) => {
1606
1614
  parentIdsSql._sql = selectCteColumnsSql(parentAs, aliasedPrimaryKeys);
1607
1615
  for (let i = 0; i < state.foreignKeys.length; i++) parentValues[i]._sql = selectCteColumnSql(parentAs, aliasedPrimaryKeys[i]);
1608
1616
  });
1609
- const upsertQuery = _querySelect(_queryUpsert(_queryWhereExists(_queryWhere(_clone(state.relatedTableQuery), [upsert.findBy]), state.joinTableQuery, [(q) => {
1617
+ const existingRelQuery = _queryWhereExists(_queryWhere(_clone(state.relatedTableQuery), [upsert.findBy]), state.joinTableQuery, [(q) => {
1610
1618
  for (let i = 0; i < state.throughPrimaryKeys.length; i++) _queryJoinOn(q, [state.throughForeignKeysFull[i], state.throughPrimaryKeysFull[i]]);
1611
1619
  return _queryWhereIn(q, true, state.foreignKeysFull, parentIdsSql);
1612
- }]), {
1620
+ }]);
1621
+ const upsertQuery = _querySelect(_queryUpsert(existingRelQuery, {
1613
1622
  update: upsert.update,
1614
1623
  create: upsert.create || {}
1615
1624
  }), state.throughPrimaryKeys);
@@ -1912,7 +1921,8 @@ const nestedUpdate = (state) => {
1912
1921
  }
1913
1922
  if (params.disconnect) await _queryDelete(queryJoinTable(state, data, params.disconnect));
1914
1923
  if (params.delete) {
1915
- const idsRows = await _queryDelete(_queryRows(_querySelect(queryJoinTable(state, data, params.delete), state.throughForeignKeys)));
1924
+ const j = queryJoinTable(state, data, params.delete);
1925
+ const idsRows = await _queryDelete(_queryRows(_querySelect(j, state.throughForeignKeys)));
1916
1926
  await _queryDelete(state.relatedTableQuery.where({ IN: {
1917
1927
  columns: state.throughPrimaryKeys,
1918
1928
  values: idsRows
@@ -1921,7 +1931,10 @@ const nestedUpdate = (state) => {
1921
1931
  if (params.set) {
1922
1932
  const j = queryJoinTable(state, data);
1923
1933
  await _queryDelete(j);
1924
- if (Array.isArray(params.set) ? params.set.length : objectHasValues(params.set)) await insertToJoinTable(state, j, data, await _queryRows(_querySelect(state.relatedTableQuery.where(conditionsToWhereArg(params.set)), state.throughPrimaryKeys)));
1934
+ if (Array.isArray(params.set) ? params.set.length : objectHasValues(params.set)) {
1935
+ const idsRows = await _queryRows(_querySelect(state.relatedTableQuery.where(conditionsToWhereArg(params.set)), state.throughPrimaryKeys));
1936
+ await insertToJoinTable(state, j, data, idsRows);
1937
+ }
1925
1938
  }
1926
1939
  });
1927
1940
  };