DatabaseFeaturesForNB65

Database Features for NetBeans 6.5

Contents


Overall focus/theme for the next release

The overall plan for NetBeans 6.5 can be found here

  • Milestone 1 (M1) is slated for June 11, so code freeze will be a week before.
  • Milestone 2 (M2) is the beta release on July 30, with feature freeze on July 14.

A primary focus for NetBeans 6.5 is PHP support. Another important focus for us is to improve our basic database tooling.

Our user research has shown that the most important areas in an IDE for database users are:

  • Text-based SQL query tools
  • Schema management and exploration
  • Table data creation/manipulation

NetBeans has basic support for the first two, and currently has no real support for the third. Our focus for this release will be to improve support in all these areas. We are going to pay particular attention to what we can do to make it easier to work with SQL inside language editors, particular the PHP editor.

There are other things we would like to do but which are not planned, such as the ability to refactor databases and create migrations ala Ruby. If time permits, nothing is impossible...

User Research Reference:

A full list of suggestions from our survey participants - very interesting reading

Tools to Look for For Inspiration

  • Aqua Data Studio - Very nice SQL support, code completion, find/replace, debugger, etc.
  • SQL Yog - Really good SQL support, and very easy to use schema management
  • MySQL Workbench - E/R modeling, full reverse/forward engineering, schema diff, very nice!
  • Caché Monitor - Freeware SQL tool for a specific database, very fast

Feature List

The defining areas of focus are:

  • Improving the developer lifecycle, particularly for PHP, when working with databases
  • Improve SQL query editing, execution and results handling

Other very important areas of focus are:

  • Schema management (database schema CRUD support)
  • Data management (data CRUD support)
  • Integration with MySQL Workbench
Feature Owner Milestone Issue Number Comments/Description
PRIORITY 1 - Defining Features
PRIORITY 2 - Committed Features (in order of importance)
Improve Developer Lifecycle
Code snippets for PHP queries -- DONE andrei M1 135016 Should support users adding their own snippets
Database connection dialog should not be JDBC-specific -- DONE davidvc M1 125963 Very helpful for non-Java users - Aqua Studio does this well.
SQL Editing/Executing/Results
SQL History john M1 133811 This is in high demand. Includes SQL from our tools/wizards and support loading from history
Solid code completion andrei M2 133988 See Aqua Studio and SQLYog for inspiration
Metadata model API andrei M1 133989 Just enough to get snippets working, rest for M2 and subsequent releases
DataView module ahi M2 This is a module that Ahi's team is providing (thank you!) which provides the following features: edit data for a query result; display number of returned records; sort results based on a column; set page size of results; matchbox to filter results
Code snippets for SQL Not staffed Not staffed 134113 INSERT, UPDATE, DELETE, CREATE, CALL PROC, etc. See Aqua Data Studio's support for this for an example. This may be somewhat related to PHP snippets. Allow users to add/manage their own snippets.
Support for Sakila database davidvc M2 134307
Bundle SQL Workbench with NB jayashri Dropped for 6.5. We'll revisit post 6.5 after discussions with MySQL team.
Support for sequences/auto-increment Not Staffed 134109 This appears to be missing, I've heard a number of complaints about this
Various enhancements to DB Explorer API davidvc M2 134193 A number of these are really needed for Hibernate support
PRIORITY 3 - Stretch Goals (in order of importance)
MySQL-Specific Features
Show execution plan for MySQL Not Staffed 134212 With other databases to follow
Quick view of table info Not Staffed 134213 SqlYog has a nice feature where there is a tab called "Object Info" that shows the data for the selected object (table, index, view).
Quick view of column info Not Staffed 134214 SQLYog again: each column shows all the information without having to bring up a dialog
Invoke SQL Workbench from NB davidvc 134107 This provides a lot of schema management features that otherwise we wouldn't be able to provide (but only for MySQL)
Full support for MySQL extensions in DDL wizards When it's a MySQL connection, add all the extra stuff to our wizards.
Syntax highlighting for MySQL SQL extensions
Manage users Create/remove and manage permissions (see Aqua Studio)
Display and allow editing of system and runtime MySQL properties See phpmyadmin for an example of a read-only view
Show triggers and functions as well as procedures under a MySQL Connection See Aqua Studio for an example
--
Export schema to SQL DDL davidvc This one has a lot of votes in the survey - David will investigate feasibility
Export data to INSERT statements This one also has a lot of requests. I sure would love it. Right now there is no easy way to get data out of a database you're managing in NetBeans.
Navigate foreign key relationships in results davidvc Survey participant idea - very cool - need to coordinate with ahi's integration
Generate INSERT statements from a result set Aqua has an interesting way of doing this where they generate the CREATE TABLE too
Improve standard SQL syntax highlighting This means we fully understand standard SQL
Support multiple result sets Aqua does this by having a separate horizontal pane for each result set.
Add a tab to DDL wizards to show resulting SQL as it's being built See Aqua Studio for an example of this
Save results in various formats See Aqua Studio for inspiration. Wow.
Quick and easy way to create database objects SQLYog shows how it can be made a lot easier
Quick and easy way to alter database objects See SQLYog
Support logging JDBC driver See log4jdbc
Versioning for SQL files Maybe we have this, but there are a lot of requests for it
Schema browse filters Some schemas are huge. Allow to filter what tables you pull down when browsing a schema
Better support for constraints Currently hidden and not well supported in DB Explorer. Support dropping tables in right order
Detect SQL injection risks in PHP code This is actually a big issue for PHP developers
Generate PHP REST endpoints from DB tables Very useful for Javascript/JMaki front ends. This may belong with WS team. Note I have contacted the Srividhya and her team is looking into this.


Future Ideas

This section lists areas that we believe are useful but which are not even stretch goals for this release

Usability

Feature Owner Milestone Issue Number Comments/Description
MySQL Doc plugin MySQL documentation


Developer improvements

Feature Owner Milestone Issue Number Comments/Description
Integrate dbUnit support Needs more research - survey participant idea


SQL Editing/Execution/Results

Feature Owner Milestone Issue Number Comments/Description
Debug stored procedures and triggers This requires support from the vendor. MySQL first, PostgreSQL second
SQL "lint" that tells you whether SQL is standard or not Idea from survey user
Ability to plug in SQL dialect This allows other SQL procedural languages to be supported
Procedural language support This includes things like unused variables, goto declaration, basic refactoring, etc. MySQL first, PostgreSQL second


Schema management

Schema migrations Provide SQL-based migrations ala Ruby on Rails. Related to schema refactoring below, but this has to do with versioning...
Schema compare/diff Note this is already supported in MySQL WorkBench, but we want a generic solution (not specific to MySQL)
Schema refactoring See liquibase refactoring tool, which we could integrate. Things like rename table, combine tables, split table, etc.
Cache schema definitions A performance improvement


Data Management

Feature Owner Milestone Issue Number Comments/Description
Import data from a CSV A cool thing to do here is create the schema as part of import
Import/export from/to another database This could import/export the schema too
Import data from XML
Export data to CSV
Export data to XML
Import data from JSON
Export data to JSON


Administration

Feature Owner Milestone Issue Number Comments/Description
Manage users
Manage rights for users (GRANT/REVOKE)


E/R Diagram

There are a lot of requests for this, but not as high priority as the other things we need to address. MySQL WorkBench will solve this if we can integrate with it in some way...

Feature Owner Milestone Issue Number Comments/Description
Read-only E/R diagram Need to be able to select subset of tables (see next feature)
Contextual E/R diagram Show only a subset, based on current query, for example, and add as needed. This is often more readable than the entire schema.
Export E/R diagram to image
Export E/R diagram to HTML
Browser-based E/R diagram tool May be out of scope for this team?
Writeable E/R diagram
Generate database schema from E/R diagram
Generate SQL from an E/R diagram


Visual Query Editor

This area is about improving or potentially rewriting the Visual Query editor. This is off our radar, but perhaps someone else wants to take this on.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo