vendor

Talks about:

Which database your DDL is written for, when the DDL itself does not say.

Names the database whose spellings the schema uses, so that bytea, timestamptz, bigserial, jsonb and the rest of a dialect’s own type names are understood. Without it only the spellings every database shares are — a column declared bytea reads as unknown, which means no inferred parameter type and no generated result row type for any statement touching it.

A schema file can say the same thing with a -- vendor: line of its own, and that is the better place when a project describes several databases. This setting exists for the schema you cannot edit: a Flyway or Liquibase migration directory, where every file is checksummed and adding a comment to one already applied makes the tool refuse to run.

Write it the way a JDBC driver reports the database, which is the same spelling a statement’s own vendor is matched against — PostgreSQL, MySQL, MariaDB, H2, Oracle, Microsoft SQL Server. It says nothing about which statements are generated: every statement still applies to every database, and a file that names its own vendor keeps it.

Configuration Options

Option: ‘PostgreSQL’

Reads the schema as PostgreSQL’s, so a bytea column gives byte[] and a timestamptz gives Instant.

Option: ''

The default. Only the type spellings every supported database shares are understood, unless a schema file names a vendor itself.

Also in this group: sqlStatementsDirectory , validation .

Tooling

Ant

In order to use YoSQL together with Ant , take a look at the tooling documentation for Ant .

Bazel

In order to use YoSQL together with Bazel , take a look at the tooling documentation for Bazel .

CLI

In order to use YoSQL on the command line, take a look at the tooling documentation for CLI .

yosql generate --schema-vendor=configValue

Gradle

In order to use YoSQL together with Gradle , take a look at the tooling documentation for Gradle . The vendor setting can be configured using Gradle in Kotlin syntax like this:

plugins {
  java
  id("wtf.metio.yosql") version "2026.8.8"
}

yosql {
  schema {
    vendor.set(configValue)
  }
}

or in Groovy syntax like this:

plugins {
  id "java"
  id "wtf.metio.yosql" version "2026.8.8"
}

yosql {
  schema {
    vendor = configValue
  }
}

Maven

In order to use YoSQL together with Maven , take a look at the tooling documentation for Maven . The vendor setting can be configured using Maven like this:

<build>
  <plugins>
    <plugin>
      <groupId>wtf.metio.yosql.tooling</groupId>
      <artifactId>yosql-tooling-maven</artifactId>
      <version>2026.8.8</version>
      <configuration>
        <schema>
          <vendor>configValue</vendor>
        </schema>
      </configuration>
    </plugin>
  </plugins>
</build>