code: public Savepoint setSavepoint(final String name) throws SQLException {
      Savepoint savepoint = new MariaDbSavepoint(name, savepointCount++);
      try (Statement st = createStatement()) {
        st.execute("SAVEPOINT " + savepoint.toString());
      }
      return savepoint;
  
    }
docs: <p>Creates a savepoint with the given name in the current transaction and returns the new
  <code>Savepoint</code>
  object that represents it.</p> if setSavepoint is invoked outside of an active transaction, a
  transaction will be started at this newly created savepoint.
  
  @param name a <code>String</code> containing the name of the savepoint
  @return the new <code>Savepoint</code> object
  @throws SQLException                    if a database access error occurs, this method is
  called while participating in a distributed
  transaction, this method is called on a closed
  connection or this <code>Connection</code> object is
  currently in auto-commit mode
  @see Savepoint
  @since 1.4