diff --git a/ui/apps/everest/src/components/cluster-form/db-version/utils.test.ts b/ui/apps/everest/src/components/cluster-form/db-version/utils.test.ts index 7e3e72661..fa92fb6a9 100644 --- a/ui/apps/everest/src/components/cluster-form/db-version/utils.test.ts +++ b/ui/apps/everest/src/components/cluster-form/db-version/utils.test.ts @@ -59,18 +59,6 @@ describe('DBVersion Available filter test', () => { ).toEqual(['16.4']); }); - it('should coerce PG versions to semver', () => { - expect( - filterAvailableDbVersionsForDbEngineEdition( - generateDbEngineWithVersions( - ['13.0', '14.0', '14.1', '15.0'], - DbEngineType.POSTGRESQL - ), - '14.1' - ).map(({ version }) => version) - ).toEqual(['14.1']); - }); - it('should allow major upgrade to the next version for PSMDB', () => { expect( filterAvailableDbVersionsForDbEngineEdition( @@ -83,25 +71,25 @@ describe('DBVersion Available filter test', () => { ).toEqual(['7.0.15-9', '7.0.14-8', '6.0.19-16', '6.0.18-15']); }); - it('should rule out major upgrades/downgrades for PXC/PG', () => { + it('should rule out major upgrades for PXC/PG', () => { + expect( + filterAvailableDbVersionsForDbEngineEdition( + generateDbEngineWithVersions( + ['9.0.0', '8.4.2-2.1', '8.0.39-30.1', '8.0.36-28.1', '8.0.35-27.1'], + DbEngineType.PXC + ), + '8.0.36-28.1' + ).map(({ version }) => version) + ).toEqual(['8.4.2-2.1', '8.0.39-30.1', '8.0.36-28.1']); expect( filterAvailableDbVersionsForDbEngineEdition( generateDbEngineWithVersions( - [ - '1.0.0', - '1.2.0', - '2.3.3', - '2.5.0', - '2.9.0', - '3.1.0', - '4.3.0', - '5.4.1', - ], + ['16.4', '16.3', '15.8', '15.7'], DbEngineType.POSTGRESQL ), - '2.3.0' + '15.7' ).map(({ version }) => version) - ).toEqual(['2.3.3', '2.5.0', '2.9.0']); + ).toEqual(['15.8', '15.7']); }); }); }); diff --git a/ui/apps/everest/src/components/cluster-form/db-version/utils.ts b/ui/apps/everest/src/components/cluster-form/db-version/utils.ts index 1117579c3..48d7e16af 100644 --- a/ui/apps/everest/src/components/cluster-form/db-version/utils.ts +++ b/ui/apps/everest/src/components/cluster-form/db-version/utils.ts @@ -35,8 +35,8 @@ export const filterAvailableDbVersionsForDbEngineEdition = ( return semverVersion ? gte(semverVersion, currentSemverVersion) : true; }); - // If the engine is PG, major version upgrades are also ruled out - if ([DbEngineType.POSTGRESQL].includes(dbType)) { + // If the engine is PXC or PG, major version upgrades are also ruled out + if ([DbEngineType.PXC, DbEngineType.POSTGRESQL].includes(dbType)) { versions = versions.filter(({ version }) => { const semverVersion = coerce(version); return semverVersion ? semverVersion.major === currentMajor : true;