mirror of
https://github.com/nocodb/nocodb.git
synced 2026-02-02 02:26:57 +00:00
handle neq for decimal
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { ncIsNull, ncIsNumber, ncIsUndefined } from 'nocodb-sdk';
|
||||
import { NcError } from 'src/helpers/catchError';
|
||||
import { ncIsStringHasValue } from '../../utils/handlerUtils';
|
||||
import type { Knex } from 'knex';
|
||||
import type { IBaseModelSqlV2 } from 'src/db/IBaseModelSqlV2';
|
||||
import type { NcContext } from 'nocodb-sdk';
|
||||
@@ -127,4 +128,37 @@ export class DecimalGeneralHandler extends GenericFieldHandler {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
override async filterNeq(
|
||||
args: {
|
||||
sourceField: string | Knex.QueryBuilder | Knex.RawBuilder;
|
||||
val: any;
|
||||
},
|
||||
rootArgs: {
|
||||
knex: CustomKnex;
|
||||
filter: Filter;
|
||||
column: Column;
|
||||
},
|
||||
_options: FilterOptions,
|
||||
) {
|
||||
const { val, sourceField } = args;
|
||||
const { knex } = rootArgs;
|
||||
|
||||
return {
|
||||
rootApply: undefined,
|
||||
clause: (qb: Knex.QueryBuilder) => {
|
||||
if (!ncIsStringHasValue(val)) {
|
||||
qb.where((nestedQb) => {
|
||||
nestedQb.whereNotNull(sourceField as any);
|
||||
});
|
||||
} else {
|
||||
qb.where((nestedQb) => {
|
||||
nestedQb
|
||||
.where(knex.raw('?? != ?', [sourceField, val]))
|
||||
.orWhereNull(sourceField as any);
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ export class DecimalMysqlHandler extends GenericMysqlFieldHandler {
|
||||
|
||||
override filterBlank = this.decimalGeneralHandler.filterBlank;
|
||||
override filterNotblank = this.decimalGeneralHandler.filterNotblank;
|
||||
override filterNeq = this.decimalGeneralHandler.filterNeq;
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ export class DecimalPgHandler extends GenericPgFieldHandler {
|
||||
|
||||
override filterBlank = this.decimalGeneralHandler.filterBlank;
|
||||
override filterNotblank = this.decimalGeneralHandler.filterNotblank;
|
||||
override filterNeq = this.decimalGeneralHandler.filterNeq;
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ export class DecimalSqliteHandler extends GenericSqliteFieldHandler {
|
||||
|
||||
override filterBlank = this.decimalGeneralHandler.filterBlank;
|
||||
override filterNotblank = this.decimalGeneralHandler.filterNotblank;
|
||||
override filterNeq = this.decimalGeneralHandler.filterNeq;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user