diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index c6f7619..078e737 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -24,9 +24,7 @@ jobs: - uses: actions/checkout@v3 - name: Set up stored functions - run: | - cat ./semver.sql - mysql -uroot -proot test_db < ./semver.sql + run: mysql -uroot -proot test_db < ./semver.sql - name: Run tests run: if mysql -uroot -proot test_db < ./tests.sql | grep -q 'column'; then exit 1; fi diff --git a/semver.sql b/semver.sql index 0388316..cdd2381 100644 --- a/semver.sql +++ b/semver.sql @@ -20,14 +20,13 @@ CREATE FUNCTION `SEMANTIC_VERSION`(version VARCHAR(255)) RETURNS VARCHAR(255) NO SQL SQL SECURITY INVOKER BEGIN - DECLARE re VARCHAR(255) DEFAULT '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$'; DECLARE sem_ver VARCHAR(255) DEFAULT NULL; IF version IS NULL THEN RETURN NULL; END IF; - SET sem_ver = REGEXP_REPLACE(version, re, '$1,$2,$3,$4,$5'); + SET sem_ver = REGEXP_REPLACE(version, '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$', '$1,$2,$3,$4,$5'); IF version = sem_ver THEN SET sem_ver = NULL;