func InitializeVersion()

in dbconn/version.go [33:46]


func InitializeVersion(dbconn *DBConn) (dbversion GPDBVersion, err error) {
	err = dbconn.Get(&dbversion, "SELECT pg_catalog.version() AS versionstring")
	if err != nil {
		return
	}
	versionStart := strings.Index(dbversion.VersionString, "(Greenplum Database ") + len("(Greenplum Database ")
	versionEnd := strings.Index(dbversion.VersionString, ")")
	dbversion.VersionString = dbversion.VersionString[versionStart:versionEnd]

	pattern := regexp.MustCompile(`\d+\.\d+\.\d+`)
	threeDigitVersion := pattern.FindStringSubmatch(dbversion.VersionString)[0]
	dbversion.SemVer, err = semver.Make(threeDigitVersion)
	return
}