Skip to content

Commit

Permalink
Improve the parsing of methods in MySQL
Browse files Browse the repository at this point in the history
  • Loading branch information
lushaorong committed Aug 22, 2024
1 parent 035e884 commit 1f068ca
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3144,12 +3144,23 @@
</select>

<select sql-case-id="select_multilinestring">
<projections start-index="7" stop-index="73">
<expression-projection start-index="7" stop-index="73" text="ST_GeomFromText('MultiLineString((0 0, 1 1, 2 2),(3 3, 4 4, 5 5))')">
<projections start-index="7" stop-index="102">
<expression-projection start-index="7" stop-index="102" text="MultiLineString(ST_GeomFromText('LineString(1 1, 2 2)'),ST_GeomFromText('LineString(1 1, 2 2)'))">
<expr>
<function function-name="ST_GeomFromText" text="ST_GeomFromText('MultiLineString((0 0, 1 1, 2 2),(3 3, 4 4, 5 5))')" start-index="7" stop-index="73">
<function function-name="MultiLineString" text="MultiLineString(ST_GeomFromText('LineString(1 1, 2 2)'),ST_GeomFromText('LineString(1 1, 2 2)'))" start-index="7" stop-index="102">
<parameter>
<literal-expression value="MultiLineString((0 0, 1 1, 2 2),(3 3, 4 4, 5 5))" start-index="23" stop-index="72" />
<function function-name="ST_GeomFromText" text="ST_GeomFromText('LineString(1 1, 2 2)')" start-index="23" stop-index="61">
<parameter>
<literal-expression value="LineString(1 1, 2 2)" start-index="39" stop-index="60" />
</parameter>
</function>
</parameter>
<parameter>
<function function-name="ST_GeomFromText" text="ST_GeomFromText('LineString(1 1, 2 2)')" start-index="63" stop-index="101">
<parameter>
<literal-expression value="LineString(1 1, 2 2)" start-index="79" stop-index="100" />
</parameter>
</function>
</parameter>
</function>
</expr>
Expand All @@ -3158,12 +3169,29 @@
</select>

<select sql-case-id="select_multipoint">
<projections start-index="7" stop-index="56">
<expression-projection start-index="7" stop-index="56" text="ST_GeomFromText('MultiPoint((1 2), (3 4), (5 6))')">
<projections start-index="7" stop-index="39">
<expression-projection start-index="7" stop-index="39" text="MultiPoint(point(1,1),point(1,1))">
<expr>
<function function-name="ST_GeomFromText" text="ST_GeomFromText('MultiPoint((1 2), (3 4), (5 6))')" start-index="7" stop-index="56">
<function function-name="MultiPoint" text="MultiPoint(point(1,1),point(1,1))" start-index="7" stop-index="39">
<parameter>
<function function-name="point" text="point(1,1)" start-index="18" stop-index="27" >
<parameter>
<literal-expression value="1" start-index="24" stop-index="24" />
</parameter>
<parameter>
<literal-expression value="1" start-index="26" stop-index="26" />
</parameter>
</function>
</parameter>
<parameter>
<literal-expression value="MultiPoint((1 2), (3 4), (5 6))" start-index="23" stop-index="55" />
<function function-name="point" text="point(1,1)" start-index="29" stop-index="38" >
<parameter>
<literal-expression value="1" start-index="35" stop-index="35" />
</parameter>
<parameter>
<literal-expression value="1" start-index="37" stop-index="37" />
</parameter>
</function>
</parameter>
</function>
</expr>
Expand All @@ -3172,12 +3200,23 @@
</select>

<select sql-case-id="select_multipolygon">
<projections start-index="7" stop-index="94">
<expression-projection start-index="7" stop-index="94" text="ST_GeomFromText('MultiPolygon(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))')">
<projections start-index="7" stop-index="127">
<expression-projection start-index="7" stop-index="127" text="MultiPolygon(ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'),ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'))">
<expr>
<function function-name="ST_GeomFromText" text="ST_GeomFromText('MultiPolygon(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))')" start-index="7" stop-index="94">
<function function-name="MultiPolygon" text="MultiPolygon(ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'),ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'))" start-index="7" stop-index="127">
<parameter>
<literal-expression value="MultiPolygon(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))" start-index="23" stop-index="93" />
<function function-name="ST_GeomFromText" text="ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))')" start-index="20" stop-index="72">
<parameter>
<literal-expression value="Polygon((0 0, 1 0, 1 1, 0 1, 0 0))" start-index="36" stop-index="71" />
</parameter>
</function>
</parameter>
<parameter>
<function function-name="ST_GeomFromText" text="ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))')" start-index="74" stop-index="126">
<parameter>
<literal-expression value="Polygon((0 0, 1 0, 1 1, 0 1, 0 0))" start-index="90" stop-index="125" />
</parameter>
</function>
</parameter>
</function>
</expr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,7 @@
<sql-case id="select_mod" value="SELECT MOD(234, 10)" db-types="MySQL" />
<sql-case id="select_month" value="SELECT MONTH('2008-02-03')" db-types="MySQL" />
<sql-case id="select_monthname" value="SELECT MONTHNAME('2008-02-03')" db-types="MySQL" />
<sql-case id="select_multilinestring" value="SELECT ST_GeomFromText('MultiLineString((0 0, 1 1, 2 2),(3 3, 4 4, 5 5))')" db-types="MySQL" />
<sql-case id="select_multipoint" value="SELECT ST_GeomFromText('MultiPoint((1 2), (3 4), (5 6))')" db-types="MySQL" />
<sql-case id="select_multipolygon" value="SELECT ST_GeomFromText('MultiPolygon(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))')" db-types="MySQL" />

<sql-case id="select_multilinestring" value="SELECT MultiLineString(ST_GeomFromText('LineString(1 1, 2 2)'),ST_GeomFromText('LineString(1 1, 2 2)'))" db-types="MySQL" />
<sql-case id="select_multipoint" value="SELECT MultiPoint(point(1,1),point(1,1))" db-types="MySQL" />
<sql-case id="select_multipolygon" value="SELECT MultiPolygon(ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'),ST_GeomFromText('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))'))" db-types="MySQL" />
</sql-cases>

0 comments on commit 1f068ca

Please sign in to comment.