summaryrefslogtreecommitdiff
path: root/sql/item_geofunc.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-02-14 20:57:48 +0100
committerSergei Golubchik <serg@mariadb.org>2016-02-15 12:51:35 +0100
commit5f078cc8ff1f8af979d8852bf62fa259f41b1f93 (patch)
tree30f618e92bd84a7fa5dec49c49d5108e7eb8381c /sql/item_geofunc.cc
parent2a4781789612c6c53cbe12c1426f93b15737a148 (diff)
downloadmariadb-git-5f078cc8ff1f8af979d8852bf62fa259f41b1f93.tar.gz
compilation errors on sparc sun studio 10
1. unused static inline functions are only removed at -xO4, otherwise test binaries will depend on various mysys symbols that they don't use. Link test with libmysys. 2. Sphinx - don't instantiate (explicitly) templates before they're defined. Or, rather, don't instantiate them explicitly at all. 3. GIS - don't use anonymous unions and structs.
Diffstat (limited to 'sql/item_geofunc.cc')
-rw-r--r--sql/item_geofunc.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc
index 5e1c0add54b..8815dace9af 100644
--- a/sql/item_geofunc.cc
+++ b/sql/item_geofunc.cc
@@ -636,10 +636,10 @@ static double count_edge_t(const Gcalc_heap::Info *ea,
double &ex, double &ey, double &vx, double &vy,
double &e_sqrlen)
{
- ex= eb->x - ea->x;
- ey= eb->y - ea->y;
- vx= v->x - ea->x;
- vy= v->y - ea->y;
+ ex= eb->node.shape.x - ea->node.shape.x;
+ ey= eb->node.shape.y - ea->node.shape.y;
+ vx= v->node.shape.x - ea->node.shape.x;
+ vy= v->node.shape.y - ea->node.shape.y;
e_sqrlen= ex * ex + ey * ey;
return (ex * vx + ey * vy) / e_sqrlen;
}
@@ -655,8 +655,8 @@ static double distance_to_line(double ex, double ey, double vx, double vy,
static double distance_points(const Gcalc_heap::Info *a,
const Gcalc_heap::Info *b)
{
- double x= a->x - b->x;
- double y= a->y - b->y;
+ double x= a->node.shape.x - b->node.shape.x;
+ double y= a->node.shape.y - b->node.shape.y;
return sqrt(x * x + y * y);
}
@@ -1697,7 +1697,7 @@ double Item_func_distance::val_real()
continue;
count_distance:
- if (cur_point->shape >= obj2_si)
+ if (cur_point->node.shape.shape >= obj2_si)
continue;
cur_point_edge= !cur_point->is_bottom();
@@ -1705,13 +1705,13 @@ count_distance:
{
/* We only check vertices of object 2 */
if (dist_point->type != Gcalc_heap::nt_shape_node ||
- dist_point->shape < obj2_si)
+ dist_point->node.shape.shape < obj2_si)
continue;
/* if we have an edge to check */
- if (dist_point->left)
+ if (dist_point->node.shape.left)
{
- t= count_edge_t(dist_point, dist_point->left, cur_point,
+ t= count_edge_t(dist_point, dist_point->node.shape.left, cur_point,
ex, ey, vx, vy, e_sqrlen);
if ((t>0.0) && (t<1.0))
{
@@ -1722,7 +1722,7 @@ count_distance:
}
if (cur_point_edge)
{
- t= count_edge_t(cur_point, cur_point->left, dist_point,
+ t= count_edge_t(cur_point, cur_point->node.shape.left, dist_point,
ex, ey, vx, vy, e_sqrlen);
if ((t>0.0) && (t<1.0))
{