Speaker

Philipp Salvisberg

Philipp Salvisberg

Focused on database-centric development.

Winterthur, Switzerland

Actions

Philipp Salvisberg is the owner of Grisselbav GmbH and an Oracle ACE Pro. He has been focusing on Oracle database-based solutions since 1988. At that time with Oracle Database version 5. Since then, he has been helping customers design, build and optimize their database-centric solutions, teaching application development topics or speaking at conferences. Software quality and automation are of great importance in this context.

Philipp has a soft spot for doing as much as possible in a single SQL statement and is interested in pretty much everything to use the database as efficiently as possible. He likes to design model-driven software solutions using domain-specific languages while getting the most out of the underlying technologies.

Badges

Area of Expertise

  • Information & Communications Technology

Topics

  • SQL
  • PL/SQL
  • JavaScript
  • TypeScript
  • Java
  • Xtext
  • ANTLR
  • Data Modeling
  • Software Design
  • Software Quality Assurance
  • Database-centric Development

Fighting Bad PL/SQL & SQL with Custom Rules

In my previous talk, “Fighting Bad PL/SQL & SQL with VS Code”, I demonstrated how dbLinter helps detect bugs and improve code quality through automated checks and quick fixes. But what happens when the built-in rules are not enough?

This session takes the next step by showing how to create custom rules to enforce project-specific standards and catch issues that built-in linter rules cannot detect. You will learn how PL/SQL and SQL code is parsed, how custom validators work, and how to integrate your own rules and quick fixes into the linting process.

In a live demo, I will show:
- How to define a custom rule with compliant and non-compliant examples
- How to generate a validator skeleton
- How to visualise the parse tree of SQL and PL/SQL code
- How to implement and test a validator, including a quick fix
- How to activate the rule and use it in Visual Studio Code and the command line

By the end of this session, you will understand how dbLinter works behind the scenes and be able to recognise patterns in your own code where custom rules can help detect issues before they hit production.

Fighting Bad PL/SQL & SQL with VS Code

Improving code is like losing weight. First, you need to know what is good and what is bad. You need metrics and appropriate measurement tools to express your goals and achievements. Then you get results as a series of small steps in the right direction.

In PL/SQL and SQL, code complexity can be expressed in lines of code, number of statements, as McCabe's cyclomatic complexity, Halstead's volume, or the maintainability index. Reducing complexity is one way of improving code quality.

However, in this talk I will focus on coding guidelines for PL/SQL and SQL and discuss my favourite guidelines. These guidelines are actually rules and must be followed. Therefore, there is (almost) no room for different interpretations. So, if we violate any of these rules, it means our code is broken. I will show you how you can use the dbLinter extension for Visual Studio Code to find these bugs in your code and fix them manually or even automatically.

By the end of this session, you'll know how to check your code in Visual Studio Code and efficiently eliminate bad code.

HrOUG 2024 Sessionize Event

October 2024 Rovinj, Croatia

Philipp Salvisberg

Focused on database-centric development.

Winterthur, Switzerland

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top