original_string: public static function getMeta(): array
      {
          $self = static::getInstance();
          if (empty($self->meta)) {
              $cacheKey = "db.table.{$self->name}";
              $meta = Cache::get($cacheKey);
              if (!$meta) {
                  $schema = DbProxy::getOption('connect', 'name');
  
                  $meta = DbProxy::fetchUniqueGroup(
                      '
                      SELECT 
                        COLUMN_NAME AS `name`,
                        DATA_TYPE AS `type`,
                        COLUMN_DEFAULT AS `default`,
                        COLUMN_KEY AS `key`
                      FROM INFORMATION_SCHEMA.COLUMNS
                      WHERE TABLE_SCHEMA = ?
                        AND TABLE_NAME = ?',
                      [$schema, $self->getName()]
                  );
                  Cache::set($cacheKey, $meta, Cache::TTL_NO_EXPIRY, ['system', 'db']);
              }
              $self->meta = $meta;
          }
          return $self->meta;
      }
code: public static function getMeta(): array
      {
          $self = static::getInstance();
          if (empty($self->meta)) {
              $cacheKey = "db.table.{$self->name}";
              $meta = Cache::get($cacheKey);
              if (!$meta) {
                  $schema = DbProxy::getOption('connect', 'name');
  
                  $meta = DbProxy::fetchUniqueGroup(
                      '
                      SELECT 
                        COLUMN_NAME AS `name`,
                        DATA_TYPE AS `type`,
                        COLUMN_DEFAULT AS `default`,
                        COLUMN_KEY AS `key`
                      FROM INFORMATION_SCHEMA.COLUMNS
                      WHERE TABLE_SCHEMA = ?
                        AND TABLE_NAME = ?',
                      [$schema, $self->getName()]
                  );
                  Cache::set($cacheKey, $meta, Cache::TTL_NO_EXPIRY, ['system', 'db']);
              }
              $self->meta = $meta;
          }
          return $self->meta;
      }
code_tokens: public static function getMeta ( ) : array { $ self = static :: getInstance ( ) ; if ( empty ( $ self -> meta ) ) { $ cacheKey = "db.table.{$self->name}" ; $ meta = Cache :: get ( $ cacheKey ) ; if ( ! $ meta ) { $ schema = DbProxy :: getOption ( 'connect' , 'name' ) ; $ meta = DbProxy :: fetchUniqueGroup ( '
                      SELECT 
                        COLUMN_NAME AS `name`,
                        DATA_TYPE AS `type`,
                        COLUMN_DEFAULT AS `default`,
                        COLUMN_KEY AS `key`
                      FROM INFORMATION_SCHEMA.COLUMNS
                      WHERE TABLE_SCHEMA = ?
                        AND TABLE_NAME = ?' , [ $ schema , $ self -> getName ( ) ] ) ; Cache :: set ( $ cacheKey , $ meta , Cache :: TTL_NO_EXPIRY , [ 'system' , 'db' ] ) ; } $ self -> meta = $ meta ; } return $ self -> meta ; }
docstring: Return information about table columns
  
  @return array
docstring_tokens: Return information about table columns