in my experiment it looks like this: ``` val...
# server
h
in my experiment it looks like this:
Copy code
val 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))
            }