@validation.error(BAD_COLUMN_NAME)
    def _check_bad_column_name(self):
        if not self.glyph: return
        if not self.data_source: return
        if isinstance(self.data_source, RemoteSource): return
        missing = set()
        specs = self.glyph.dataspecs()
        for name, item in self.glyph.properties_with_values(include_defaults=False).items():
            if name not in specs: continue
            if not isinstance(item, dict): continue
            if 'field' in item and item['field'] not in self.data_source.column_names:
                missing.add(item['field'])
        if missing:
            return (", ".join(sorted(missing)), self) % "%s [renderer: %s]"
dataset/ETHPy150Open bokeh/bokeh/bokeh/models/renderers.py/GlyphRenderer._check_bad_column_name/swapped operands of `%`