from sparkless.sql import SparkSession
def test_issue_1388_sql_describe_extended_schema_data_and_explain() -> None:
spark = SparkSession.builder.appName("issue_1388").getOrCreate()
try:
df = spark.createDataFrame([(1,)], ["x"])
df.createOrReplaceTempView("t")
desc = spark.sql("DESCRIBE EXTENDED t")
schema_str = desc.schema.simpleString()
assert schema_str == "struct<col_name:string,data_type:string>"
rows = desc.collect()
row_by_name = {row["col_name"]: row["data_type"] for row in rows}
assert "x" in row_by_name
assert row_by_name["x"] in {"long", "bigint", "int"}
plan = desc.explain()
assert isinstance(plan, str)
assert plan.strip() != ""
finally:
spark.stop()