I hereby claim:
- I am ali-ince on github.
- I am alithecoder (https://keybase.io/alithecoder) on keybase.
- I have a public key ASAnpfmRNZEeKeswJIkX1mPE9igILivXob_tWUQUlmfUogo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
package main | |
import ( | |
"fmt" | |
"log" | |
"os" | |
"time" | |
"github.com/fatih/structs" | |
"github.com/neo4j/neo4j-go-driver/neo4j" |
FROM archlinux/base AS build-openssl-with-static | |
# Install required packages for re-building openssl with static libraries enabled | |
RUN pacman -Syyu --noconfirm base-devel asp && useradd -m -d /pkg-build pkg-build | |
# Update makepkg.conf to enable static libraries | |
RUN sed -i -e 's/!staticlibs/staticlibs/g' /etc/makepkg.conf | |
# Trust pgp key for the openssl source | |
RUN su -c "gpg --recv-keys 8657ABB260F056B1E5190839D9C4D26D0E604491" - pkg-build | |
# Export openssl package definition | |
RUN su -c "asp export openssl" - pkg-build | |
# Build and create a package that includes static libraries |
var ( | |
driver neo4j.Driver | |
err error | |
) | |
useConsoleLogger := func() func(config *neo4j.Config) { | |
return func(config *neo4j.Config) { | |
config.Log = neo4j.ConsoleLogger(neo4j.ERROR) | |
} | |
} |
# start from golang image based on alpine-3.8 | |
FROM golang:1.10-alpine3.8 AS dev-build | |
# add our cgo dependencies | |
RUN apk add --no-cache ca-certificates cmake make g++ openssl-dev git curl pkgconfig | |
# clone latest seabolt 1.7 source code | |
RUN git clone -b 1.7 https://github.com/neo4j-drivers/seabolt.git /seabolt | |
# invoke cmake build and install artifacts - default location is /usr/local | |
WORKDIR /seabolt/build | |
# CMAKE_INSTALL_LIBDIR=lib is a hack where we override default lib64 to lib to workaround a defect | |
# in our generated pkg-config file |
package main | |
import ( | |
"flag" | |
"fmt" | |
"log" | |
"os" | |
"strings" | |
"github.com/neo4j/neo4j-go-driver/neo4j" |
var ( | |
recordsProcessed interface{} | |
err error | |
) | |
if recordsProcessed, err = session.ReadTransaction(executeQuery); err != nil { | |
return err | |
} | |
fmt.Printf("\n%d records processed\n", recordsProcessed) |
func executeQuery(tx neo4j.Transaction) (interface{}, error) { | |
var ( | |
counter int | |
result neo4j.Result | |
err error | |
) | |
if result, err = tx.Run(query, nil); err != nil { | |
return nil, err | |
} |
var ( | |
session neo4j.Session | |
err error | |
) | |
if session, err = driver.Session(neo4j.AccessModeRead); err != nil { | |
return err | |
} | |
defer session.Close() |
var ( | |
driver neo4j.Driver | |
err error | |
) | |
if driver, err = neo4j.NewDriver(uri, neo4j.BasicAuth(username, password, ""), func(config *neo4j.Config) { | |
config.Log = neo4j.ConsoleLogger(neo4j.ERROR) | |
}); err != nil { | |
return err | |
} |