original(); $table = $this->extractTableNameFromShowIndex($sql); return $this->generatePostgresShowIndexFrom($table); } /** * Extracts table name from a "SHOW FULL COLUMNS" SQL statement. * * @param string $sql The SQL statement * @return string|null The table name if found, or null otherwise */ protected function extractVariableName($sql) { $pattern = "/SHOW INDEX FROM ['\"`]?([^'\"`]+)['\"`]?/i"; if (preg_match($pattern, $sql, $matches)) { return $matches[1]; } return null; } /** * Generates a PostgreSQL-compatible SQL query to mimic MySQL's "SHOW INDEX FROM". * * @param string $tableName The table name * @return string The generated SQL query */ public function generatePostgresShowIndexFrom($tableName) { $sql = <<