Skip to content

Instantly share code, notes, and snippets.

# copy files preserving path; ae|web => source dirs; patch => target dir
for f in `git log --name-only -1 | awk /ae\|web/`; do find . -regex "./$f" -type f -exec cp --parents "{}" patch \;; done
# for-loop
for i in `seq 1 10`; do echo $i; done
# for-each + counter
c=10; for i in `seq 1 10`; do echo "$i => $c"; c=$[c+1]; done
@a2ndrade
a2ndrade / gist:5234370
Last active March 15, 2019 22:21
Datomic Pro Setup: MySQL
# download
wget http://downloads.datomic.com/0.8.3848/datomic-pro-0.8.3848.zip
unzip datomic-pro-X.X.zip & cd datomic-pro-X.X
# install as a maven artifact
./bin/maven-install
# configure transactor.properties
cp config/samples/sql-transactor-template.properties transactor.properties
# protocol=sql
@a2ndrade
a2ndrade / gist:5235019
Last active December 15, 2015 08:59
Datomic: constructor-like transaction function
; See http://stackoverflow.com/questions/15595540/datomic-insert-blocks
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
:db/ident :car/model
@a2ndrade
a2ndrade / gist:5625075
Last active December 17, 2015 14:29
Datomic: DB Functions & Java Compilation Errors
import java.util.Map;
import java.util.UUID;
import datomic.Connection;
import datomic.Peer;
import datomic.Util;
public class JavaDbFunction {
/**
@a2ndrade
a2ndrade / gist:5641681
Last active December 17, 2015 16:49
Datomic: Finding duplicate attribute values
;; see http://stackoverflow.com/questions/16727590/what-is-a-good-way-of-finding-duplicates-in-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://duplicate-values")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attribute definiton
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
@a2ndrade
a2ndrade / gist:5651065
Created May 25, 2013 23:00
Datomic: memoized predicate functions
;; see http://stackoverflow.com/questions/16386793/datomic-query-function-that-filters-and-binds
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attribute definiton
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
@a2ndrade
a2ndrade / gist:5651419
Last active December 23, 2020 16:11
Datomic: data model for a simple blog
;; see http://stackoverflow.com/questions/14724991/modelling-multiple-many-to-many-relationships-in-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [ ;; User
{:db/id #db/id [:db.part/db]
:db/ident :user/username
@a2ndrade
a2ndrade / gist:5654999
Last active April 11, 2020 23:13
Datomic: database functions and foreign-key constraints
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [{:db/id #db/id [:db.part/db]
:db/ident :enum/ns
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/doc "Enum's namespace. Help enforce fk constraints on :db.type/ref enum references"
@a2ndrade
a2ndrade / gist:5655005
Last active March 1, 2023 09:31
Datomic: containment relationships i.e. db/isComponent
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [;; Article
{:db/id #db/id [:db.part/db]
:db/ident :article/title
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
@a2ndrade
a2ndrade / gist:5814355
Last active March 23, 2021 07:34
Datomic: Getting the id of an inserted entity
;; see http://stackoverflow.com/questions/17190334/getting-the-id-of-an-inserted-entity-in-diatomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; create an atribute
(d/transact conn [{:db/id #db/id[:db.part/db]
:db/ident :some/attribute
:db/valueType :db.type/string