func parseNamedParameters(sql string) ([]string, error) {
	sql, err := removeCommentsAndTrim(sql)
	if err != nil {
		return nil, err
	}
	sql = removeStatementHint(sql)
	return findParams(sql)
}
// parseNamedParameters returns the named parameters in the given sql string.
// The sql string must be a valid Cloud Spanner sql statement. It may contain
// comments and (string) literals without any restrictions. That is, string
// literals containing for example an email address ('test@test.com') will be
// recognized as a string literal and not returned as a named parameter.
parseNamedParameters returns the named parameters in the given sql string.
The sql string must be a valid Cloud Spanner sql statement. It may contain
comments and (string) literals without any restrictions. That is, string
literals containing for example an email address ('test@test.com') will be
recognized as a string literal and not returned as a named parameter.
// parseNamedParameters returns the named parameters in the given sql string . // The sql string must be a valid Cloud Spanner sql statement . It may contain // comments and ( string ) literals without any restrictions . That is string // literals containing for example an email address ( ' test@test . com ' ) will be // recognized as a string literal and not returned as a named parameter .
func parseNamedParameters(sql string) ([]string, error) {
	sql, err := removeCommentsAndTrim(sql)
	if err != nil {
		return nil, err
	}
	sql = removeStatementHint(sql)
	return findParams(sql)
}
func parseNamedParameters ( sql string ) ( [ ] string , error ) { sql , err := removeCommentsAndTrim ( sql ) if err != nil { return nil , err } sql = removeStatementHint ( sql ) return findParams ( sql ) }
parseNamedParameters returns the named parameters in the given sql string.
parseNamedParameters returns the named parameters in the given sql string .