Skip to content
Snippets Groups Projects
Unverified Commit c15a5799 authored by Case Nelson's avatar Case Nelson Committed by GitHub
Browse files

[MLv2] Add field-id method (#32537)

* [MLv2] Add field-id method

* Update PR feedback
parent 3b4275e8
No related branches found
No related tags found
No related merge requests found
......@@ -142,6 +142,7 @@
upper
lower]
[lib.field
field-id
fields
with-fields
fieldable-columns]
......
......@@ -529,3 +529,8 @@
(assoc col :selected? true))
visible-columns)
(lib.equality/mark-selected-columns visible-columns selected-fields)))))
(mu/defn field-id :- [:maybe ::lib.schema.common/int-greater-than-or-equal-to-zero]
"Find the field id for something or nil."
[field-metadata :- lib.metadata/ColumnMetadata]
(:id field-metadata))
......@@ -124,6 +124,11 @@
(update :table update-keys u/->camelCaseEn)
(clj->js :keyword-fn u/qualified-name)))
(defn ^:export field-id
"Find the field id for something or nil."
[field-metadata]
(lib.core/field-id field-metadata))
(defn ^:export order-by-clause
"Create an order-by clause independently of a query, e.g. for `replace` or whatever."
([orderable]
......
......@@ -735,3 +735,15 @@
query
(lib/with-binning (m/find-first (comp #{"PRICE"} :name) breakoutables)
(first (lib.binning/numeric-binning-strategies)))))))))
(deftest ^:parallel field-id-test
(let [id-meta (meta/field-metadata :venues :id)
query (-> (lib/query meta/metadata-provider (meta/table-metadata :venues))
(lib/with-fields [id-meta])
(lib/expression "foo" (lib/+ id-meta 10)))
venues-id (:id id-meta)
cols (lib/orderable-columns query)]
(is (= venues-id (lib/field-id id-meta)))
(is (=? {"foo" nil
"ID" venues-id}
(into {} (map (juxt :lib/desired-column-alias lib/field-id)) cols)))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment