Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicit string size - Core library #67

Merged
merged 54 commits into from
Apr 29, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
79d3905
Cleanup session
kspangsege Feb 25, 2013
cc2a1e7
Another cleanup session
kspangsege Feb 25, 2013
f171e9f
ArrayString::set() fixed
kspangsege Feb 25, 2013
700a4d4
ArrayString now keeps track of string lengths
kspangsege Feb 26, 2013
5ceced7
Merge branch 'master' into save_string_sizes
kspangsege Feb 26, 2013
2b76909
Merge branch 'master' into save_string_sizes
kspangsege Feb 28, 2013
14a4fc7
Replication now supports floating point data
kspangsege Feb 28, 2013
4af6811
Merge branch 'master' into save_string_sizes
kspangsege Feb 28, 2013
076293d
Merge branch 'master' into save_string_sizes
kspangsege Mar 16, 2013
b9a545d
'StringRef' renamed to 'StringData' as a courtesy to 'BinaryData'
kspangsege Mar 16, 2013
7683410
Mixed class is now able to handle strings with explicit length
kspangsege Mar 16, 2013
6ad8c1c
Huge update of everything string related. String sizes are now manage…
kspangsege Mar 18, 2013
625b7d2
Work in progress
kspangsege Mar 18, 2013
a3b4b24
Documentation added for Mixed class
kspangsege Mar 20, 2013
0046b5f
Merge branch 'master' into save_string_sizes
kspangsege Mar 21, 2013
4123451
Merge branch 'master' into save_string_sizes
kspangsege Mar 21, 2013
c1e06fd
Support: my_table[7].foo.c_str()
kspangsege Mar 21, 2013
f6ee2af
More use of StringData
kspangsege Mar 21, 2013
4452403
Various consistency fixes
kspangsege Mar 21, 2013
25838dc
Revert "Various consistency fixes"
kspangsege Mar 22, 2013
7a3f8a8
Various consistency fixes
kspangsege Mar 22, 2013
68af6d8
Proper documentation added for StringData class
kspangsege Mar 23, 2013
3471616
Use fulle namespace qualification in table macros
kspangsege Mar 24, 2013
5e528ab
Fixes for: Use fulle namespace qualification in table macros
kspangsege Mar 25, 2013
c2d2c52
Merge branch 'master' into save_string_sizes
kspangsege Apr 11, 2013
387236d
Removing obsolete BinaryData API
kspangsege Apr 12, 2013
51466db
Fix replication for explicit string sizes
kspangsege Apr 13, 2013
77bfeb4
Merge branch 'master' into save_string_sizes
kspangsege Apr 13, 2013
a8a501b
Consistency in not using 'const char* title' in ToDot() methods
kspangsege Apr 13, 2013
a7ee697
Full support for queries on binary data
kspangsege Apr 13, 2013
392785c
Group::write() and Group::write_to_mem() are now 'const'
kspangsege Apr 14, 2013
d7c5961
Extend UniquePtr<> such that it can handle arrays, just like std::uni…
kspangsege Apr 14, 2013
f06a71e
Utilize extended UniquePtr<>
kspangsege Apr 15, 2013
d2a6f62
UTF-8 -> UTF-16 transcoder added - needed in Java binding
kspangsege Apr 15, 2013
17c01b3
Adding unsatisfactory workaround for failing call to WideCharToMultiB…
kspangsege Apr 16, 2013
0c45e68
Unit test added for UTF-8 -> UTF-16 transcoder, and several bug fixed
kspangsege Apr 16, 2013
354cabf
UTF-16 -> UTF-8 transcoder added - also needed in Java binding
kspangsege Apr 17, 2013
65adedd
Merge branch 'master' into save_string_sizes
kspangsege Apr 18, 2013
52df347
Fix issues reported by Clang
kspangsege Apr 18, 2013
1c81c65
Merge branch 'master' into save_string_sizes
kspangsege Apr 18, 2013
6affb22
Removing unused include
kspangsege Apr 18, 2013
241844d
Fixed performance issue when searching in short string array
kspangsege Apr 20, 2013
59a4bfc
Temporarily disable the part of the string length changes that affect…
kspangsege Apr 22, 2013
d4d4531
When referring to STL names in CPP files, the preferred form is to ad…
kspangsege Apr 23, 2013
815a1f6
Group::BufferSpec eliminated. Using BinaryData instead.
kspangsege Apr 23, 2013
f935b86
Fixes for: Group::BufferSpec eliminated. Using BinaryData instead.
kspangsege Apr 23, 2013
b2b0bb5
Changelog updated. It now correctly reflects all the changes made in …
kspangsege Apr 23, 2013
f9b3ce2
Fix for: Changelog updated. It now correctly reflects all the changes…
kspangsege Apr 23, 2013
34f1554
Merge branch 'master' into save_string_sizes
kspangsege Apr 24, 2013
63c95e1
Removal of deprecated documentation
kspangsege Apr 24, 2013
d176a47
Documentation updated
kspangsege Apr 24, 2013
611ec15
Break if-statements into two lines
kspangsege Apr 25, 2013
779a724
Unit tests added for StringData
kspangsege Apr 25, 2013
0c534ec
Many more if statements broken up into two lines - I'm not usre I lik…
kspangsege Apr 29, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 86 additions & 2 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,92 @@ Format:
==================


2013-04-23 (Kristian Spangsege)
+ Support for explicit string lengths added. Most method arguments and
return values of type 'const char*' have been changed to be of type
'StringData'. This new type is defined in
<tightdb/string_data.hpp>. 'StringData' can be implicitly
constructed from 'const char*', so no change is required when
passing arguments. Source code change is required when dealing with
returned strings of type 'const char*'. The following is a complete
list:
Affected form Possible replacement
---------------------------------------------------------------------------
group.get_table_name(...) group.get_table_name(...).data()
table.get_column_name() table.get_column_name().data()
table.get_string(...) table.get_string(...).data()
table.get_mixed(...).get_string() table.get_mixed(...).get_string().data()
table[7].string_col table[7].string_col.c_str()
+ Added support for table[7].string_col.data() and table[7].string_col.size().
+ Full and seamless interoperability with std::string. This comes
about from the fact that StringData can be implicitly constructed
from, and convert to std::string.
+ Full support for BinaryData in queries.
+ Added BinaryData::data(), BinaryData::size(), BinaryData::operator[]()
+ Added BinaryData::operator==(), BinaryData::operator!=(), BinaryData::operator<()
+ Added BinaryData::begins_with(), BinaryData::ends_with(), BinaryData::contains()
+ Allow BinaryData to be constructed from fixed size array:
template<std::size_t N> explicit BinaryData(const char (&)[N])
- BinaryData::pointer removed, use BinaryData::data() instead.
- BinaryData::len removed, use BinaryData::size() instead.
- BinaryData::compare_payload() removed, use BinaryData::operator==() instead.
+ The methods
Table::set_binary(std::size_t column_ndx, std::size_t row_ndx, const char* data, std::size_t size)
Table::insert_binary(std::size_t column_ndx, std::size_t row_ndx, const char* data, std::size_t size)
Table::find_first_binary(std::size_t column_ndx, const char* data, std::size_t size)
Table::find_all_binary(std::size_t column_ndx, const char* data, std::size_t size)
TableView::set_binary(std::size_t column_ndx, std::size_t row_ndx, const char* data, std::size_t size)
have been changed to
Table::set_binary(std::size_t column_ndx, std::size_t row_ndx, BinaryData)
Table::insert_binary(std::size_t column_ndx, std::size_t row_ndx, BinaryData)
Table::find_first_binary(std::size_t column_ndx, BinaryData)
Table::find_all_binary(std::size_t column_ndx, BinaryData)
TableView::set_binary(std::size_t column_ndx, std::size_t row_ndx, BinaryData)
The following changes have been made in the statically
typed API:
Affected form Possible replacement
---------------------------------------------------------
table[7].binary_col.pointer() table[7].binary_col.data()
table[7].binary_col.len() table[7].binary_col.size()
These changes were made for consistency with StringData.
+ Added Date::operator<()
+ Return type changed from 'std::time_t' to 'Date' on the following
methods:
Mixed::get_date()
Table::get_date()
TableView::get_date()
Argument type changed from 'std::time_t' to 'Date' on many methods including these:
Mixed::set_date()
Table::set_date()
Table::insert_date()
TableView::set_date()
Changes corresponding to these have been made in the statically
typed API. These are some of the affected forms:
time_t(table[7].date_col)
table[7].date_col = val
table[7].mixed_col.get_date()
These changes were made for consistency, and to improve the
isolation of the implementation of 'Date' (it is likely that the
implementation of 'Date' will change). 'Date' can be implicitly
constructed from std::time_t, but it cannot be implicitly converted
to std::time_t (nor is it considered desireable to allow such an
implicit conversion). This means that applications will be affected
as follows:
Affected form Possible replacement
---------------------------------------------------------------------------
table.get_date(...) table.get_date(...).get_date()
table.get_mixed(...).get_date() table.get_mixed(...).get_date().get_date()
time_t(table[7].date_col) Date(table[7].date_col).get_date()
table[7].date_col.get() table[7].date_col.get().get_date()
+ Group::write() and Group::write_to_mem() are now 'const'.
+ Group::BufferSpec eliminated. Using BinaryData instead.


2013-03-11 (Kristian Spangsege)
+ On Linux and OS X, installed shared libraries now carry a platform dependent API version which is computed from a platform neutral version specifier (same as GNU Libtool). This allows for multiple versions of the shared library to be concurrently installed.
+ On Linux and OS X, installed shared libraries now carry a platform
dependent API version which is computed from a platform neutral
version specifier (same as GNU Libtool). This allows for multiple
versions of the shared library to be concurrently installed.


2013-02-24 (Kristian Spangsege)
Expand Down Expand Up @@ -52,7 +136,7 @@ Format:
+ Simplified open-mode for Group constructor.
- Group::is_valid() removed. Errors are now reported as exceptions from the constructor.
+ Now using Group::BufferSpec to pass a memory buffer to the Group constructor.
+ Group::write_to_mem() now returnis a Group::BufferSpec.
+ Group::write_to_mem() now returns a Group::BufferSpec.
+ Addition of 'bool no_create' arguemnt to SharedGroup constructor.


Expand Down
24 changes: 0 additions & 24 deletions doc/css.css

This file was deleted.

Binary file removed doc/logo200.png
Binary file not shown.
Loading