summaryrefslogtreecommitdiff
path: root/sql/sql_string.cc
diff options
context:
space:
mode:
authorbar@gw.udmsearch.izhnet.ru <>2002-02-22 15:24:42 +0400
committerbar@gw.udmsearch.izhnet.ru <>2002-02-22 15:24:42 +0400
commit735b27d578f2b60c928ec2bc85d47f266c1f633a (patch)
treea1157e118f45978188d5caf492b320d6302b1f93 /sql/sql_string.cc
parentfc74d81b3f41ff95d3d20f829740b28da41cce8a (diff)
downloadmariadb-git-735b27d578f2b60c928ec2bc85d47f266c1f633a.tar.gz
Added GIS extension
Diffstat (limited to 'sql/sql_string.cc')
-rw-r--r--sql/sql_string.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 8fe84947ac2..f0cfd590072 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -459,6 +459,44 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to)
return FALSE;
}
+// added by Holyfoot for "geometry" needs
+int String::reserve(uint32 space_needed, uint32 grow_by)
+{
+ if (Alloced_length < str_length + space_needed)
+ {
+ if (realloc(Alloced_length + max(space_needed, grow_by) - 1))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void String::qs_append(const char *str)
+{
+ int len = strlen(str);
+ memcpy(Ptr + str_length, str, len + 1);
+ str_length += len;
+}
+
+void String::qs_append(double d)
+{
+ char *buff = Ptr + str_length;
+ sprintf(buff,"%.14g", d);
+ str_length += strlen(buff);
+}
+
+void String::qs_append(double *d)
+{
+ double ld;
+ float8get(ld, d);
+ qs_append(ld);
+}
+
+void String::qs_append(const char &c)
+{
+ Ptr[str_length] = c;
+ str_length += sizeof(c);
+}
+
int sortcmp(const String *x,const String *y)
{
@@ -805,3 +843,5 @@ int wild_compare(String &match,String &wild, char escape)
DBUG_RETURN(wild_compare(match.ptr(),match.ptr()+match.length(),
wild.ptr(), wild.ptr()+wild.length(),escape));
}
+
+