postgres doesn't support read UNCOMMITTED

This commit is contained in:
Ben Wilson
2023-12-07 09:55:07 -05:00
parent c5ff8521ac
commit 5b71632f8a
@@ -1,27 +1,20 @@
import { Injectable, OnModuleDestroy } from '@nestjs/common';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DataSource, QueryRunner, Repository } from 'typeorm';
import { Repository } from 'typeorm';
import { ClientStatisticsEntity } from './client-statistics.entity';
@Injectable()
export class ClientStatisticsService implements OnModuleDestroy {
private readUncommittedQueryRunner: QueryRunner;
export class ClientStatisticsService {
constructor(
private readonly dataSource: DataSource,
@InjectRepository(ClientStatisticsEntity)
private clientStatisticsRepository: Repository<ClientStatisticsEntity>,
) {
this.readUncommittedQueryRunner = this.dataSource.createQueryRunner();
this.readUncommittedQueryRunner.query('SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;')
}
onModuleDestroy() {
this.readUncommittedQueryRunner.release();
}
public async save(clientStatistic: Partial<ClientStatisticsEntity>) {
@@ -54,9 +47,9 @@ export class ClientStatisticsService implements OnModuleDestroy {
var yesterday = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
const query = `
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
var result = await this.readUncommittedQueryRunner.query(
`
SELECT
time AS label,
ROUND(((SUM(shares) * 4294967296) / 600)) AS data
@@ -69,8 +62,10 @@ export class ClientStatisticsService implements OnModuleDestroy {
ORDER BY
time
LIMIT 144;
`
);
`;
const result: any[] = await this.clientStatisticsRepository.query(query);
return result.map(res => {