Addressed various unicode related issues.
Note this is using recent changes from text_filter library.
This commit is contained in:
@@ -9,17 +9,20 @@ class
|
||||
inherit
|
||||
CMS_STORAGE_SQL
|
||||
redefine
|
||||
sql_read_date_time, sql_read_integer_32
|
||||
sql_read_date_time, sql_read_integer_32,
|
||||
sql_read_string_32
|
||||
end
|
||||
|
||||
CMS_CORE_STORAGE_SQL_I
|
||||
redefine
|
||||
sql_read_date_time, sql_read_integer_32
|
||||
sql_read_date_time, sql_read_integer_32,
|
||||
sql_read_string_32
|
||||
end
|
||||
|
||||
CMS_USER_STORAGE_SQL_I
|
||||
redefine
|
||||
sql_read_date_time, sql_read_integer_32
|
||||
sql_read_date_time, sql_read_integer_32,
|
||||
sql_read_string_32
|
||||
end
|
||||
|
||||
SQLITE_BIND_ARG_MARSHALLER
|
||||
@@ -227,6 +230,7 @@ feature -- Operation
|
||||
local
|
||||
k: READABLE_STRING_GENERAL
|
||||
k8: STRING
|
||||
utf: UTF_CONVERTER
|
||||
do
|
||||
create Result.make (a_params.count)
|
||||
across
|
||||
@@ -236,11 +240,12 @@ feature -- Operation
|
||||
if k.is_valid_as_string_8 then
|
||||
k8 := k.as_string_8
|
||||
else
|
||||
k8 := (create {UTF_CONVERTER}).utf_32_string_to_utf_8_string_8 (k)
|
||||
k8 := utf.utf_32_string_to_utf_8_string_8 (k)
|
||||
end
|
||||
if attached {DATE_TIME} ic.item as dt then
|
||||
|
||||
Result.force (new_binding_argument (date_time_to_string (dt), ":" + k8))
|
||||
elseif attached {READABLE_STRING_32} ic.item as s32 then
|
||||
Result.force (new_binding_argument (utf.utf_32_string_to_utf_8_string_8 (s32), ":" + k8))
|
||||
else
|
||||
Result.force (new_binding_argument (ic.item, ":" + k8))
|
||||
end
|
||||
@@ -363,6 +368,19 @@ feature -- Access
|
||||
end
|
||||
end
|
||||
|
||||
sql_read_string_32 (a_index: INTEGER): detachable STRING_32
|
||||
-- <Precursor>
|
||||
local
|
||||
utf: UTF_CONVERTER
|
||||
do
|
||||
Result := Precursor (a_index)
|
||||
if Result = Void then
|
||||
if attached sql_read_string (a_index) as s8 then
|
||||
Result := utf.utf_8_string_8_to_string_32 (s8)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
sql_read_integer_32 (a_index: INTEGER): INTEGER_32
|
||||
-- Retrieved value at `a_index' position in `item'.
|
||||
local
|
||||
|
||||
Reference in New Issue
Block a user