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 "ForNewDevelopers" by DeepaRemesh
Date Wed, 28 Dec 2005 00:21:34 GMT
Dear Wiki user,

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

The following page has been changed by DeepaRemesh:

New page:
= Information for new developers =

This page lists information for a developer to get started with Derby.

== Ongoing Projects ==

Below are some ongoing projects, which are great starting places and always available.

=== Test the Documentation ===

Pick a manual, review it carefully and test all the examples. If you find something that looks
wrong post a question to derby-user@apache.org. If the community confirms it as a documentation
bug, file a Jira entry.

=== Answer User Questions ===

Answer user questions as they come in to derby-user@apache.org. Make sure bugs get filed properly
when they come up. File bugs for documentation corrections and update FAQ's.

=== Add Functional Tests ===

Until we have 100% code coverage we know there are still opportunities to enhance functional
testing. See [https://svn.apache.org/viewcvs.cgi/*checkout*/db/derby/code/trunk/java/testing/README.htm
testing/README.htm] for information on writing tests. Write the tests and if you hit something
that doesn't work, post a question to derby-user@apache.org for confirmation. If the community
confirms it as a bug, file a Jira entry.

=== Add More Existing Tests To the Network Server Suite ===

This is entered as [http://issues.apache.org/jira/browse/DERBY-209 DERBY-209]. Choosing this
as an initial task will help you come up to speed on the test harness and network server.

=== Add Stress and Scalability Tests ===

Choose something that Derby does and push it to the limit. Some of these kinds of tests can
be incorporated into the functional test framework. For example [http://issues.apache.org/jira/browse/DERBY-216
DERBY-216] is a task to expand on the test case for [http://issues.apache.org/jira/browse/DERBY-176
DERBY-176] related to cases where large amounts of byte code are generated.

=== Provide Benchmark / Performance Examples ===

Derby could use some contributions in the benchmark/performance example area. This is a good
area for someone who wants to learn any of java, jdbc, sql and/or derby. It would be nice
to have some public examples applications/code which runs well in the derby embedded server
Extra credit:
      * Compare/Contrast performance of same application with other dbs.
      * Implement public domain standard benchmark.

=== Derby integration with other technologies ===

Integrating Derby with other technologies will be a good start for experts in those areas.
This will open up interesting uses for Derby and will be a valuable contribution. You can
mail to derby-user@apache.org and derby-dev@apache.org if you find any issues doing this.
The results can be added to Derby website or to Derby Wiki. Some ideas suggested on mailing
lists are web-based APIs for Derby and telnet access to Derby databases.

=== Write Tests for an Upcoming Feature ===

You may ask how you can do this, but because Derby is standards based, you can often install
your second favorite relational database software, one that has the feature already implemented
and run your tests against that. Then you can post your test to the Jira entry. This will
facilitate implementation and improve quality.

=== Apply, Test and Review Patches ===

Apply, review and test patches that have been posted for review. Really make a careful detailed
review, try to understand all the code and if you don't, ask questions about it. Look at the
functional tests supplied and see if you can think of additional cases that could be added.
This is a highly valuable task. If the committers don't have community members doing this,
they spend all their time reviewing and committing and never contributing themselves. This
task will help preserve the quality of Derby.

=== Cleanup and Expand Javadoc ===

In addition to [http://issues.apache.org/jira/browse/DERBY-204 DERBY-204], to cleanup the
javadoc warnings. Much of the javadoc could be expanded and improved upon. package.html files
can be created to give a package overview. Committers are always happy to assist, review and
expedite these kinds of contributions because they enhance the overall competency of the community.

=== Write a design document for an area which interests you ===

As a part of learning process, it would be good to write a design document or document explaining
the internals for an area of Derby. The document can be a formal paper or a page added to
this Wiki. This would help other new developers.

=== Find differences between embedded and network client driver ===

File JIRA entries and document incompatibilities between Derby client and embedded driver.
These could be indicated in the documentation as areas that may change, so we don't get locked
into any incompatibilities. This task could be done in conjunction with [http://issues.apache.org/jira/browse/DERBY-209

== First Code Changes ==

For your first code change choose something that looks really easy. Something you can do and
do well. This will be something different for different people. The point of your first change
should be to go through the whole process and be comfortable with it before taking on major
coding projects.

A "Do no harm" mantra is always important if you are considering changing Derby. Your first
priority in introducing any new functionality should be to not introduce a regression in functionality
or performance.

Take a look at [http://wiki.apache.org/db-derby/DerbyContributorChecklist DerbyContributorChecklist]

== Reference Materials ==

For general process and guidelines:

For the mechanics of building Derby and submitting a patch:


For Derby Internals:

    Read the javadoc. 
== List of standards/specifications used by Derby ==

|| '''Standard/Specification''' || '''Information''' || '''Comment''' ||
|| JDBC 2.0 || http://java.sun.com/products/jdbc/download.html || ||
|| JDBC 3.0 (JSR-53) || http://java.sun.com/products/jdbc/download.html || ||
|| JDBC 4.0 (JSR-221) || http://java.sun.com/products/jdbc/download.html || ||
|| JDBC Optional Package for CDC/Foundation Profile (JSR -169) || http://java.sun.com/products/jdbc/download.html
 || ||
|| Java Transaction API (JTA) (JSR-907) || http://java.sun.com/products/jta/ || ||
|| SQL92 || || ||
|| SQL99 || || ||
|| DRDA Version 3.0 || http://www.opengroup.org/dbiop/ || Used by Derby Network Server ||
|| The XA+ Specification Version 2 || http://www.opengroup.org/dbiop/ || ||
|| Java Virtual Machine Specification || http://java.sun.com/ || relevant to byte code generation

View raw message