func WithLastInsertId(b bool) Option {
	return func(o *Options) {
		o.LastInsertId = b
	}
}
WithLastInsertID if set to true, will enable the creation of spans on
LastInsertId calls.
package trace
import (
	"context"
	"go.opentelemetry.io/otel/attribute"
)
type Option func(*Options)
type Options struct {
	AllowRoot bool
	Query bool
	QueryParams bool
	Ping bool
	RowsAffected bool
	LastInsertId bool
	RowsNext bool
	RowsClose bool
	ResetSession bool
	SpanNameFormatter func(ctx context.Context, method string, query string) string
	DefaultAttributes []attribute.KeyValue
	InstanceName string
}
func newOptions(opts []Option) *Options {
	o := &Options{}
	for _, opt := range opts {
		opt(o)
	}
	if o.SpanNameFormatter == nil {
		o.SpanNameFormatter = func(ctx context.Context, method string, query string) string {
			return method
		}
	}
	if o.QueryParams && !o.Query {
		o.QueryParams = false
	}
	return o
}
func WithOptions(options Options) Option {
	return func(o *Options) {
		*o = options
		o.DefaultAttributes = append(
			[]attribute.KeyValue(nil), options.DefaultAttributes...,
		)
	}
}
func WithAllowRoot(b bool) Option {
	return func(o *Options) {
		o.AllowRoot = b
	}
}
func WithPing(b bool) Option {
	return func(o *Options) {
		o.Ping = b
	}
}
func WithRowsNext(b bool) Option {
	return func(o *Options) {
		o.RowsNext = b
	}
}
func WithRowsClose(b bool) Option {
	return func(o *Options) {
		o.RowsClose = b
	}
}
func WithRowsAffected(b bool) Option {
	return func(o *Options) {
		o.RowsAffected = b
	}
}