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

     1  package pgeo
     2  
     3  import (
     4  	"database/sql/driver"
     5  )
     6  
     7  // NullLine allows line to be null
     8  type NullLine struct {
     9  	Line
    10  	Valid bool `json:"valid"`
    11  }
    12  
    13  // Value for database
    14  func (l NullLine) Value() (driver.Value, error) {
    15  	if !l.Valid {
    16  		return nil, nil
    17  	}
    18  
    19  	return valueLine(l.Line)
    20  }
    21  
    22  // Scan from sql query
    23  func (l *NullLine) Scan(src interface{}) error {
    24  	if src == nil {
    25  		l.Line, l.Valid = NewLine(0, 0, 0), false
    26  		return nil
    27  	}
    28  
    29  	l.Valid = true
    30  	return scanLine(&l.Line, src)
    31  }
    32  
    33  // Randomize for sqlboiler
    34  func (l *NullLine) 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.Line = randLine(nextInt)
    42  }