A query using ST_AsGeoJSON to convert spatial data (MULTILINESTRING) produces inconsistent results when executed on a materialized table (t1) versus a view (t1).
1. Create Table t0 and Insert Data
CREATE TABLE t0 (c0 MULTILINESTRING, c1 MULTIPOLYGON);
|
INSERT INTO t0 (c0, c1) VALUES (MultiLineStringFromText('MULTILINESTRING((143.478053 43.905409, 133.412416 73.864103), (-147.978948 -64.809239, -92.746688 -21.873515, 44.498933 -74.266897, 140.226441 33.07901, -86.113262 -80.435631))'), MultiPolygonFromText('MULTIPOLYGON(((-111.802173 54.083761, 79.215366 35.78695, -119.848598 38.973913, -111.802173 54.083761)), ((-59.274918 -57.730711, 50.645431 12.554275, -172.125765 79.731063, -40.305273 -49.726004, 16.554204 -39.514779, 54.801388 -6.358821, -59.274918 -57.730711)), ((-98.89348 57.331209, -133.776921 83.79208, 150.022255 53.485094, -98.89348 57.331209)))'));
|
INSERT INTO t0 (c0, c1) VALUES (MultiLineStringFromText('MULTILINESTRING((97.028527 8.26473, -169.141254 57.381407, -169.755091 -4.373454, 97.634953 -35.719282, 133.326763 45.785104), (175.973401 -25.254845, 40.66765 -3.815325, 105.422305 36.29817), (166.190824 -2.746104, 30.61948 47.825556))'), MultiPolygonFromText('MULTIPOLYGON(((-116.848671 23.581016, -107.292672 -66.168852, -29.830491 6.076159, 48.274929 28.377464, 65.191654 10.75016, -98.936176 68.965503, -116.848671 23.581016)), ((177.392059 34.774265, 143.193653 71.15136, -113.741574 -17.538569, 118.514364 89.976984, -25.783762 -18.645259, 177.392059 34.774265)), ((75.709052 -74.716556, 50.329057 -79.208968, 26.024713 0.642226, -117.503918 88.73309, 75.709052 -74.716556)))'));
|
INSERT INTO t0 (c0, c1) VALUES (MultiLineStringFromText('MULTILINESTRING((-135.105369 23.242331, 52.214621 -40.731325), (3.696821 -75.51963, 59.125857 72.221068, -84.154832 20.721035, 129.457296 37.548667))'), MultiPolygonFromText('MULTIPOLYGON(((62.343212 -7.829917, -33.395172 -83.387789, -156.036871 85.735534, 62.343212 -7.829917)), ((-121.686504 -86.282769, -162.478535 -74.592438, -37.426245 45.779073, 5.062436 -78.267994, 1.942628 -34.567448, -10.872522 -19.594717, -121.686504 -86.282769)))'));
|
INSERT INTO t0 (c0, c1) VALUES (MultiLineStringFromText('MULTILINESTRING((-164.282417 7.872897, -13.7326 -27.738577), (98.724533 -68.676466, -114.167713 -66.121573))'), MultiPolygonFromText('MULTIPOLYGON(((-14.551387 -28.703153, 12.203796 67.699502, 45.62816 3.479576, 72.04227 47.705162, 3.221664 11.593701, 168.129048 17.680309, -14.551387 -28.703153)), ((78.566358 -32.022949, 175.883245 -64.850597, 98.273564 -10.667482, 24.239618 -41.91167, 78.566358 -32.022949)))'));
|
2. Create Materialized Table t1 and Query
MariaDB [test]> CREATE TABLE t1 AS (SELECT (ST_AsGeoJSON(c0)) AS c0 , c1 AS c1 FROM t0 );
|
Query OK, 4 rows affected (0.023 sec)
|
Records: 4 Duplicates: 0 Warnings: 0
|
|
MariaDB [test]> SELECT (c0) FROM t1 WHERE (((c0) <= (MultiPolygonFromText('MULTIPOLYGON(((156.565923 86.445211, 8.958872 54.561689, -111.40996 -89.445441, -27.512741 -78.43933, 52.052127 22.327915, 105.803184 -50.190584, 156.565923 86.445211)), ((131.441514 -16.367258, 95.100847 44.338775, 96.412062 71.253007, 93.228296 -88.6101, -111.122746 7.617783, 131.441514 -16.367258)), ((-176.705899 27.699519, -47.865633 87.651552, -107.352245 77.121262, -137.464803 32.407728, -16.447444 53.844025, -176.705899 27.699519)))'))) AND ('bz3dfoRs9F1AsTQtIgFz2EL8j9iWGDYM' > c1)) ORDER BY c1 DESC, (c0) DESC;
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| c0 |
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| {"type": "MultiLineString", "coordinates": [[[97.028527, 8.26473], [-169.141254, 57.381407], [-169.755091, -4.373454], [97.634953, -35.719282], [133.326763, 45.785104]], [[175.973401, -25.254845], [40.66765, -3.815325], [105.422305, 36.29817]], [[166.190824, -2.746104], [30.61948, 47.825556]]]} |
|
| {"type": "MultiLineString", "coordinates": [[[143.478053, 43.905409], [133.412416, 73.864103]], [[-147.978948, -64.809239], [-92.746688, -21.873515], [44.498933, -74.266897], [140.226441, 33.07901], [-86.113262, -80.435631]]]} |
|
| {"type": "MultiLineString", "coordinates": [[[-164.282417, 7.872897], [-13.7326, -27.738577]], [[98.724533, -68.676466], [-114.167713, -66.121573]]]} |
|
| {"type": "MultiLineString", "coordinates": [[[-135.105369, 23.242331], [52.214621, -40.731325]], [[3.696821, -75.51963], [59.125857, 72.221068], [-84.154832, 20.721035], [129.457296, 37.548667]]]} |
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
4 rows in set (0.001 sec)
|
3. Create t1 as View instead:
MariaDB [test]> CREATE VIEW t1 AS (SELECT (ST_AsGeoJSON(c0)) AS c0 , c1 AS c1 FROM t0 );
|
Query OK, 0 rows affected (0.012 sec)
|
|
MariaDB [test]> SELECT (c0) FROM t1 WHERE (((c0) <= (MultiPolygonFromText('MULTIPOLYGON(((156.565923 86.445211, 8.958872 54.561689, -111.40996 -89.445441, -27.512741 -78.43933, 52.052127 22.327915, 105.803184 -50.190584, 156.565923 86.445211)), ((131.441514 -16.367258, 95.100847 44.338775, 96.412062 71.253007, 93.228296 -88.6101, -111.122746 7.617783, 131.441514 -16.367258)), ((-176.705899 27.699519, -47.865633 87.651552, -107.352245 77.121262, -137.464803 32.407728, -16.447444 53.844025, -176.705899 27.699519)))'))) AND ('bz3dfoRs9F1AsTQtIgFz2EL8j9iWGDYM' > c1)) ORDER BY c1 DESC, (c0) DESC;
|
Empty set (0.011 sec)
|
Expected Behavior:
Both the materialized table and the view should return the same result set.
{"report":{"fcp":1752.5999999046326,"ttfb":452.59999990463257,"pageVisibility":"visible","entityId":132272,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":0.5,"journeyId":"e26a1fda-2235-4a2e-adc2-740245539a86","navigationType":0,"readyForUser":1875.5999999046326,"redirectCount":0,"resourceLoadedEnd":2438.800000190735,"resourceLoadedStart":460.30000019073486,"resourceTiming":[{"duration":417,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":460.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":460.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":877.3000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":417,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":460.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":460.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":877.5,"responseStart":0,"secureConnectionStart":0},{"duration":464.09999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":460.7000002861023,"connectEnd":460.7000002861023,"connectStart":460.7000002861023,"domainLookupEnd":460.7000002861023,"domainLookupStart":460.7000002861023,"fetchStart":460.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":460.7000002861023,"responseEnd":924.8000001907349,"responseStart":924.8000001907349,"secureConnectionStart":460.7000002861023},{"duration":723.8000001907349,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":460.90000009536743,"connectEnd":460.90000009536743,"connectStart":460.90000009536743,"domainLookupEnd":460.90000009536743,"domainLookupStart":460.90000009536743,"fetchStart":460.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":460.90000009536743,"responseEnd":1184.7000002861023,"responseStart":1184.7000002861023,"secureConnectionStart":460.90000009536743},{"duration":771.3000001907349,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":461.09999990463257,"connectEnd":461.09999990463257,"connectStart":461.09999990463257,"domainLookupEnd":461.09999990463257,"domainLookupStart":461.09999990463257,"fetchStart":461.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":461.09999990463257,"responseEnd":1232.4000000953674,"responseStart":1232.4000000953674,"secureConnectionStart":461.09999990463257},{"duration":790.6999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":461.30000019073486,"connectEnd":461.30000019073486,"connectStart":461.30000019073486,"domainLookupEnd":461.30000019073486,"domainLookupStart":461.30000019073486,"fetchStart":461.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":461.30000019073486,"responseEnd":1252,"responseStart":1252,"secureConnectionStart":461.30000019073486},{"duration":792.5999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":461.5,"connectEnd":461.5,"connectStart":461.5,"domainLookupEnd":461.5,"domainLookupStart":461.5,"fetchStart":461.5,"redirectEnd":0,"redirectStart":0,"requestStart":461.5,"responseEnd":1254.0999999046326,"responseStart":1254.0999999046326,"secureConnectionStart":461.5},{"duration":795.1000003814697,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":461.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":461.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1256.7000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":794.2999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":461.80000019073486,"connectEnd":461.80000019073486,"connectStart":461.80000019073486,"domainLookupEnd":461.80000019073486,"domainLookupStart":461.80000019073486,"fetchStart":461.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":461.80000019073486,"responseEnd":1256.0999999046326,"responseStart":1256.0999999046326,"secureConnectionStart":461.80000019073486},{"duration":810.8000001907349,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":462,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":462,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1272.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":798.6999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":462.2000002861023,"connectEnd":462.2000002861023,"connectStart":462.2000002861023,"domainLookupEnd":462.2000002861023,"domainLookupStart":462.2000002861023,"fetchStart":462.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":462.2000002861023,"responseEnd":1260.9000000953674,"responseStart":1260.9000000953674,"secureConnectionStart":462.2000002861023},{"duration":1218.3999996185303,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":481.7000002861023,"connectEnd":481.7000002861023,"connectStart":481.7000002861023,"domainLookupEnd":481.7000002861023,"domainLookupStart":481.7000002861023,"fetchStart":481.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":481.7000002861023,"responseEnd":1700.0999999046326,"responseStart":1700.0999999046326,"secureConnectionStart":481.7000002861023},{"duration":1953,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":481.80000019073486,"connectEnd":481.80000019073486,"connectStart":481.80000019073486,"domainLookupEnd":481.80000019073486,"domainLookupStart":481.80000019073486,"fetchStart":481.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":481.80000019073486,"responseEnd":2434.800000190735,"responseStart":2434.800000190735,"secureConnectionStart":481.80000019073486},{"duration":359.30000019073486,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":1123.5,"connectEnd":1123.5,"connectStart":1123.5,"domainLookupEnd":1123.5,"domainLookupStart":1123.5,"fetchStart":1123.5,"redirectEnd":0,"redirectStart":0,"requestStart":1123.5,"responseEnd":1482.8000001907349,"responseStart":1482.8000001907349,"secureConnectionStart":1123.5},{"duration":762.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":1676.3000001907349,"connectEnd":1676.3000001907349,"connectStart":1676.3000001907349,"domainLookupEnd":1676.3000001907349,"domainLookupStart":1676.3000001907349,"fetchStart":1676.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":1676.3000001907349,"responseEnd":2438.800000190735,"responseStart":2438.800000190735,"secureConnectionStart":1676.3000001907349},{"duration":877.4000000953674,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1743.0999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1743.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2620.5,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":286,"responseStart":453,"responseEnd":468,"domLoading":458,"domInteractive":2626,"domContentLoadedEventStart":2626,"domContentLoadedEventEnd":2690,"domComplete":4727,"loadEventStart":4727,"loadEventEnd":4729,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":2440},{"name":"bigPipe.sidebar-id.end","time":2440.800000190735},{"name":"bigPipe.activity-panel-pipe-id.start","time":2441},{"name":"bigPipe.activity-panel-pipe-id.end","time":2443.300000190735},{"name":"activityTabFullyLoaded","time":2711.7000002861023}],"measures":[],"correlationId":"639f8e3d5bec40","effectiveType":"4g","downlink":9.9,"rtt":0,"serverDuration":102,"dbReadsTimeInMs":12,"dbConnsTimeInMs":21,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}