Simplify sqlJoin required arguments
This commit is contained in:
parent
e87873c929
commit
c3248be854
4 changed files with 10 additions and 13 deletions
|
@ -1861,7 +1861,7 @@ async function searchMessages({
|
||||||
ON
|
ON
|
||||||
messages.id = mentions.messageId
|
messages.id = mentions.messageId
|
||||||
AND mentions.mentionAci IN (
|
AND mentions.mentionAci IN (
|
||||||
${sqlJoin(contactServiceIdsMatchingQuery, ', ')}
|
${sqlJoin(contactServiceIdsMatchingQuery)}
|
||||||
)
|
)
|
||||||
AND ${
|
AND ${
|
||||||
conversationId
|
conversationId
|
||||||
|
@ -2944,7 +2944,7 @@ async function getNearbyMessageFromDeletedSet({
|
||||||
conversationId = ${conversationId} AND
|
conversationId = ${conversationId} AND
|
||||||
(${_storyIdPredicate(storyId, includeStoryReplies)}) AND
|
(${_storyIdPredicate(storyId, includeStoryReplies)}) AND
|
||||||
isStory IS 0 AND
|
isStory IS 0 AND
|
||||||
id NOT IN (${sqlJoin(deletedMessageIds, ', ')}) AND
|
id NOT IN (${sqlJoin(deletedMessageIds)}) AND
|
||||||
type IN ('incoming', 'outgoing')
|
type IN ('incoming', 'outgoing')
|
||||||
AND (
|
AND (
|
||||||
(received_at = ${received_at} AND sent_at ${compare} ${sent_at}) OR
|
(received_at = ${received_at} AND sent_at ${compare} ${sent_at}) OR
|
||||||
|
@ -3495,10 +3495,7 @@ function getCallHistoryGroupDataSync(
|
||||||
db.exec(createTempTable);
|
db.exec(createTempTable);
|
||||||
|
|
||||||
batchMultiVarQuery(db, conversationIds, ids => {
|
batchMultiVarQuery(db, conversationIds, ids => {
|
||||||
const idList = sqlJoin(
|
const idList = sqlJoin(ids.map(id => sqlFragment`${id}`));
|
||||||
ids.map(id => sqlFragment`${id}`),
|
|
||||||
','
|
|
||||||
);
|
|
||||||
|
|
||||||
const [insertQuery, insertParams] = sql`
|
const [insertQuery, insertParams] = sql`
|
||||||
INSERT INTO temp_callHistory_filtered_conversations
|
INSERT INTO temp_callHistory_filtered_conversations
|
||||||
|
@ -5499,7 +5496,7 @@ function modifyStoryDistributionMembersSync(
|
||||||
db,
|
db,
|
||||||
toRemove,
|
toRemove,
|
||||||
(serviceIds: ReadonlyArray<ServiceIdString>) => {
|
(serviceIds: ReadonlyArray<ServiceIdString>) => {
|
||||||
const serviceIdSet = sqlJoin(serviceIds, ',');
|
const serviceIdSet = sqlJoin(serviceIds);
|
||||||
const [sqlQuery, sqlParams] = sql`
|
const [sqlQuery, sqlParams] = sql`
|
||||||
DELETE FROM storyDistributionMembers
|
DELETE FROM storyDistributionMembers
|
||||||
WHERE listId = ${listId} AND serviceId IN (${serviceIdSet});
|
WHERE listId = ${listId} AND serviceId IN (${serviceIdSet});
|
||||||
|
|
|
@ -105,9 +105,9 @@ export function sqlConstant(value: QueryTemplateParam): QueryFragment {
|
||||||
/**
|
/**
|
||||||
* Like `Array.prototype.join`, but for SQL fragments.
|
* Like `Array.prototype.join`, but for SQL fragments.
|
||||||
*/
|
*/
|
||||||
|
const SQL_JOIN_SEPARATOR = ',';
|
||||||
export function sqlJoin(
|
export function sqlJoin(
|
||||||
items: ReadonlyArray<QueryFragmentValue>,
|
items: ReadonlyArray<QueryFragmentValue>
|
||||||
separator: string
|
|
||||||
): QueryFragment {
|
): QueryFragment {
|
||||||
let query = '';
|
let query = '';
|
||||||
const params: Array<QueryTemplateParam> = [];
|
const params: Array<QueryTemplateParam> = [];
|
||||||
|
@ -118,7 +118,7 @@ export function sqlJoin(
|
||||||
params.push(...fragmentParams);
|
params.push(...fragmentParams);
|
||||||
|
|
||||||
if (index < items.length - 1) {
|
if (index < items.length - 1) {
|
||||||
query += separator;
|
query += SQL_JOIN_SEPARATOR;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -344,7 +344,7 @@ export function removeById<Key extends string | number>(
|
||||||
const removeByIdsSync = (ids: ReadonlyArray<string | number>): void => {
|
const removeByIdsSync = (ids: ReadonlyArray<string | number>): void => {
|
||||||
const [query, params] = sql`
|
const [query, params] = sql`
|
||||||
DELETE FROM ${table}
|
DELETE FROM ${table}
|
||||||
WHERE id IN (${sqlJoin(ids, ', ')});
|
WHERE id IN (${sqlJoin(ids)});
|
||||||
`;
|
`;
|
||||||
totalChanges += db.prepare(query).run(params).changes;
|
totalChanges += db.prepare(query).run(params).changes;
|
||||||
};
|
};
|
||||||
|
|
|
@ -38,7 +38,7 @@ describe('sql/utils/sql', () => {
|
||||||
|
|
||||||
const [selectQuery, selectParams] = sql`
|
const [selectQuery, selectParams] = sql`
|
||||||
SELECT * FROM examples WHERE
|
SELECT * FROM examples WHERE
|
||||||
id IN (${sqlJoin([1, 2], ', ')}) OR
|
id IN (${sqlJoin([1, 2])}) OR
|
||||||
${predicate};
|
${predicate};
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
|
@ -3447,7 +3447,7 @@ describe('SQL migrations test', () => {
|
||||||
ON
|
ON
|
||||||
messages.id = mentions.messageId
|
messages.id = mentions.messageId
|
||||||
AND mentions.mentionUuid IN (
|
AND mentions.mentionUuid IN (
|
||||||
${sqlJoin(['a', 'b', 'c'], ', ')}
|
${sqlJoin(['a', 'b', 'c'])}
|
||||||
)
|
)
|
||||||
AND messages.isViewOnce IS NOT 1
|
AND messages.isViewOnce IS NOT 1
|
||||||
AND messages.storyId IS NULL
|
AND messages.storyId IS NULL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue