db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "Tiago_Espinha" by TiagoEspinha
Date Wed, 07 Apr 2010 23:41:35 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The "Tiago_Espinha" page has been changed by TiagoEspinha.


+ = Tiago Espinha - Google Summer of Code Projects =
+ || Project || [[https://issues.apache.org/jira/browse/DERBY-728|DERBY-728]] - Unable to
create databases whose name containg Chinese characters through the client driver ||<rowspan=6>
{{http://www.tiagoespinha.net/wp-content/uploads/2008/08/fb_small.jpg}} ||
+ || Student  || Tiago A. R. Espinha ||
+ || Mentor  || Kathey Marsden ||
+ ||<rowspan=2> E-mail || tiago@espinhas.net (personal e-mail) ||
+ || tiago.derby@yahoo.co.uk (Derby matters) ||
+ || IM || tiago@espinhas.net (Google Talk/MSN) | etiago (IRC) ||
+ <<TableOfContents(3)>>
+ == Google Summer of Code 2010 ==
+ === Abstract ===
+ Apache Derby relies on the open standard Distributed Relational Database Architecture (DRDA)
to implement the abstraction between SQL and a standard DRDA language. Its implementation
on Derby is currently limited to ASCII characters.
+ There is an actual and current need to support Japanese and Chinese characters as requested
by the community. My task will be to refactor and improve the code so that these characters
are supported by the DRDA engine on Derby.
+ === Application ===
+ Apache Derby is a RDBMS entirely developed using Java. Due to its small footprint and also
due to its flexibility and ability to be deployed in a multitude of environments, Derby is
one of the best open source alternatives currently out there. The fact that it is the foundation
for Sun’s Java DB clearly demonstrates this. As a passionate software developer with a strong
educational background on database administration, Derby called my attention. 
+ Last year I participated and successfully completed a GSoC project with the Apache Software
Foundation. It was an incredible and enriching experience that allowed me to connect with
the community and have a better grasp of how it functions. My project consisted of creating
unit tests (converting them into a new standard) and help with the always on-going bug fixing.
From a technical point of view, this experience taught me a lot.
+ These past contributions to Derby are still available at [1].
+ I believe that my previous experience with Derby will help me succeed again this year. My
mentor (Kathey Marsden) offered to mentor DERBY-728 [2] and suggested that I apply to this
project: rolling in support for Chinese characters through the client driver [2][3].
+ Right now when the client driver is used, the requests are piped through the DRDA engine.
In Derby’s implementation of DRDA, the requests are encoded using EBCDIC [4] and this encoding
uses an 8-bit representation which limits the number of characters it can represent by 256.
This limitation is fine when it comes to US-ASCII characters (a sub-set of EBCDIC) but it
does not encode the thousands of Chinese and Japanese characters. For this, we require a broader
encoding such as UTF-8. Since backwards compatibility is always an issue, we must also ensure
that not only the new character encoding is put into place, but that the older encoding types
are still supported.
+ In the meanwhile, I have also setup my build environment and I have also taken on a smaller
task [5] that will help me build up to the main one. According to my mentor, this project
would ideally be undertaken by someone with previous experience in contributing to Derby and
as such, I qualify for the task. Also, if my project turns out to be ahead of schedule and
I finish early, I will also continue my last year project by assisting with the other issues.
+ I am still passionate about developing software and as a fresh graduate I can also use all
the experience I can get. This program provides students with that experience and I am thrilled
to be a part of it again.
+ At this point I am preparing to write the dissertation for my Master’s degree in Advanced
Software Engineering and I have no other time-consuming commitments for the duration of the
GSoC program. I am eager to take on this project and I look forward to work once more with
the Apache Derby community.
+ === Deliverables ===
+  * Incremental patches to roll in support for UTF-8 on the client driver
+  * New test cases to verify that characters beyond EBCDIC are indeed supported
+ === Schedule ===
+ It is difficult to provide a clear schedule on this project as it will require extensive
changes throughout the whole client driver. It is not easy to have an understanding right
now as to how deep these changes will have to be. I do expect however to have the implementation
covered by the mid-term evaluations (July 16th) time by which I would start writing the test
+ === References ===
+ [1] http://bit.ly/TiagoASF
+ [2] https://issues.apache.org/jira/browse/DERBY-728
+ (“Unable to create databases whose name containg Chinese characters through the client
+ [3] http://issues.apache.org/jira/browse/DERBY-4009
+ (“Accommodate length delimited DRDA strings where character length does not equal byte
+ [4] http://www.hansenb.pdx.edu/DMKB/dict/tutorials/ebcdic.php
+ [5] https://issues.apache.org/jira/browse/DERBY-4584
+ (“Unable to connect to network server if client thread name has Japanese characters”)
  == Google Summer of Code 2009 ==
- ----
- = DerbyTestAndFix =
+ === DerbyTestAndFix ===
  '''Student:''' Tiago Espinha 

View raw message