func (o *EthnicGroupCountry) Update(ctx context.Context, exec boil.ContextExecutor, columns boil.Columns) (int64, error) {
	var err error
	if err = o.doBeforeUpdateHooks(ctx, exec); err != nil {
		return 0, err
	}
	key := makeCacheKey(columns, nil)
	ethnicGroupCountryUpdateCacheMut.RLock()
	cache, cached := ethnicGroupCountryUpdateCache[key]
	ethnicGroupCountryUpdateCacheMut.RUnlock()

	if !cached {
		wl := columns.UpdateColumnSet(
			ethnicGroupCountryColumns,
			ethnicGroupCountryPrimaryKeyColumns,
		)

		if !columns.IsWhitelist() {
			wl = strmangle.SetComplement(wl, []string{"created_at"})
		}
		if len(wl) == 0 {
			return 0, errors.New("models: unable to update ethnic_group_country, could not build whitelist")
		}

		cache.query = fmt.Sprintf("UPDATE \"ethnic_group_country\" SET %s WHERE %s",
			strmangle.SetParamNames("\"", "\"", 1, wl),
			strmangle.WhereClause("\"", "\"", len(wl)+1, ethnicGroupCountryPrimaryKeyColumns),
		)
		cache.valueMapping, err = queries.BindMapping(ethnicGroupCountryType, ethnicGroupCountryMapping, append(wl, ethnicGroupCountryPrimaryKeyColumns...))
		if err != nil {
			return 0, err
		}
	}

	values := queries.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(o)), cache.valueMapping)

	if boil.DebugMode {
		fmt.Fprintln(boil.DebugWriter, cache.query)
		fmt.Fprintln(boil.DebugWriter, values)
	}

	var result sql.Result
	result, err = exec.ExecContext(ctx, cache.query, values...)
	if err != nil {
		return 0, errors.Wrap(err, "models: unable to update ethnic_group_country row")
	}

	rowsAff, err := result.RowsAffected()
	if err != nil {
		return 0, errors.Wrap(err, "models: failed to get rows affected by update for ethnic_group_country")
	}

	if !cached {
		ethnicGroupCountryUpdateCacheMut.Lock()
		ethnicGroupCountryUpdateCache[key] = cache
		ethnicGroupCountryUpdateCacheMut.Unlock()
	}

	return rowsAff, o.doAfterUpdateHooks(ctx, exec)
}
// Update uses an executor to update the EthnicGroupCountry.
// See boil.Columns.UpdateColumnSet documentation to understand column list inference for updates.
// Update does not automatically update the record in case of default values. Use .Reload() to refresh the records.
Update uses an executor to update the EthnicGroupCountry.
See boil.Columns.UpdateColumnSet documentation to understand column list inference for updates.
Update does not automatically update the record in case of default values. Use .Reload() to refresh the records.
// Update uses an executor to update the EthnicGroupCountry . // See boil . Columns . UpdateColumnSet documentation to understand column list inference for updates . // Update does not automatically update the record in case of default values . Use . Reload () to refresh the records .
func (o *EthnicGroupCountry) Update(ctx context.Context, exec boil.ContextExecutor, columns boil.Columns) (int64, error) {
	var err error
	if err = o.doBeforeUpdateHooks(ctx, exec); err != nil {
		return 0, err
	}
	key := makeCacheKey(columns, nil)
	ethnicGroupCountryUpdateCacheMut.RLock()
	cache, cached := ethnicGroupCountryUpdateCache[key]
	ethnicGroupCountryUpdateCacheMut.RUnlock()
	if !cached {
		wl := columns.UpdateColumnSet(
			ethnicGroupCountryColumns,
			ethnicGroupCountryPrimaryKeyColumns,
		)
		if !columns.IsWhitelist() {
			wl = strmangle.SetComplement(wl, []string{"created_at"})
		}
		if len(wl) == 0 {
			return 0, errors.New("models: unable to update ethnic_group_country, could not build whitelist")
		}
		cache.query = fmt.Sprintf("UPDATE \"ethnic_group_country\" SET %s WHERE %s",
			strmangle.SetParamNames("\"", "\"", 1, wl),
			strmangle.WhereClause("\"", "\"", len(wl)+1, ethnicGroupCountryPrimaryKeyColumns),
		)
		cache.valueMapping, err = queries.BindMapping(ethnicGroupCountryType, ethnicGroupCountryMapping, append(wl, ethnicGroupCountryPrimaryKeyColumns...))
		if err != nil {
			return 0, err
		}
	}
	values := queries.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(o)), cache.valueMapping)
	if boil.DebugMode {
		fmt.Fprintln(boil.DebugWriter, cache.query)
		fmt.Fprintln(boil.DebugWriter, values)
	}
	var result sql.Result
	result, err = exec.ExecContext(ctx, cache.query, values...)
	if err != nil {
		return 0, errors.Wrap(err, "models: unable to update ethnic_group_country row")
	}
	rowsAff, err := result.RowsAffected()
	if err != nil {
		return 0, errors.Wrap(err, "models: failed to get rows affected by update for ethnic_group_country")
	}
	if !cached {
		ethnicGroupCountryUpdateCacheMut.Lock()
		ethnicGroupCountryUpdateCache[key] = cache
		ethnicGroupCountryUpdateCacheMut.Unlock()
	}
	return rowsAff, o.doAfterUpdateHooks(ctx, exec)
}
func ( o * EthnicGroupCountry ) Update ( ctx context . Context , exec boil . ContextExecutor , columns boil . Columns ) ( int64 , error ) { var err error if err = o . doBeforeUpdateHooks ( ctx , exec ) ; err != nil { return 0 , err } key := makeCacheKey ( columns , nil ) ethnicGroupCountryUpdateCacheMut . RLock ( ) cache , cached := ethnicGroupCountryUpdateCache [ key ] ethnicGroupCountryUpdateCacheMut . RUnlock ( ) if ! cached { wl := columns . UpdateColumnSet ( ethnicGroupCountryColumns , ethnicGroupCountryPrimaryKeyColumns , ) if ! columns . IsWhitelist ( ) { wl = strmangle . SetComplement ( wl , [ ] string { " " } ) } if len ( wl ) == 0 { return 0 , errors . New ( " " ) } cache . query = fmt . Sprintf ( " \" \" " , strmangle . SetParamNames ( " \" " , " \" " , 1 , wl ) , strmangle . WhereClause ( " \" " , " \" " , len ( wl ) + 1 , ethnicGroupCountryPrimaryKeyColumns ) , ) cache . valueMapping , err = queries . BindMapping ( ethnicGroupCountryType , ethnicGroupCountryMapping , append ( wl , ethnicGroupCountryPrimaryKeyColumns ... ) ) if err != nil { return 0 , err } } values := queries . ValuesFromMapping ( reflect . Indirect ( reflect . ValueOf ( o ) ) , cache . valueMapping ) if boil . DebugMode { fmt . Fprintln ( boil . DebugWriter , cache . query ) fmt . Fprintln ( boil . DebugWriter , values ) } var result sql . Result result , err = exec . ExecContext ( ctx , cache . query , values ... ) if err != nil { return 0 , errors . Wrap ( err , " " ) } rowsAff , err := result . RowsAffected ( ) if err != nil { return 0 , errors . Wrap ( err , " " ) } if ! cached { ethnicGroupCountryUpdateCacheMut . Lock ( ) ethnicGroupCountryUpdateCache [ key ] = cache ethnicGroupCountryUpdateCacheMut . Unlock ( ) } return rowsAff , o . doAfterUpdateHooks ( ctx , exec ) }
Update uses an executor to update the EthnicGroupCountry.
Update uses an executor to update the EthnicGroupCountry .