mirror of
https://github.com/graphql-hive/console
synced 2026-05-23 17:18:23 +00:00
Use sql.unnest for inserting large set or rows (#3595)
This commit is contained in:
parent
4574221a71
commit
0c22a415d2
2 changed files with 28 additions and 30 deletions
|
|
@ -1 +1 @@
|
|||
export const version = '0.26.0';
|
||||
export const version = '0.27.0';
|
||||
|
|
|
|||
|
|
@ -3855,23 +3855,20 @@ export async function createStorage(connection: string, maximumPoolSize: number)
|
|||
, "schema_change_id"
|
||||
, "schema_change"
|
||||
)
|
||||
VALUES ${sql.join(
|
||||
schemaCheck.breakingSchemaChanges.map(
|
||||
change =>
|
||||
sql`(
|
||||
${schemaCheck.targetId}
|
||||
, ${schemaCheck.contextId}
|
||||
, ${change.id}
|
||||
, ${sql.jsonb(
|
||||
toSerializableSchemaChange({
|
||||
...change,
|
||||
// We enhance the approved schema changes with some metadata that can be displayed on the UI
|
||||
approvalMetadata,
|
||||
}),
|
||||
)}
|
||||
)`,
|
||||
),
|
||||
sql`,`,
|
||||
SELECT * FROM ${sql.unnest(
|
||||
schemaCheck.breakingSchemaChanges.map(change => [
|
||||
schemaCheck.targetId,
|
||||
schemaCheck.contextId ?? null,
|
||||
change.id,
|
||||
JSON.stringify(
|
||||
toSerializableSchemaChange({
|
||||
...change,
|
||||
// We enhance the approved schema changes with some metadata that can be displayed on the UI
|
||||
approvalMetadata,
|
||||
}),
|
||||
),
|
||||
]),
|
||||
['uuid', 'text', 'text', 'jsonb'],
|
||||
)}
|
||||
ON CONFLICT ("target_id", "context_id", "schema_change_id") DO NOTHING
|
||||
`);
|
||||
|
|
@ -4447,19 +4444,20 @@ async function insertSchemaVersionChanges(
|
|||
"severity_level",
|
||||
"meta",
|
||||
"is_safe_based_on_usage"
|
||||
) VALUES ${sql.join(
|
||||
args.changes.map(
|
||||
change =>
|
||||
// Note: change.criticality.level is actually a computed value from meta
|
||||
sql`(
|
||||
${args.versionId},
|
||||
${change.type},
|
||||
${change.criticality},
|
||||
${JSON.stringify(change.meta)}::jsonb,
|
||||
${change.isSafeBasedOnUsage ?? false}
|
||||
)`,
|
||||
)
|
||||
SELECT * FROM
|
||||
${sql.unnest(
|
||||
args.changes.map(change =>
|
||||
// Note: change.criticality.level is actually a computed value from meta
|
||||
[
|
||||
args.versionId,
|
||||
change.type,
|
||||
change.criticality,
|
||||
JSON.stringify(change.meta),
|
||||
change.isSafeBasedOnUsage ?? false,
|
||||
],
|
||||
),
|
||||
sql`\n,`,
|
||||
['uuid', 'text', 'text', 'jsonb', 'bool'],
|
||||
)}
|
||||
`);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue