docs: protected void initParams(Database database, String baseFileName) {
  
          HsqlDatabaseProperties props = database.getProperties();
  
          fileName       = baseFileName + ".data";
          backupFileName = baseFileName + ".backup";
          this.database  = database;
          fa             = database.getFileAccess();
  
          int cacheScale =
              props.getIntegerProperty(HsqlDatabaseProperties.hsqldb_cache_scale,
                                       14, 8, 18);
          int cacheSizeScale = props.getIntegerProperty(
              HsqlDatabaseProperties.hsqldb_cache_size_scale, 10, 6, 20);
          int cacheFreeCountScale = props.getIntegerProperty(
              HsqlDatabaseProperties.hsqldb_cache_free_count_scale, 9, 6, 12);
  
          incBackup = database.getProperties().isPropertyTrue(
              HsqlDatabaseProperties.hsqldb_inc_backup);
          cacheFileScale = database.getProperties().getIntegerProperty(
              HsqlDatabaseProperties.hsqldb_cache_file_scale, 8);
  
          if (cacheFileScale != 1) {
              cacheFileScale = 8;
          }
  
          cachedRowPadding = 8;
  
          if (cacheFileScale > 8) {
              cachedRowPadding = cacheFileScale;
          }
  
          cacheReadonly = database.isFilesReadOnly();
  
          int lookupTableLength = 1 << cacheScale;
          int avgRowBytes       = 1 << cacheSizeScale;
  
          maxCacheSize    = lookupTableLength * 3;
          maxCacheBytes   = maxCacheSize * avgRowBytes;
          maxDataFileSize = cacheFileScale == 1 ? Integer.MAX_VALUE
                                                : (long) Integer.MAX_VALUE
                                                * cacheFileScale;
          maxFreeBlocks = 1 << cacheFreeCountScale;
          dataFile      = null;
          shadowFile    = null;
      }