ਤੁਹਾਡਾ Apex Summer '26 ਵਿੱਚ ਘੱਟ ਰਿਕਾਰਡ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ
Salesforce Summer '26 (API v67.0) Apex ਵਿੱਚ ਇੱਕ ਵੱਡਾ ਬਦਲਾਅ ਲਿਆਉਂਦਾ ਹੈ। ਇਹ ਬਦਲਾਅ ਬਿਨਾਂ ਕਿਸੇ ਐਰਰ ਦੇ ਤੁਹਾਡੇ ਕੋਡ ਦੇ ਨਤੀਜਿਆਂ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ।
ਸਾਲਾਂ ਤੋਂ, Apex ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ system mode ਵਿੱਚ ਚੱਲਦਾ ਸੀ। ਇਸਦਾ ਮਤਲਬ ਸੀ ਕਿ SOQL, SOSL, ਅਤੇ DML ਯੂਜ਼ਰ ਪਰਮਿਸ਼ਨਾਂ ਅਤੇ ਸ਼ੇਅਰਿੰਗ ਨਿਯਮਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੇ ਸਨ। ਤੁਹਾਡਾ ਕੋਡ ਉਹਨਾਂ ਯੂਜ਼ਰਾਂ ਨੂੰ ਡਾਟਾ ਦਿਖਾ ਸਕਦਾ ਸੀ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇਹ ਨਹੀਂ ਦੇਖਣਾ ਚਾਹੀਦਾ ਸੀ।
API v67.0 ਵਿੱਚ, ਡਿਫੌਲਟ ਬਦਲ ਜਾਂਦਾ ਹੈ। ਡਾਟਾਬੇਸ ਆਪਰੇਸ਼ਨ ਹੁਣ user mode ਵਿੱਚ ਚੱਲਦੇ ਹਨ।
v67.0 ਵਿੱਚ ਕੀ ਬਦਲਦਾ ਹੈ:
• SOQL, SOSL, ਅਤੇ DML ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ ਯੂਜ਼ਰ ਪਰਮਿਸ਼ਨਾਂ ਅਤੇ ਸ਼ੇਅਰਿੰਗ ਨਿਯਮਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹਨ। • ਬਿਨਾਂ sharing declaration ਵਾਲੀਆਂ ਕਲਾਸਾਂ ਹੁਣ ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ "with sharing" ਹੋ ਜਾਣਗੀਆਂ। • "WITH SECURITY_ENFORCED" ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਇਸਦੀ ਬਜਾਏ ਤੁਹਾਨੂੰ "WITH USER_MODE" ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। • Triggers ਹਮੇਸ਼ਾ system mode ਵਿੱਚ ਚੱਲਦੇ ਹਨ।
ਇਹ ਬਦਲਾਅ ਤੁਹਾਡੀ ਕਲਾਸ ਦੇ API version ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ। ਤੁਹਾਡੀਆਂ ਪੁਰਾਣੀਆਂ ਕਲਾਸਾਂ ਉਦੋਂ ਤੱਕ ਉਹੀ ਰਹਿਣਗੀਆਂ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ 67.0 ਵਿੱਚ ਅੱਪਗ੍ਰੇਡ ਨਹੀਂ ਕਰਦੇ। ਇਹ ਤੁਹਾਨੂੰ ਮਾਈਗ੍ਰੇਸ਼ਨ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਇਹਨਾਂ ਚੁੱਪਚਾਪ ਹੋਣ ਵਾਲੀਆਂ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਸਾਵਧਾਨ ਰਹੋ:
- ਕੁਐਰੀਆਂ ਵਿੱਚ ਘੱਟ ਰਿਕਾਰਡ: ਇੱਕ ਕੁਐਰੀ 500 ਦੀ ਬਜਾਏ 40 ਰੋਅ ਵਾਪਸ ਕਰ ਸਕਦੀ ਹੈ ਕਿਉਂਕਿ ਯੂਜ਼ਰ ਕੋਲ ਐਕਸੈਸ ਨਹੀਂ ਹੈ। ਇਸ ਨਾਲ ਗਲਤ ਟੋਟਲ ਅਤੇ ਖਰਾਬ ਰਿਪੋਰਟਾਂ ਬਣਦੀਆਂ ਹਨ।
- ਕੰਪਾਈਲੇਸ਼ਨ ਐਰਰ: ਨਵੇਂ ਵਰਜ਼ਨ 'ਤੇ "WITH SECURITY_ENFORCED" ਕੰਪਾਈਲ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਰਹੇਗਾ।
- ਇੰਟਿਗ੍ਰੇਸ਼ਨ ਫੇਲ੍ਹ ਹੋਣਾ: ਇੰਟਿਗ੍ਰੇਸ਼ਨ ਯੂਜ਼ਰਾਂ ਨੂੰ ਉਹਨਾਂ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਖੋ ਸਕਦੀ ਹੈ ਜਿਸਦੀ ਉਹਨਾਂ ਨੂੰ ਆਟੋਮੇਟਡ ਕੰਮਾਂ ਲਈ ਲੋੜ ਹੁੰਦੀ ਹੈ।
- ਸ਼ੇਅਰਿੰਗ ਵਿੱਚ ਬਦਲਾਅ: ਉਹ ਕਲਾਸਾਂ ਜੋ no sharing declaration 'ਤੇ ਨਿਰਭਰ ਸਨ, ਹੁਣ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰਨਗੀਆਂ।
ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਮਾਈਗ੍ਰੇਟ ਕਿਵੇਂ ਕਰੀਏ:
- ਆਪਣੇ ਕੋਡ ਦੀ ਇਨਵੈਂਟਰੀ ਬਣਾਓ: "WITH SECURITY_ENFORCED" ਅਤੇ ਬਿਨਾਂ sharing declaration ਵਾਲੀਆਂ ਕਲਾਸਾਂ ਲਈ ਸਰਚ ਕਰੋ।
- Sandbox ਵਿੱਚ ਟੈਸਟ ਕਰੋ: ਪਹਿਲਾਂ ਕੰਟਰੋਲਰਾਂ ਅਤੇ REST endpoints ਵਰਗੀਆਂ ਉੱਚ-ਜੋਖਮ ਵਾਲੀਆਂ ਕਲਾਸਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ।
- System.runAs() ਦੀ ਵਰਤੋਂ ਕਰੋ: ਸਿਰਫ਼ ਟੈਸਟ ਪਾਸ ਹੋਣ 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ। ਡਾਟਾ ਵਿਜ਼ੀਬਿਲਟੀ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਸੀਮਤ ਯੂਜ਼ਰਾਂ ਨਾਲ ਟੈਸਟ ਕਰੋ।
- ਸੋਚ-ਸਮਝ ਕੇ ਕਦਮ ਚੁੱਕੋ: "SYSTEM_MODE" ਜਾਂ "without sharing" ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਹੀ ਕਰੋ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਖਾਸ ਕਾਰਨ ਹੋਵੇ।
ਇਹਨਾਂ ਬਦਲਾਵਾਂ ਨੂੰ ਹੁਣੇ ਕਰਨ ਨਾਲ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਚੁੱਪਚਾਪ ਹੋਣ ਵਾਲੇ ਬੱਗਸ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi