docs: final Table SYSTEM_PRIMARYKEYS() {
  
          Table t = sysTables[SYSTEM_PRIMARYKEYS];
  
          if (t == null) {
              t = createBlankTable(sysTableHsqlNames[SYSTEM_PRIMARYKEYS]);
  
              addColumn(t, "TABLE_CAT", SQL_IDENTIFIER);
              addColumn(t, "TABLE_SCHEM", SQL_IDENTIFIER);
              addColumn(t, "TABLE_NAME", SQL_IDENTIFIER);     // not null
              addColumn(t, "COLUMN_NAME", SQL_IDENTIFIER);    // not null
              addColumn(t, "KEY_SEQ", Type.SQL_SMALLINT);     // not null
              addColumn(t, "PK_NAME", SQL_IDENTIFIER);
  
              // order: COLUMN_NAME
              // added for unique: TABLE_NAME, TABLE_SCHEM, TABLE_CAT
              // false PK, as  TABLE_SCHEM and/or TABLE_CAT may be null
              HsqlName name = HsqlNameManager.newInfoSchemaObjectName(
                  sysTableHsqlNames[SYSTEM_PRIMARYKEYS].name, false,
                  SchemaObject.INDEX);
  
              t.createPrimaryKey(name, new int[] {
                  3, 2, 1, 0
              }, false);
  
              return t;
          }
  
          PersistentStore store = database.persistentStoreCollection.getStore(t);
  
          // calculated column values
          String tableCatalog;
          String tableSchema;
          String tableName;
  
          //String  columnName;
          //Integer keySequence;
          String primaryKeyName;
  
          // Intermediate holders
          Iterator       tables;
          Table          table;
          Object[]       row;
          Constraint     constraint;
          int[]          cols;
          int            colCount;
          HsqlProperties p;
  
          // column number mappings
          final int itable_cat   = 0;
          final int itable_schem = 1;
          final int itable_name  = 2;
          final int icolumn_name = 3;
          final int ikey_seq     = 4;
          final int ipk_name     = 5;
  
          // Initialization
          p = database.getProperties();
          tables = p.isPropertyTrue("hsqldb.system_table_primarykeys")
                   ? allTables()
                   : database.schemaManager.databaseObjectIterator(
                       SchemaObject.TABLE);
  
          while (tables.hasNext()) {
              table = (Table) tables.next();
  
              if (table.isView() || !isAccessibleTable(table)
                      || !table.hasPrimaryKey()) {
                  continue;
              }
  
              constraint     = table.getPrimaryConstraint();
              tableCatalog   = table.getCatalogName().name;
              tableSchema    = table.getSchemaName().name;
              tableName      = table.getName().name;
              primaryKeyName = constraint.getName().name;
              cols           = constraint.getMainColumns();
              colCount       = cols.length;
  
              for (int j = 0; j < colCount; j++) {
                  row               = t.getEmptyRowData();
                  row[itable_cat]   = tableCatalog;
                  row[itable_schem] = tableSchema;
                  row[itable_name]  = tableName;
                  row[icolumn_name] = table.getColumn(cols[j]).getName().name;
                  row[ikey_seq]     = ValuePool.getInt(j + 1);
                  row[ipk_name]     = primaryKeyName;
  
                  t.insertSys(store, row);
              }
          }
  
          return t;
      }