Skip to content

Several create function statements are stuck in a single statement #1477

Closed
@JakkuSakura

Description

@JakkuSakura

Describe the bug
Several create function statements are stuck in a single statement

To Reproduce

  def parse(sql: String): Seq[AstNode] = {
    var collected = ArrayBuffer[AstNode]()

    val stmts = CCJSqlParserUtil.parseStatements(sql)
    stmts.getStatements.asScala.foreach {
      case table: CreateTable   => collected += parseCreateTable(table)
      case func: CreateFunction => collected += parseCreateFunction(func)
      case _                    =>
    }
    collected.toSeq
  }
CREATE OR REPLACE FUNCTION func_example(foo integer)
RETURNS integer AS $$
BEGIN
  RETURN foo + 1;
END
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION func_example2(IN foo integer, OUT bar integer)
AS $$
BEGIN
    SELECT foo + 1 INTO bar;
END
$$ LANGUAGE plpgsql;

image

Expected behavior

System

  • Database you are using: Postgres
  • Java Version JDK 1.8
  • JSqlParser version 4.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions