docs: Table COLLATIONS() {
  
          Table t = sysTables[COLLATIONS];
  
          if (t == null) {
              t = createBlankTable(sysTableHsqlNames[COLLATIONS]);
  
              addColumn(t, "COLLATION_CATALOG", SQL_IDENTIFIER);
              addColumn(t, "COLLATION_SCHEMA", SQL_IDENTIFIER);    // not null
              addColumn(t, "COLLATION_NAME", SQL_IDENTIFIER);      // not null
              addColumn(t, "PAD_ATTRIBUTE", CHARACTER_DATA);
  
              // false PK, as rows may have NULL COLLATION_CATALOG
              HsqlName name = HsqlNameManager.newInfoSchemaObjectName(
                  sysTableHsqlNames[COLLATIONS].name, false, SchemaObject.INDEX);
  
              t.createPrimaryKey(name, new int[] {
                  0, 1, 2
              }, false);
  
              return t;
          }
  
          // Column number mappings
          final int collation_catalog = 0;
          final int collation_schema  = 1;
          final int collation_name    = 2;
          final int pad_attribute     = 3;
  
          //
          PersistentStore store = database.persistentStoreCollection.getStore(t);
  
          // Intermediate holders
          Iterator collations;
          String   collation;
          String   collationSchema = SqlInvariants.PUBLIC_SCHEMA;
          String   padAttribute    = "NO PAD";
          Object[] row;
  
          // Initialization
          collations = Collation.nameToJavaName.keySet().iterator();
  
          // Do it.
          while (collations.hasNext()) {
              row                    = t.getEmptyRowData();
              collation              = (String) collations.next();
              row[collation_catalog] = database.getCatalogName().name;
              row[collation_schema]  = collationSchema;
              row[collation_name]    = collation;
              row[pad_attribute]     = padAttribute;
  
              t.insertSys(store, row);
          }
  
          return t;
      }