| 6 | * Converts Prisma ORM isolation level to PostgreSQL SQL syntax. |
| 7 | */ |
| 8 | export function isolationLevelToSql(level: IsolationLevel): string { |
| 9 | switch (level) { |
| 10 | case 'READ UNCOMMITTED': |
| 11 | return 'READ UNCOMMITTED' |
| 12 | case 'READ COMMITTED': |
| 13 | return 'READ COMMITTED' |
| 14 | case 'REPEATABLE READ': |
| 15 | return 'REPEATABLE READ' |
| 16 | case 'SERIALIZABLE': |
| 17 | return 'SERIALIZABLE' |
| 18 | case 'SNAPSHOT': |
| 19 | // PostgreSQL doesn't have SNAPSHOT, use REPEATABLE READ as closest match |
| 20 | return 'REPEATABLE READ' |
| 21 | default: |
| 22 | throw new Error(`Unknown isolation level: ${level}`) |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | /** |
| 27 | * Converts Prisma ORM query parameters to PPG client-compatible values. |