...

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

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

     1  // Do not edit. Generated from pgtype/zeronull/int.go.erb
     2  package zeronull
     3  
     4  import (
     5  	"database/sql/driver"
     6  	"fmt"
     7  	"math"
     8  
     9  	"github.com/jackc/pgx/v5/pgtype"
    10  )
    11  
    12  type Int2 int16
    13  
    14  func (Int2) SkipUnderlyingTypePlan() {}
    15  
    16  // ScanInt64 implements the Int64Scanner interface.
    17  func (dst *Int2) ScanInt64(n int64, valid bool) error {
    18  	if !valid {
    19  		*dst = 0
    20  		return nil
    21  	}
    22  
    23  	if n < math.MinInt16 {
    24  		return fmt.Errorf("%d is greater than maximum value for Int2", n)
    25  	}
    26  	if n > math.MaxInt16 {
    27  		return fmt.Errorf("%d is greater than maximum value for Int2", n)
    28  	}
    29  	*dst = Int2(n)
    30  
    31  	return nil
    32  }
    33  
    34  // Scan implements the database/sql Scanner interface.
    35  func (dst *Int2) Scan(src any) error {
    36  	if src == nil {
    37  		*dst = 0
    38  		return nil
    39  	}
    40  
    41  	var nullable pgtype.Int2
    42  	err := nullable.Scan(src)
    43  	if err != nil {
    44  		return err
    45  	}
    46  
    47  	*dst = Int2(nullable.Int16)
    48  
    49  	return nil
    50  }
    51  
    52  // Value implements the database/sql/driver Valuer interface.
    53  func (src Int2) Value() (driver.Value, error) {
    54  	if src == 0 {
    55  		return nil, nil
    56  	}
    57  	return int64(src), nil
    58  }
    59  
    60  type Int4 int32
    61  
    62  func (Int4) SkipUnderlyingTypePlan() {}
    63  
    64  // ScanInt64 implements the Int64Scanner interface.
    65  func (dst *Int4) ScanInt64(n int64, valid bool) error {
    66  	if !valid {
    67  		*dst = 0
    68  		return nil
    69  	}
    70  
    71  	if n < math.MinInt32 {
    72  		return fmt.Errorf("%d is greater than maximum value for Int4", n)
    73  	}
    74  	if n > math.MaxInt32 {
    75  		return fmt.Errorf("%d is greater than maximum value for Int4", n)
    76  	}
    77  	*dst = Int4(n)
    78  
    79  	return nil
    80  }
    81  
    82  // Scan implements the database/sql Scanner interface.
    83  func (dst *Int4) Scan(src any) error {
    84  	if src == nil {
    85  		*dst = 0
    86  		return nil
    87  	}
    88  
    89  	var nullable pgtype.Int4
    90  	err := nullable.Scan(src)
    91  	if err != nil {
    92  		return err
    93  	}
    94  
    95  	*dst = Int4(nullable.Int32)
    96  
    97  	return nil
    98  }
    99  
   100  // Value implements the database/sql/driver Valuer interface.
   101  func (src Int4) Value() (driver.Value, error) {
   102  	if src == 0 {
   103  		return nil, nil
   104  	}
   105  	return int64(src), nil
   106  }
   107  
   108  type Int8 int64
   109  
   110  func (Int8) SkipUnderlyingTypePlan() {}
   111  
   112  // ScanInt64 implements the Int64Scanner interface.
   113  func (dst *Int8) ScanInt64(n int64, valid bool) error {
   114  	if !valid {
   115  		*dst = 0
   116  		return nil
   117  	}
   118  
   119  	if n < math.MinInt64 {
   120  		return fmt.Errorf("%d is greater than maximum value for Int8", n)
   121  	}
   122  	if n > math.MaxInt64 {
   123  		return fmt.Errorf("%d is greater than maximum value for Int8", n)
   124  	}
   125  	*dst = Int8(n)
   126  
   127  	return nil
   128  }
   129  
   130  // Scan implements the database/sql Scanner interface.
   131  func (dst *Int8) Scan(src any) error {
   132  	if src == nil {
   133  		*dst = 0
   134  		return nil
   135  	}
   136  
   137  	var nullable pgtype.Int8
   138  	err := nullable.Scan(src)
   139  	if err != nil {
   140  		return err
   141  	}
   142  
   143  	*dst = Int8(nullable.Int64)
   144  
   145  	return nil
   146  }
   147  
   148  // Value implements the database/sql/driver Valuer interface.
   149  func (src Int8) Value() (driver.Value, error) {
   150  	if src == 0 {
   151  		return nil, nil
   152  	}
   153  	return int64(src), nil
   154  }
   155  

View as plain text