Skip to content

Instantly share code, notes, and snippets.

@thany
Created October 24, 2026 19:38
Show Gist options
  • Select an option

  • Save thany/7a0faf4bdb02d67bdc66cdfd929f2aaa to your computer and use it in GitHub Desktop.

Select an option

Save thany/7a0faf4bdb02d67bdc66cdfd929f2aaa to your computer and use it in GitHub Desktop.
Repair Lightroom Classic 15.4-15.6 catalog for photos where the UI clogs up on generating previews
INSERT INTO Adobe_imageDevelopSettings
(id_local, aiEditStatus, croppedWidth, digest, grayscale, hasAIMasks, hasBigData, hasLensBlur, hasMasks, hasPointColor, image, isHdrEditMode, processVersion, profileCorrections, removeChromaticAberration, text)
SELECT NULL, '000000000000000', 'uncropped', 'b0ecbe36c838e325de12ee9a31738eae', 0, 0, 0, 0, 0, 0, i.id_local, 0, '15.4', 0, 0, 's = { AILook = { },
AutoLateralCA = 0,
Blacks2012 = 0,
Brightness = 0,
CameraProfile = "Embedded",
CameraProfileDigest = "594D92DCABEEABABE349C650F31FA89C",
ColorGradeBlending = 50,
ColorGradeGlobalHue = 0,
ColorGradeGlobalLum = 0,
ColorGradeGlobalSat = 0,
ColorGradeHighlightLum = 0,
ColorGradeMidtoneHue = 0,
ColorGradeMidtoneLum = 0,
ColorGradeMidtoneSat = 0,
ColorGradeShadowLum = 0,
Contrast = 0,
Contrast2012 = 0,
ConvertToGrayscale = false,
CurveRefineSaturation = 100,
DefringeGreenAmount = 0,
DefringeGreenHueHi = 60,
DefringeGreenHueLo = 40,
DefringePurpleAmount = 0,
DefringePurpleHueHi = 70,
DefringePurpleHueLo = 30,
EnableDistractionRemoval = true,
Exposure = 0,
Exposure2012 = 0,
FilterList = { },
Glow = 0,
GlowRange = 50,
GlowSpread = 50,
GlowStyle = 0,
GlowWarmth = 0,
GrainSize = 25,
HDREditMode = 0,
HDRMaxValue = 2.3,
Highlights2012 = 0,
IncrementalTemperature = 0,
IncrementalTint = 0,
LensBlur = { },
LensManualDistortionAmount = 0,
LensProfileEnable = 0,
LensProfileSetup = "LensDefaults",
LuminanceNoiseReductionContrast = 0,
OverrideLookVignette = false,
PerspectiveHorizontal = 0,
PerspectiveRotate = 0,
PerspectiveScale = 100,
PerspectiveVertical = 0,
PerspectiveX = 0,
PerspectiveY = 0,
PointColors = { },
ProcessVersion = "15.4",
RedEyeInfo = { },
SDRBlend = 0,
SDRBrightness = 0,
SDRClarity = 0,
SDRContrast = 0,
SDRHighlights = 0,
SDRShadows = 0,
SDRWhites = 0,
Saturation = 0,
Shadows = 0,
Shadows2012 = 0,
SharpenDetail = 25,
SharpenEdgeMasking = 0,
SharpenRadius = 1,
ToneCurveName2012 = "Linear",
ToneCurvePV2012 = { 0,
0,
255,
255 },
ToneCurvePV2012Blue = { 0,
0,
255,
255 },
ToneCurvePV2012Green = { 0,
0,
255,
255 },
ToneCurvePV2012Red = { 0,
0,
255,
255 },
UprightCenterMode = 0,
UprightCenterNormX = 0.5,
UprightCenterNormY = 0.5,
UprightFocalLength35mm = 35,
UprightFocalMode = 0,
UprightFourSegmentsCount = 0,
UprightPreview = false,
UprightTransformCount = 6,
UprightVersion = 151388160,
Version = "18.7",
Vibrance = 0,
WhiteBalance = "As Shot",
Whites2012 = 0 }'
FROM Adobe_images i
LEFT JOIN Adobe_imageDevelopSettings d ON d.image = i.id_local
WHERE d.id_local IS NULL;
UPDATE Adobe_imageDevelopSettings SET
aiEditStatus = '000000000000000',
croppedWidth = 'uncropped',
digest = 'b0ecbe36c838e325de12ee9a31738eae',
grayscale = 0,
hasAIMasks = 0,
hasBigData = 0,
hasLensBlur = 0,
hasMasks = 0,
hasPointColor = 0,
isHdrEditMode = 0,
processVersion = '15.4',
profileCorrections = 0,
removeChromaticAberration = 0,
text = 's = { AILook = { },
AutoLateralCA = 0,
Blacks2012 = 0,
Brightness = 0,
CameraProfile = "Embedded",
CameraProfileDigest = "594D92DCABEEABABE349C650F31FA89C",
ColorGradeBlending = 50,
ColorGradeGlobalHue = 0,
ColorGradeGlobalLum = 0,
ColorGradeGlobalSat = 0,
ColorGradeHighlightLum = 0,
ColorGradeMidtoneHue = 0,
ColorGradeMidtoneLum = 0,
ColorGradeMidtoneSat = 0,
ColorGradeShadowLum = 0,
Contrast = 0,
Contrast2012 = 0,
ConvertToGrayscale = false,
CurveRefineSaturation = 100,
DefringeGreenAmount = 0,
DefringeGreenHueHi = 60,
DefringeGreenHueLo = 40,
DefringePurpleAmount = 0,
DefringePurpleHueHi = 70,
DefringePurpleHueLo = 30,
EnableDistractionRemoval = true,
Exposure = 0,
Exposure2012 = 0,
FilterList = { },
Glow = 0,
GlowRange = 50,
GlowSpread = 50,
GlowStyle = 0,
GlowWarmth = 0,
GrainSize = 25,
HDREditMode = 0,
HDRMaxValue = 2.3,
Highlights2012 = 0,
IncrementalTemperature = 0,
IncrementalTint = 0,
LensBlur = { },
LensManualDistortionAmount = 0,
LensProfileEnable = 0,
LensProfileSetup = "LensDefaults",
LuminanceNoiseReductionContrast = 0,
OverrideLookVignette = false,
PerspectiveHorizontal = 0,
PerspectiveRotate = 0,
PerspectiveScale = 100,
PerspectiveVertical = 0,
PerspectiveX = 0,
PerspectiveY = 0,
PointColors = { },
ProcessVersion = "15.4",
RedEyeInfo = { },
SDRBlend = 0,
SDRBrightness = 0,
SDRClarity = 0,
SDRContrast = 0,
SDRHighlights = 0,
SDRShadows = 0,
SDRWhites = 0,
Saturation = 0,
Shadows = 0,
Shadows2012 = 0,
SharpenDetail = 25,
SharpenEdgeMasking = 0,
SharpenRadius = 1,
ToneCurveName2012 = "Linear",
ToneCurvePV2012 = { 0,
0,
255,
255 },
ToneCurvePV2012Blue = { 0,
0,
255,
255 },
ToneCurvePV2012Green = { 0,
0,
255,
255 },
ToneCurvePV2012Red = { 0,
0,
255,
255 },
UprightCenterMode = 0,
UprightCenterNormX = 0.5,
UprightCenterNormY = 0.5,
UprightFocalLength35mm = 35,
UprightFocalMode = 0,
UprightFourSegmentsCount = 0,
UprightPreview = false,
UprightTransformCount = 6,
UprightVersion = 151388160,
Version = "18.7",
Vibrance = 0,
WhiteBalance = "As Shot",
Whites2012 = 0 }'
WHERE digest IS NULL;
@thany

thany commented Oct 24, 2026 •

Copy link
Copy Markdown
Author

I found in my catalog that LR would become so excruciatingly slow while generating previews (or attempting to) for certain photos, and it would never actually do it. When those photos come into view in the grid view, LR would just choke, and Windows would mark it as "not responding". The secondary monitor preview also goes completely nuts (as it normally does anyway, but this time it's reproducible).

So I found that for a lot of those photos, the catalog was missing develop settings (this is what the first file fixes), and LR only recreates them for those problematic photos if you highlight them in the grid view one by one. Each one takes 2-3 seconds to regenerate. Absolutely unacceptable.

Another thing I found, causing the same exact issue, is when develop settings exist, but the parameters are all NULL (and this is what the second file fixes).

I don't know how these things could've happened. It could be a crash during import. It could be memory leaks (which Lightroom STILL has). Or it could just be Adobe fucking up the way Adobe fucks up things all the time. Who knows. But this is the solution. Well, it was the solution for me.

To apply:

  1. Open your catalog directory and find the .lrcat file
  2. If there are any files ending in -shm, -wal, .lock, or -journal, the catalog is either still in use or improperly closed. Please reopen Lightroom with this catalog and close it cleanly.
  3. Backup the .lrcat file at the very least. Or just the whole directory if you don't fully trust it.
  4. Open your catalog file using a SQLite editor
  5. Run the above two SQL queries using that editor
  6. Close the SQLite editor and reopen your catalog with Lightroom. Now make Lightroom regenerate previews for the photos that were found to freeze the UI
  7. If it has resolved the issue and the previews generate normally, send Adobe the finger and continue being awesome

Things to note:

  • This was tested on Lightroom Classic 15.4-15.6. If you have a different version, maybe don't attempt it.
  • This should not affect existing edits. But that's why a backup is important. After this excercise, please test if your edits are still in place. If not, restore your backup.
  • If Lightroom is unusually slow opening the catalog, or it's giving you weird errors, restore your backup.
  • If anything seems wonky, no matter how mundane, restore your backup.
  • If this feels too technical for you, please just don't attempt it. Despite backups, it's still a risky operation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment