hackerham
11/11/2016, 3:29 PMval updLongParser = UpdateParser<Long> { arr -> arr.getLong(0) }
fun add_point(point: Point): Future<Long?> =
asyncVx<Long?> {
await(conn.query("SELECT id FROM Point WHERE lat = ? AND lng = ?",
listOf(point.lat, point.lng),
longParser::parseAsync)) ?:
await(conn.update("INSERT INTO Point (lat, lng) VALUES (?, ?) RETURNING id",
listOf(point.lat, point.lng),
updLongParser::parseAsync))
}