Skip to content

History / IntegrityCheck

Revisions

  • #587 IntegrityCheck: a check on an item read from a storage may refer to that item Since GeoDMS 20.20.0 such a check builds and is evaluated on the data read, by name or as 'this'. Before, it failed while being built with "SubstitutionError" on the checked item, whichever item was requested, while the same check on a sibling worked. The engine change is stage S0 of the #587 plan; it is committed but not yet built or verified, and this text follows the change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Sep 5, 2026
  • Spell operators and value types the way the engine registers them (#1161) The token table is case folded, so a page that writes UInt32, AsList or NrOfRows teaches a spelling that costs the reader a case mix-up warning on the first run. This rewrites those spellings across 142 pages to the names the engine actually registers, taken from the running engine rather than from memory: the 2342 operator group names that DocData()/OperatorGroups/name reports, plus the property names in TicPropDefConst.h. Four kinds of change, all case only: * value types in configuration examples -- String, Float64, SPoint, UInt32, Bool, Void and the *Seq variants -> lower case, which is what ValueWrap.cpp has registered (AsLowerCase of the C++ type name) since 20.9. * the boolean literals True/TRUE/False/FALSE in expressions and data lists. Property VALUES keep their spelling: StorageReadOnly = "False" is data. * operator names, in examples and in the syntax/definition lines of the operator pages: asList, asItemList, expand, currentDir, makeDir, get_x, get_y, pointrow, pointcol, id, range, subset, replace, quote, dquote, isNegative, isPositive, isZero, the *seq conversions -- and the other way for the ones the engine capitalises: BaseUnit, IsDefined, LowerBound, UpperBound, Round, RoundUp, RoundDown, RoundToZero, LowerCase, AsHex, SubItem, SubItem_PropValues, GeoDmsVersion, EXEC_EC. * nrofrows, both as the operator and as the unit property. Five examples named an item after the operator it called, which folds onto the operator's own token: MakeDir, GeoDMSVersion, Quote. Those items are renamed (newFolder, versionString, Quoted). DocData's sub-item is name, not Name. IntegrityCheck and expr property values are parsed as expressions, so the operator inside the string counts too. Value-type gains a "spelling" section and Naming-conventions a bullet saying that operator names must be written as registered -- most lower case, but not all -- both linking to the case mix-up section of Tree-item-name. NOT touched, and left as one decision rather than half-made here: the mixed-case PROPERTY names. The engine registers Label, Expr, Descr, Metric, Format, Source, Using, Projection, ValueType, IsHidden, and the pages (like nearly every real configuration) write label, expr, descr, source, using. Whether the wiki follows the engine or the engine follows the corpus is the same question #1161 deferred for the ~57 property names; it should be settled once, in one place. Also left: SQL keywords inside SqlString values, Python API names, and example item names that merely collide with an engine name (Name, District, Area, Union, Left). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Aug 28, 2026
  • IntegrityCheck travels along ExplicitSuppliers since 20.18 (GeoDMS #1218)

    @MaartenHilferink MaartenHilferink committed Aug 26, 2026
  • IntegrityCheck: checks on storage-read items travel with their use (GeoDMS #1209)

    @MaartenHilferink MaartenHilferink committed Aug 26, 2026
  • IntegrityCheck supplemental

    @MaartenHilferink MaartenHilferink committed Aug 15, 2026
  • merged documentation of IntegrityCheck application on sub-items since 20.24.0 See #1180 and #1182

    @MaartenHilferink MaartenHilferink committed Aug 15, 2026
  • IntegrityCheck, MMD and indirect-expression semantics of 20.14.0 IntegrityCheck: a check on a container or unit now guards every item underneath it, so requesting a nested item evaluates the checks of all its ancestors. States what that changes for configurations that relied on the old silence, and that the GeoDmsVersion guard at a root container only now protects the whole configuration -- before 20.14.0 it fired only when the root itself was requested, which a model run never does. Also records that a check cannot sit on an item written to an MMD. MMD: two new sections. What the dictionary records about units defined outside it -- the value type of every external unit, plus the extent of an external domain -- and why: a name is resolved again in the reading configuration, so a changed declaration used to bind a new element type to the old bytes. And how a reader is expected to declare the storage: name it and nothing else, since sub-items declared by the reader, a check on the read holder, and a check below a write holder are all refused rather than half-honoured. Indirect-expression: an indirect rule may evaluate to the empty string, which means this item has no calculation rule, and is accepted silently; a rule evaluating to null keeps being reported, since only the empty string states the absence deliberately; a rule written as empty in the configuration is warned about. XY-order: reading a range in the untagged {row, col} form now reports a deprecation warning. The reading is unchanged.

    @MaartenHilferink MaartenHilferink committed Aug 14, 2026
  • Fix migration artifacts, typos and dead links across the wiki Sweep of all 867 pages: MediaWiki-to-GitHub migration damage repaired (wikilink artifacts, reversed link order, broken code blocks, image links restored as embeds), 2200+ typo/grammar/dead-link fixes, and remaining CalcCache references removed or marked version-historical. Factual example errors corrected where unambiguous (a.o. Boundcenter, Ge_or_rhs_null, Capacitated_connect, Dpoint, Modus). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

    @jipclaassens jipclaassens committed Jul 6, 2026
  • replace weird space with normal space

    @jipclaassens jipclaassens committed Oct 9, 2025
  • Update code block syntax naar markdown standaard: - replace &lt; en &gt; uit oude website naar < en > - replace <pre> en </pre> naar ``` - uit die code blokken dan ook de <i>, </i>, <b> en </b> eruit.

    @jipclaassens jipclaassens committed Sep 17, 2025
  • Updated IntegrityCheck (markdown)

    @jipclaassens jipclaassens committed Nov 24, 2023
  • Updated IntegrityCheck (markdown)

    @jipclaassens jipclaassens committed Nov 24, 2023
  • Updated IntegrityCheck (markdown)

    @mtbeek32 mtbeek32 committed Jan 25, 2023
  • Updated IntegrityCheck (markdown)

    @mtbeek32 mtbeek32 committed Jan 25, 2023
  • Updated IntegrityCheck (markdown)

    @mtbeek32 mtbeek32 committed Jan 25, 2023
  • Updated IntegrityCheck (markdown)

    @mtbeek32 mtbeek32 committed Jan 25, 2023
  • bulk import improved links

    @mtbeek32 mtbeek32 committed Jan 2, 2023
  • first bulk automatic replacements

    @mtbeek32 mtbeek32 committed Jan 2, 2023
  • First port of geodms mediawiki to github markdown

    @erikandthecicada erikandthecicada committed Dec 7, 2022