diff options
author | bar@gw.udmsearch.izhnet.ru <> | 2002-02-22 15:24:42 +0400 |
---|---|---|
committer | bar@gw.udmsearch.izhnet.ru <> | 2002-02-22 15:24:42 +0400 |
commit | 735b27d578f2b60c928ec2bc85d47f266c1f633a (patch) | |
tree | a1157e118f45978188d5caf492b320d6302b1f93 /sql/sql_string.cc | |
parent | fc74d81b3f41ff95d3d20f829740b28da41cce8a (diff) | |
download | mariadb-git-735b27d578f2b60c928ec2bc85d47f266c1f633a.tar.gz |
Added GIS extension
Diffstat (limited to 'sql/sql_string.cc')
-rw-r--r-- | sql/sql_string.cc | 40 |
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)); } + + |