ankane / blazer

Business intelligence made simple
MIT License
4.5k stars 471 forks source link

[Idea] Disable Smart Column per query #443

Closed seankibler closed 1 year ago

seankibler commented 1 year ago

Most of the time smart columns are useful, sometimes they get in the way or are undesirable. It would be nice to be able to disable all or specific Smart Columns on a Query.

Example

Table Schema

CREATE TABLE public.contacts (
    id uuid DEFAULT public.gen_random_uuid() NOT NULL,
    name character varying,
    external_id uuid,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL
);

Smart Column config

    smart_columns:
      external_id: "SELECT external_id, name FROM contacts WHERE external_id IN {value}"

Smart Column is useful (probably) with this query

SELECT external_id,
  created_at
FROM contacts

Smart Column is not useful here, it is duplicated data since name column is already present

SELECT id
  name,
  external_id
FROM contacts

Currently a workaround is to alias the column to a different name (prefix with an underscore) but depending on the use-case that may be undesirable.

ankane commented 1 year ago

Hi @seankibler, thanks for the suggestion. However, I don't think it's worth extra complexity.