{"record":{"id":"6225c282c5ab7477","repo":"OtterMind/Chat2DB","slug":"ewkb-point-contains-an-invalid-empty-coordinate","errorCode":null,"errorMessage":"EWKB point contains an invalid empty coordinate","messagePattern":"EWKB point contains an invalid empty coordinate","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"chat2db-community-server/chat2db-community-plugins/chat2db-community-postgresql/src/main/java/ai/chat2db/plugin/postgresql/value/sub/PostgreSQLGeometryProcessor.java","lineNumber":226,"sourceCode":"            case 4 -> inspectChildren(cursor, byteOrder, header, inheritedSrid, 1, depth);\n            case 5 -> inspectChildren(cursor, byteOrder, header, inheritedSrid, 2, depth);\n            case 6 -> inspectChildren(cursor, byteOrder, header, inheritedSrid, 3, depth);\n            case 7 -> inspectChildren(cursor, byteOrder, header, inheritedSrid, 0, depth);\n            default -> throw new IllegalArgumentException(\"Unsupported EWKB geometry type\");\n        }\n        return header;\n    }\n\n    private void inspectPoint(WkbCursor cursor, ByteOrder byteOrder, int coordinateDimension) {\n        boolean allNaN = true;\n        boolean allFinite = true;\n        for (int i = 0; i < coordinateDimension; i++) {\n            double ordinate = cursor.readDouble(byteOrder);\n            allNaN &= Double.isNaN(ordinate);\n            allFinite &= Double.isFinite(ordinate);\n        }\n        if (!allNaN && !allFinite) {\n            throw new IllegalArgumentException(\"EWKB point contains an invalid empty coordinate\");\n        }\n    }\n\n    private void inspectLineString(WkbCursor cursor, ByteOrder byteOrder, int coordinateDimension) {\n        int coordinateCount = readCount(cursor, byteOrder);\n        if (coordinateCount == 1) {\n            throw new IllegalArgumentException(\"EWKB line string must be empty or contain at least two coordinates\");\n        }\n        inspectFiniteCoordinates(cursor, byteOrder, coordinateCount, coordinateDimension);\n    }\n\n    private void inspectLinearRing(WkbCursor cursor, ByteOrder byteOrder, int coordinateDimension) {\n        int coordinateCount = readCount(cursor, byteOrder);\n        if (coordinateCount < 4) {\n            throw new IllegalArgumentException(\"EWKB linear ring must contain at least four coordinates\");\n        }\n\n        double[] firstCoordinate = readFiniteCoordinate(cursor, byteOrder, coordinateDimension);","sourceCodeStart":208,"sourceCodeEnd":244,"githubUrl":"https://github.com/OtterMind/Chat2DB/blob/5ee1e990e73fbcae1969dc554be254fedb3ab888/chat2db-community-server/chat2db-community-plugins/chat2db-community-postgresql/src/main/java/ai/chat2db/plugin/postgresql/value/sub/PostgreSQLGeometryProcessor.java#L208-L244","documentation":"Error \"EWKB point contains an invalid empty coordinate\" thrown in OtterMind/Chat2DB.","triggerScenarios":"An EWKB point contained an invalid empty-coordinate encoding.","commonSituations":"See trigger scenarios.","solutions":["Replace the empty (NaN) coordinate with a valid one, or use a properly empty point representation."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5ee1e990e73fbcae1969dc554be254fedb3ab888","analyzedAt":"2026-08-14T07:05:03.077Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}