Concern | Current Implementation | QueryFieldExorcism | LightweightQueryField |
---|---|---|---|
Dev Console / Developer experience | With Apex log level at FINEST or NONE, Set<QueryField> performance becomes linear (see #79) and results in CPU timeouts |
Fixed; a Set<String> is used instead |
Fixed; a List<QueryField> is used instead |
Debug Log output | With Apex log level at FINEST, log file overflows 2MB with QueryField.equals() calls |
Fixed; inserting into Set<String> doesn't create log output |
Fixed; inserting into List<QueryField> doesn't call equals() override |
CRUD/FLS enforcement (optional) | Supported | Supported | Unsupported |
Performance of building SOQL string in production environment | 147ms | 81ms | 39ms |
API backwards compatibility | N/A | Four 'deprecated' public methods on SObjectSelector were removed: fflib_StringBuilder.FieldListBuilder getFieldListBuilder() , `void setFieldListBuilder(fflib_StringBuilder.FieldLis |