code: func DatePart(db XODB, v0 string, v1 pgtypes.Abstime, v2 string, v3 pgtypes.Reltime, v4 string, v5 time.Time, v6 string, v7 time.Time, v8 string, v9 time.Time, v10 string, v11 time.Time, v12 string, v13 *time.Duration, v14 string, v15 time.Time) (float64, error) {
  	var err error
  
  	// sql query
  	const sqlstr = `SELECT pg_catalog.date_part($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)`
  
  	// run query
  	var ret float64
  	XOLog(sqlstr, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
  	err = db.QueryRow(sqlstr, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15).Scan(&ret)
  	if err != nil {
  		return 0.0, err
  	}
  
  	return ret, nil
  }
docs: // DatePart calls the stored procedure 'pg_catalog.date_part(text, abstime, text, reltime, text, date, text, time without time zone, text, timestamp without time zone, text, timestamp with time zone, text, interval, text, time with time zone) double precision' on db.