Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
f9c7587d
Commit
f9c7587d
authored
Oct 12, 2007
by
gshchepa/uchum@gleb.loc
Browse files
Options
Browse Files
Download
Plain Diff
Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into gleb.loc:/home/uchum/work/bk/5.0-opt
parents
a1e8f81e
a453b2f7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
17 additions
and
25 deletions
+17
-25
sql/item.cc
sql/item.cc
+3
-8
sql/item.h
sql/item.h
+4
-2
sql/item_geofunc.cc
sql/item_geofunc.cc
+7
-11
sql/item_geofunc.h
sql/item_geofunc.h
+3
-4
No files found.
sql/item.cc
View file @
f9c7587d
...
...
@@ -4399,11 +4399,8 @@ Field *Item::tmp_table_field_from_field_type(TABLE *table)
collation
.
collation
);
break
;
// Blob handled outside of case
case
MYSQL_TYPE_GEOMETRY
:
return
new
Field_geom
(
max_length
,
maybe_null
,
name
,
table
,
(
Field
::
geometry_type
)
((
type
()
==
Item
::
TYPE_HOLDER
)
?
((
Item_type_holder
*
)
this
)
->
get_geometry_type
()
:
((
Item_geometry_func
*
)
this
)
->
get_geometry_type
()));
return
new
Field_geom
(
max_length
,
maybe_null
,
name
,
table
,
get_geometry_type
());
}
}
...
...
@@ -6524,9 +6521,7 @@ Item_type_holder::Item_type_holder(THD *thd, Item *item)
decimals
=
0
;
prev_decimal_int_part
=
item
->
decimal_int_part
();
if
(
item
->
field_type
()
==
MYSQL_TYPE_GEOMETRY
)
geometry_type
=
(
item
->
type
()
==
Item
::
FIELD_ITEM
)
?
((
Item_field
*
)
item
)
->
get_geometry_type
()
:
(
Field
::
geometry_type
)((
Item_geometry_func
*
)
item
)
->
get_geometry_type
();
geometry_type
=
item
->
get_geometry_type
();
}
...
...
sql/item.h
View file @
f9c7587d
...
...
@@ -870,6 +870,8 @@ public:
*/
virtual
bool
result_as_longlong
()
{
return
FALSE
;
}
bool
is_datetime
();
virtual
Field
::
geometry_type
get_geometry_type
()
const
{
return
Field
::
GEOM_GEOMETRY
;
};
String
*
check_well_formed_result
(
String
*
str
);
};
...
...
@@ -1338,7 +1340,7 @@ public:
int
fix_outer_field
(
THD
*
thd
,
Field
**
field
,
Item
**
reference
);
virtual
Item
*
update_value_transformer
(
byte
*
select_arg
);
void
print
(
String
*
str
);
Field
::
geometry_type
get_geometry_type
()
Field
::
geometry_type
get_geometry_type
()
const
{
DBUG_ASSERT
(
field_type
()
==
MYSQL_TYPE_GEOMETRY
);
return
field
->
get_geometry_type
();
...
...
@@ -2640,7 +2642,7 @@ public:
Field
*
make_field_by_type
(
TABLE
*
table
);
static
uint32
display_length
(
Item
*
item
);
static
enum_field_types
get_real_type
(
Item
*
);
Field
::
geometry_type
get_geometry_type
()
{
return
geometry_type
;
};
Field
::
geometry_type
get_geometry_type
()
const
{
return
geometry_type
;
};
};
...
...
sql/item_geofunc.cc
View file @
f9c7587d
...
...
@@ -27,7 +27,7 @@
Field
*
Item_geometry_func
::
tmp_table_field
(
TABLE
*
t_arg
)
{
return
new
Field_geom
(
max_length
,
maybe_null
,
name
,
t_arg
,
(
Field
::
geometry_type
)
get_geometry_type
());
get_geometry_type
());
}
void
Item_geometry_func
::
fix_length_and_dec
()
...
...
@@ -38,10 +38,6 @@ void Item_geometry_func::fix_length_and_dec()
maybe_null
=
1
;
}
int
Item_geometry_func
::
get_geometry_type
()
const
{
return
(
int
)
Field
::
GEOM_GEOMETRY
;
}
String
*
Item_func_geometry_from_text
::
val_str
(
String
*
str
)
{
...
...
@@ -160,9 +156,9 @@ String *Item_func_geometry_type::val_str(String *str)
}
int
Item_func_envelope
::
get_geometry_type
()
const
Field
::
geometry_type
Item_func_envelope
::
get_geometry_type
()
const
{
return
(
int
)
Field
::
GEOM_POLYGON
;
return
Field
::
GEOM_POLYGON
;
}
...
...
@@ -190,9 +186,9 @@ String *Item_func_envelope::val_str(String *str)
}
int
Item_func_centroid
::
get_geometry_type
()
const
Field
::
geometry_type
Item_func_centroid
::
get_geometry_type
()
const
{
return
(
int
)
Field
::
GEOM_POINT
;
return
Field
::
GEOM_POINT
;
}
...
...
@@ -330,9 +326,9 @@ err:
*/
int
Item_func_point
::
get_geometry_type
()
const
Field
::
geometry_type
Item_func_point
::
get_geometry_type
()
const
{
return
(
int
)
Field
::
GEOM_POINT
;
return
Field
::
GEOM_POINT
;
}
...
...
sql/item_geofunc.h
View file @
f9c7587d
...
...
@@ -33,7 +33,6 @@ public:
void
fix_length_and_dec
();
enum_field_types
field_type
()
const
{
return
MYSQL_TYPE_GEOMETRY
;
}
Field
*
tmp_table_field
(
TABLE
*
t_arg
);
virtual
int
get_geometry_type
()
const
;
bool
is_null
()
{
(
void
)
val_int
();
return
null_value
;
}
};
...
...
@@ -92,7 +91,7 @@ public:
Item_func_centroid
(
Item
*
a
)
:
Item_geometry_func
(
a
)
{}
const
char
*
func_name
()
const
{
return
"centroid"
;
}
String
*
val_str
(
String
*
);
int
get_geometry_type
()
const
;
Field
::
geometry_type
get_geometry_type
()
const
;
};
class
Item_func_envelope
:
public
Item_geometry_func
...
...
@@ -101,7 +100,7 @@ public:
Item_func_envelope
(
Item
*
a
)
:
Item_geometry_func
(
a
)
{}
const
char
*
func_name
()
const
{
return
"envelope"
;
}
String
*
val_str
(
String
*
);
int
get_geometry_type
()
const
;
Field
::
geometry_type
get_geometry_type
()
const
;
};
class
Item_func_point
:
public
Item_geometry_func
...
...
@@ -111,7 +110,7 @@ public:
Item_func_point
(
Item
*
a
,
Item
*
b
,
Item
*
srid
)
:
Item_geometry_func
(
a
,
b
,
srid
)
{}
const
char
*
func_name
()
const
{
return
"point"
;
}
String
*
val_str
(
String
*
);
int
get_geometry_type
()
const
;
Field
::
geometry_type
get_geometry_type
()
const
;
};
class
Item_func_spatial_decomp
:
public
Item_geometry_func
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment