Page MenuHomePhabricator

Store type identity output in wikilambda_zobject_labels table
Open, LowestPublic

Description

In order to filter the results, we can set the type when searching.

It is the output type of the embedded object, not Z2; so a Z4 returns a Z4, but a function returns its type not (necessarily) Z8.

Event Timeline

Note a type may be up to 2MB, so we need to store a hash.

This would be the call producing the type - the full type itself would be much larger indeed, but what we store here is just the type's identity, e.g. "Z6", "Z10(Z6)" or "Z8([Z6,Z10(Z6)],Z6)", which should be considerably shorter than 2MB. (The table currently declares 255 bytes for that, this might be too optimistic though).

To make it clearer, changing the title of task from "type" to "type identity", thanks!

DVrandecic renamed this task from Store type in wikilambda_zobject_labels table to Store type identity in wikilambda_zobject_labels table .Sep 4 2020, 9:24 PM

255 bytes - but strange errors may be generated if it is longer than this, for example a function with more than a dozen parameters. Alternatively we should introduce a "type" table (whose texts are blob up to 65536 bytes).

Jdforrester-WMF renamed this task from Store type identity in wikilambda_zobject_labels table to Store type identity output in wikilambda_zobject_labels table .Wed, Nov 17, 5:50 PM
Jdforrester-WMF updated the task description. (Show Details)