...

Source file src/github.com/jackc/pgx/v5/pgtype/zeronull/text.go

Documentation: github.com/jackc/pgx/v5/pgtype/zeronull

     1  package zeronull
     2  
     3  import (
     4  	"database/sql/driver"
     5  
     6  	"github.com/jackc/pgx/v5/pgtype"
     7  )
     8  
     9  type Text string
    10  
    11  func (Text) SkipUnderlyingTypePlan() {}
    12  
    13  // ScanText implements the TextScanner interface.
    14  func (dst *Text) ScanText(v pgtype.Text) error {
    15  	if !v.Valid {
    16  		*dst = ""
    17  		return nil
    18  	}
    19  
    20  	*dst = Text(v.String)
    21  
    22  	return nil
    23  }
    24  
    25  // Scan implements the database/sql Scanner interface.
    26  func (dst *Text) Scan(src any) error {
    27  	if src == nil {
    28  		*dst = ""
    29  		return nil
    30  	}
    31  
    32  	var nullable pgtype.Text
    33  	err := nullable.Scan(src)
    34  	if err != nil {
    35  		return err
    36  	}
    37  
    38  	*dst = Text(nullable.String)
    39  
    40  	return nil
    41  }
    42  
    43  // Value implements the database/sql/driver Valuer interface.
    44  func (src Text) Value() (driver.Value, error) {
    45  	if src == "" {
    46  		return nil, nil
    47  	}
    48  	return string(src), nil
    49  }
    50  

View as plain text