1c-syntax / sonar-bsl-plugin-community

Поддержка языка 1С:Предприятие 8 и OneScript для SonarQube.
https://1c-syntax.github.io/sonar-bsl-plugin-community/
GNU Lesser General Public License v3.0
223 stars 44 forks source link

Не устанавливается версия 1.12 на sonarqube-ce 9.9.1 #280

Closed pravets closed 2 months ago

pravets commented 1 year ago

После установки требуется перезапуск сонара. При перезапуске в логе следующая ошибка.

sonarqube_1 | ### Error committing transaction. Cause: org.apache.ibatis.executor.BatchExecutorException: org.sonar.db.rule.RuleMapper.insertRule (batch index #196) failed. 195 prior sub executor(s) completed successfully, but will be rolled back. Cause: java.sql.BatchUpdateException: Batch entry 0 insert into rules ( sonarqube_1 | uuid, sonarqube_1 | plugin_key, sonarqube_1 | plugin_rule_key, sonarqube_1 | plugin_name, ... sonarqube_1 | name, ... sonarqube_1 | ) sonarqube_1 | values ( sonarqube_1 | 'AYjyLpjg8MPlNF3MqJuw', sonarqube_1 | 'communitybsl', sonarqube_1 | 'EDT-175', sonarqube_1 | 'edt-rules', ... sonarqube_1 | 'Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы. В состав их типов не рекомендуется включать никаких других нессылочных типов.', ... sonarqube_1 | ) was aborted: ERROR: value too long for type character varying(200) Call getNextException to see other errors in the batch.

Проверил поле name в таблице rules, там действительно ограничение на 200 символов.

pravets commented 1 year ago

Грязно и нагло пофиксил, увеличив длину поля name до 250 символов. Но решение так себе.

nixel2007 commented 1 year ago

@theshadowco FYI. надо бы юнит тест написать на правила, чтобы длину полей чекать по всему содержимому json.