hotfix(dc/tool-c): Fix compute formula validation and binning NaN serialization

Critical fixes:
1. Compute column: Add Chinese comma support in formula validation
   - Problem: Formula with Chinese comma failed validation
   - Fix: Add Chinese comma character to allowed_chars regex
   - Example: Support formulas like 'col1(kg)+ col2,col3'

2. Binning operation: Fix NaN serialization error
   - Problem: 'Out of range float values are not JSON compliant: nan'
   - Fix: Enhanced NaN/inf handling in binning endpoint
   - Added np.inf/-np.inf replacement before JSON serialization
   - Added manual JSON serialization with NaN->null conversion

3. Enhanced all operation endpoints for consistency
   - Updated conditional, dropna endpoints with same NaN/inf handling
   - Ensures all operations return JSON-compliant data

Modified files:
- extraction_service/operations/compute.py: Add Chinese comma to regex
- extraction_service/main.py: Enhanced NaN handling in binning/conditional/dropna

Status: Hotfix complete, ready for testing
This commit is contained in:
2025-12-09 08:45:27 +08:00
parent 91cab452d1
commit 75ceeb0653
79 changed files with 111 additions and 14 deletions

View File

@@ -517,3 +517,4 @@ export default FulltextDetailDrawer;

View File

@@ -116,3 +116,4 @@ export function useFulltextResults({

View File

@@ -79,3 +79,4 @@ export function useFulltextTask({

View File

@@ -470,3 +470,4 @@ export default FulltextResults;

View File

@@ -110,3 +110,4 @@ export const useAssets = (activeTab: AssetTabType) => {

View File

@@ -100,3 +100,4 @@ export const useRecentTasks = () => {

View File

@@ -336,3 +336,4 @@ const BinningDialog: React.FC<BinningDialogProps> = ({
export default BinningDialog;

View File

@@ -299,3 +299,4 @@ const DropnaDialog: React.FC<Props> = ({
export default DropnaDialog;

View File

@@ -261,3 +261,4 @@ const PivotDialog: React.FC<Props> = ({
export default PivotDialog;

View File

@@ -62,3 +62,4 @@ export interface DataStats {

View File

@@ -58,3 +58,4 @@ export type AssetTabType = 'all' | 'processed' | 'raw';

View File

@@ -13,3 +13,4 @@ export { default as Placeholder } from './Placeholder';