ankane/blazer

[Idea] Disable Smart Column per query

seankibler opened this issue · 1 comments

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

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