github.com/Ali-iotechsys/sqlboiler/v4@v4.0.0-20221208124957-6aec9a5f1f71/types/pgeo/nullLseg.go (about)

     1  package pgeo
     2  
     3  import (
     4  	"database/sql/driver"
     5  )
     6  
     7  // NullLseg allows line segment to be null
     8  type NullLseg struct {
     9  	Lseg
    10  	Valid bool `json:"valid"`
    11  }
    12  
    13  // Value for database
    14  func (l NullLseg) Value() (driver.Value, error) {
    15  	if !l.Valid {
    16  		return nil, nil
    17  	}
    18  
    19  	return valueLseg(l.Lseg)
    20  }
    21  
    22  // Scan from sql query
    23  func (l *NullLseg) Scan(src interface{}) error {
    24  	if src == nil {
    25  		l.Lseg, l.Valid = NewLseg(Point{}, Point{}), false
    26  		return nil
    27  	}
    28  
    29  	l.Valid = true
    30  	return scanLseg(&l.Lseg, src)
    31  }
    32  
    33  // Randomize for sqlboiler
    34  func (l *NullLseg) Randomize(nextInt func() int64, fieldType string, shouldBeNull bool) {
    35  	if shouldBeNull {
    36  		l.Valid = false
    37  		return
    38  	}
    39  
    40  	l.Valid = true
    41  	l.Lseg = randLseg(nextInt)
    42  }