Skip to content

xpp-lens 1.3.2 - #3

Merged
willowdev-code merged 4 commits into
mainfrom
dev
Oct 26, 2026
Merged

willowdev-code merged 4 commits into
mainfrom
dev

Conversation

@willowdev-code

Copy link
Copy Markdown
Owner

Fixed

  • The model filter of xpp_find, xpp_refs, xpp_changed and property= listings took one name only: a list
    such as model="Contoso;Fabrikam*" matched nothing and the answer was empty. All of them now take names separated
    by ; with * and ?, like xpp_grep already did.
  • xpp_find "Table.Extension.Field" split the name at the first dot and found nothing; a field added in a named
    extension (CustTable.ContosoExtension.MyField) is now found.
  • xpp_method with only lines (no method) returned nothing; it now shows those lines of the object's file and the
    methods they belong to — the way to read a spot named by a build error or a grep hit.

Changed

  • xpp_extensions is several times faster for objects with many extension classes (measured warm: SalesTable
    9.2 s → 0.5 s, VendTable 5.1 s → 1.8 s): the Chain of Command details of each extension class were looked up
    by a column without an index, which read the whole reference table once per extension class.
  • xpp_join reads the table relations from a small index of its own instead of the whole member table (the first
    call of a server and every CLI call: 1.3 s → 0.65 s); the index is built once, in a few seconds.

- xpp_extensions: the CoC details of each extension class looked up refs by object_id,
  which has no index - now through file_id (indexed); SalesTable 9.2 s -> 0.5 s warm
- partial covering index on members for table relations (xpp_join reads all of them)
- model filters take 'A;B*' lists everywhere (SQL function xl_model)
- xpp_find splits 'Table.Extension.Field' after the extension object
- xpp_method with only lines shows those lines of the object's file
- examples in README, install.ps1 and the CLI help use Contoso
### Fixed
- The `model` filter of `xpp_find`, `xpp_refs`, `xpp_changed` and `property=` listings took one name only: a list
  such as `model="Contoso;Fabrikam*"` matched nothing and the answer was empty. All of them now take names separated
  by `;` with `*` and `?`, like `xpp_grep` already did.
- `xpp_find "Table.Extension.Field"` split the name at the first dot and found nothing; a field added in a named
  extension (`CustTable.ContosoExtension.MyField`) is now found.
- `xpp_method` with only `lines` (no method) returned nothing; it now shows those lines of the object's file and the
  methods they belong to — the way to read a spot named by a build error or a grep hit.

### Changed
- `xpp_extensions` is several times faster for objects with many extension classes (measured warm: `SalesTable`
  9.2 s → 0.5 s, `VendTable` 5.1 s → 1.8 s): the Chain of Command details of each extension class were looked up
  by a column without an index, which read the whole reference table once per extension class.
- `xpp_join` reads the table relations from a small index of its own instead of the whole member table (the first
  call of a server and every CLI call: 1.3 s → 0.65 s); the index is built once, in a few seconds.
@willowdev-code
willowdev-code merged commit 03241ca into main Oct 26, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant