tree 42f565a62534feb0f575ba5db4da2480172b65e0
parent 24bae0c8efd03dead2eba9e6a08f55ded68c9027
author Kenneth Shaw <kenshaw@gmail.com> 1529112901 +0700
committer Kenneth Shaw <kenshaw@gmail.com> 1529117695 +0700

[CALCITE-2367] Change UUID package (Kenneth Shaw)

The satori UUID package causes problems with go get and vgo when
building multiple database drivers in the same Go application. This is
because the satori package introduced breaking API changes and has not
tagged it a new version yet.

This change converts the connection ID generation to use the hashicorp
UUID package which was already a dependency of this project, as it is a
dependency of the gokrb package.

This has the added benefit of reducing the number of total package
dependencies by 1.

Additionally, this is needed by github.com/xo/usql so that go get and
vgo build both work "out of the box".

The following is a small Go program that demonstrates that the UUIDs
generated will be the same format:

package main

import (
	"log"

	guuid "github.com/google/uuid"
	huuid "github.com/hashicorp/go-uuid"
	suuid "github.com/satori/go.uuid"
)

func main() {
	g, err := guuid.NewRandom()
	if err != nil {
		log.Fatal(err)
	}

	h, err := huuid.GenerateUUID()
	if err != nil {
		log.Fatal(err)
	}

	s, err := suuid.NewV4()
	if err != nil {
		log.Fatal(err)
	}

	log.Printf(
		"google: %s, hashicorp: %s, satori: %s",
		g, h, s,
	)
}

Fixes CALCITE-2367.
