func (o *UserPersonalInfo) Update(ctx context.Context, exec boil.ContextExecutor, columns boil.Columns) (int64, error) {
	currTime := time.Now().In(boil.GetLocation())

	o.UpdatedAt = currTime

	var err error
	if err = o.doBeforeUpdateHooks(ctx, exec); err != nil {
		return 0, err
	}
	key := makeCacheKey(columns, nil)
	userPersonalInfoUpdateCacheMut.RLock()
	cache, cached := userPersonalInfoUpdateCache[key]
	userPersonalInfoUpdateCacheMut.RUnlock()

	if !cached {
		wl := columns.UpdateColumnSet(
			userPersonalInfoColumns,
			userPersonalInfoPrimaryKeyColumns,
		)

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

		cache.query = fmt.Sprintf("UPDATE \"user_personal_info\" SET %s WHERE %s",
			strmangle.SetParamNames("\"", "\"", 1, wl),
			strmangle.WhereClause("\"", "\"", len(wl)+1, userPersonalInfoPrimaryKeyColumns),
		)
		cache.valueMapping, err = queries.BindMapping(userPersonalInfoType, userPersonalInfoMapping, append(wl, userPersonalInfoPrimaryKeyColumns...))
		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 user_personal_info row")
	}

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

	if !cached {
		userPersonalInfoUpdateCacheMut.Lock()
		userPersonalInfoUpdateCache[key] = cache
		userPersonalInfoUpdateCacheMut.Unlock()
	}

	return rowsAff, o.doAfterUpdateHooks(ctx, exec)
}
// Update uses an executor to update the UserPersonalInfo.
// 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 UserPersonalInfo.
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 UserPersonalInfo . // 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 *UserPersonalInfo) Update(ctx context.Context, exec boil.ContextExecutor, columns boil.Columns) (int64, error) {
	currTime := time.Now().In(boil.GetLocation())
	o.UpdatedAt = currTime
	var err error
	if err = o.doBeforeUpdateHooks(ctx, exec); err != nil {
		return 0, err
	}
	key := makeCacheKey(columns, nil)
	userPersonalInfoUpdateCacheMut.RLock()
	cache, cached := userPersonalInfoUpdateCache[key]
	userPersonalInfoUpdateCacheMut.RUnlock()
	if !cached {
		wl := columns.UpdateColumnSet(
			userPersonalInfoColumns,
			userPersonalInfoPrimaryKeyColumns,
		)
		if !columns.IsWhitelist() {
			wl = strmangle.SetComplement(wl, []string{"created_at"})
		}
		if len(wl) == 0 {
			return 0, errors.New("models: unable to update user_personal_info, could not build whitelist")
		}
		cache.query = fmt.Sprintf("UPDATE \"user_personal_info\" SET %s WHERE %s",
			strmangle.SetParamNames("\"", "\"", 1, wl),
			strmangle.WhereClause("\"", "\"", len(wl)+1, userPersonalInfoPrimaryKeyColumns),
		)
		cache.valueMapping, err = queries.BindMapping(userPersonalInfoType, userPersonalInfoMapping, append(wl, userPersonalInfoPrimaryKeyColumns...))
		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 user_personal_info row")
	}
	rowsAff, err := result.RowsAffected()
	if err != nil {
		return 0, errors.Wrap(err, "models: failed to get rows affected by update for user_personal_info")
	}
	if !cached {
		userPersonalInfoUpdateCacheMut.Lock()
		userPersonalInfoUpdateCache[key] = cache
		userPersonalInfoUpdateCacheMut.Unlock()
	}
	return rowsAff, o.doAfterUpdateHooks(ctx, exec)
}
func ( o * UserPersonalInfo ) Update ( ctx context . Context , exec boil . ContextExecutor , columns boil . Columns ) ( int64 , error ) { currTime := time . Now ( ) . In ( boil . GetLocation ( ) ) o . UpdatedAt = currTime var err error if err = o . doBeforeUpdateHooks ( ctx , exec ) ; err != nil { return 0 , err } key := makeCacheKey ( columns , nil ) userPersonalInfoUpdateCacheMut . RLock ( ) cache , cached := userPersonalInfoUpdateCache [ key ] userPersonalInfoUpdateCacheMut . RUnlock ( ) if ! cached { wl := columns . UpdateColumnSet ( userPersonalInfoColumns , userPersonalInfoPrimaryKeyColumns , ) 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 , userPersonalInfoPrimaryKeyColumns ) , ) cache . valueMapping , err = queries . BindMapping ( userPersonalInfoType , userPersonalInfoMapping , append ( wl , userPersonalInfoPrimaryKeyColumns ... ) ) 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 { userPersonalInfoUpdateCacheMut . Lock ( ) userPersonalInfoUpdateCache [ key ] = cache userPersonalInfoUpdateCacheMut . Unlock ( ) } return rowsAff , o . doAfterUpdateHooks ( ctx , exec ) }
Update uses an executor to update the UserPersonalInfo.
Update uses an executor to update the UserPersonalInfo .