તમારા Apex માં Summer '26 માં ઓછા રેકોર્ડ્સ મળી શકે છે

Salesforce Summer '26 (API v67.0) Apex માં એક મોટો ફેરફાર લાવે છે. આ ફેરફાર કોઈ એરર (error) આપ્યા વગર તમારા કોડના પરિણામો બદલી શકે છે.

વર્ષોથી, Apex ડિફોલ્ટ રીતે system mode માં ચાલતું હતું. આનો અર્થ એ હતો કે SOQL, SOSL, અને DML યુઝર પરમિશન (user permissions) અને શેરિંગ નિયમોને (sharing rules) અવગણતા હતા. તમારો કોડ એવા યુઝર્સને ડેટા બતાવી શકતો હતો જેમને તે જોવાનો અધિકાર ન હોવો જોઈએ.

API v67.0 માં, ડિફોલ્ટ બદલાઈ જાય છે. હવે ડેટાબેઝ ઓપરેશન્સ user mode માં ચાલે છે.

v67.0 માં શું બદલાય છે:

• SOQL, SOSL, અને DML ડિફોલ્ટ રીતે યુઝર પરમિશન અને શેરિંગ નિયમો લાગુ કરે છે. • જે ક્લાસમાં કોઈ sharing declaration નથી, તે હવે ડિફોલ્ટ રીતે "with sharing" તરીકે ગણાશે. • "WITH SECURITY_ENFORCED" ને દૂર કરવામાં આવ્યું છે. તેના બદલે તમારે "WITH USER_MODE" નો ઉપયોગ કરવો પડશે. • Triggers હંમેશા system mode માં જ ચાલશે.

આ ફેરફાર તમારા ક્લાસના API વર્ઝન સાથે જોડાયેલ છે. જ્યાં સુધી તમે તમારા જૂના ક્લાસને 67.0 પર અપગ્રેડ નહીં કરો ત્યાં સુધી તે એવા જ રહેશે. આ તમને માઈગ્રેશન (migration) પર નિયંત્રણ રાખવામાં મદદ કરે છે.

આ છૂપી સમસ્યાઓથી સાવધ રહો:

સુરક્ષિત રીતે માઈગ્રેટ કેવી રીતે કરવું:

અત્યારે આ ફેરફારો કરવાથી ભવિષ્યમાં પ્રોડક્શનમાં આવતી છૂપી ભૂલો (bugs) અટકાવી શકાય છે.

સ્ત્રોત: https://dev.to/maintask/your-apex-might-return-fewer-records-in-summer-26-and-not-throw-a-single-error-26de

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi