All posts by Norvald H. Ryeng

About Norvald H. Ryeng

Norvald has been at Oracle since 2011 and is the MySQL optimizer team lead, responsible for query optimization and execution. He holds a PhD in Computer and Information Science from the Norwegian University of Science and Technology.

MySQL at FOSDEM 2019

In less than a month, on February 2–3, the largest open source conference in Europe, FOSDEM, will take place in Brussels. The MySQL Engineering Team will of course attend and present. Here’s a short overview of our sessions. If you want to talk to us about something, or if you just want to listen and learn, this is where you’ll find us:

Friday

On February 1, the day before FOSDEM, we make an early start with a Pre-FOSDEM MySQL Day.…

Detecting Incompatible Use of Spatial Functions before Upgrading to MySQL 8.0

There are many changes to spatial functions in MySQL 8.0:

The first two are failing cases.…

Upgrading Spatial Indexes to MySQL 8.0

MySQL has had spatial indexes for many years, but they have all been Cartesian (X and Y coordinates) indexes. MySQL 8.0 adds support for geographic (latitude-longitude) indexes. In an earlier blog post, I described how the feature works. In this post, we’ll go into the details of how to upgrade from 5.7 to 8.0 if you have spatial indexes.…

Projected Spatial Reference Systems in MySQL 8.0

MySQL 8.0.11 comes with a catalog of 5108 spatial reference system (SRS) definitions. In a previous post, we covered the definitions of geographic SRSs. In this post we’ll go into the details of projected SRSs. (If you haven’t done so already, I suggest you read the previous post first.)

Projected SRSs are flat, Cartesian coordinate systems created by projecting points on (an oblate spheroidal model of) Earth onto a flat surface.…

Axis Order in Spatial Reference Systems

MySQL 8.0 has many new GIS features, including a catalog of spatial reference systems (SRSs) and support for geographic (latitude-longitude) computations.

In a Cartesian SRS, it doesn’t really matter which coordinate is on which axis. The axes are orthogonal and the units are the same on both axes, so if a user consistently puts the X value in the Y coordinate and the Y value in the X coordinate, it doesn’t affect computations (in the functions MySQL currently supports).…