# Bug in :db/ensure's boolean attr handling?

**URL:** <https://forum.datomic.com/t/bug-in-db-ensures-boolean-attr-handling/1073>\
**Category:** Troubleshooting\
**Created:** [July 10, 2019, 9:26pm UTC](https://forum.datomic.com/t/bug-in-db-ensures-boolean-attr-handling/1073 "2019-07-10T21:26:52Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jacob](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/jacob/32/302_2.png) [@jacob](https://forum.datomic.com/u/jacob)\
**Post date:** [July 10, 2019, 9:38pm UTC](https://forum.datomic.com/t/bug-in-db-ensures-boolean-attr-handling/1073/2 "2019-07-10T21:38:03Z")

</div>

Also, when using a composite tuple, the value is `nil` instead of `false`:

```clojure
user=> 
(let [db (d/with-db system/conn)
        schema [#:db{:ident :foo,
                     :valueType :db.type/boolean,
                     :cardinality :db.cardinality/one}
                #:db{:ident :bar,
                     :valueType :db.type/boolean,
                     :cardinality :db.cardinality/one}]
        db (:db-after (d/with db {:tx-data schema}))
        more-schema [{:db/ident :some-composite-key
                      :db/cardinality :db.cardinality/one
                      :db/valueType :db.type/tuple
                      :db/tupleAttrs [:foo :bar]}]
        db (:db-after (d/with db {:tx-data more-schema}))]
    (u/pprint (:tx-data (d/with db {:tx-data [{:foo true
                                               :bar false}]}))))
[#datom[13194139533486 50 #inst "2019-07-10T21:34:53.300-00:00" 13194139533486 true]
 #datom[20433324090589741 130 true 13194139533486 true]
 #datom[20433324090589741 131 false 13194139533486 true]
 #datom[20433324090589741 132 [true nil] 13194139533486 true]]

```

---

_[View the full topic](https://forum.datomic.com/t/bug-in-db-ensures-boolean-attr-handling/1073)._
