DatabasePlan68
Database support development plan for NetBeans 6.8
Database support was in "stand-by" mode during 6.7, only P1-P2 issues were resolved and a few P3s. Number of P3s has almost doubled in comparison to 6.5. We must address the issues in 6.8.
The very much wanted feature of SQL code-completion was only half-implemented at the beginning of 6.7 but after the reorgs never completely finished. We plan to complete SQL CC in 6.8.
There is also an open space for an important support of user workflows which are not only designed for local development DB setup, but for the full development/test/production DB development cycle. We want to evaluate possibilities in this area and start implementing features supporting that.
The following list of tasks is scoped for 2 engineers in 2 milestones of 6.8.
Schedule
M1
- Stabilization
- fixing majority issues in File:JiriRechtacek/yes.png
- fixing File:JiriRechtacek/wip.png
- Add CC support for INSERT command in PHP editor (jrechtacek) File:JiriRechtacek/yes.png
- Make File:JiriRechtacek/yes.png
M2
- Code Completion in SQL Editor (jskrivanek) (2w)
- CC for UPDATE statement File:JiriRechtacek/yes.png
- CC for DELETE statement File:JiriRechtacek/yes.png
- CC for DROP statement File:JiriRechtacek/yes.png
- Add Code Completion for the Reserved Keywords in SQL editor (jskrivanek) (3d) File:JiriRechtacek/yes.png
- Add CC support for rest of statements in PHP editor (jskrivanek) (2d) File:JiriRechtacek/yes.png
- Continue in stabilization
- SQL editor
- DB explorer/Showing data
- Code Completion
- some of DB-driver specific (MySQL, Oracle)
- Martin B.:First stabilization, then tuning ERD
}}strike
- E-R Diagram Preview (jrechtacek) (1w)
- Offer E-R Diagram Preview in NB6.8 - use the E-R Diagram Viewer
- Add the viewer to popup menu for each Database Connection
- Finetune the viewer (better visualizing Foreign Keys)
- Expose E-R Diagram Viewer on an official Update Center for NB6.8 (Alpha/Beta?)
}}
- Evaluating DDLUtils as a replacement of current "grab structure"/"recreate table" model (jrechtacek) (1w) File:JiriRechtacek/wip.png
}}strike
- P3 - Overall change DDL model (1w)
- use a tool like DDLUtils or some functionality from MySQL Workbench rather than current "grab structure"/"recreate table" model
- Issue 18144- Recreate table with compound primary key generate wrong sql command
- Issue 36621 - Cannot delete primary index,
- JiriRechtacek/yes.png Issue 164915 - (67cat) org.netbeans.lib.ddl.DDLException: Unable to execute command: drop table "APP"."groups" Operation 'DROP CONSTRAINT' cannot be performed on object 'SQL090512101816021' because CONSTRAINT 'FK_USER_GROUP
}}
- JiriRechtacek/yes.png P4 - Issue 144112 - Support a alias for database connection (jskrivanek/NetFIX)
Other
- P3 Improve CC for offering datatypes in WHERE clause
- P? - evaluate possibilities to support the workflows with development/test/production database environments (targeting cloud/vbox DBs)
Stabilization
Decrease overall number of bugs (P3s to half of 6.7 state ie. 70).
Details
UI
- JiriRechtacek/yes.png Issue 152581 - Umbrella for "Create Table/View" dialog UI fixes (17 open issues)
- JiriRechtacek/yes.png Issue 152673 - Umbrella for UI fixes of DB explorer node tree (7 open issues)
- JiriRechtacek/yes.png Issue 152436 - Umbrella for "New JDBC Driver" dialog UI fixes (9 open issues)
- JiriRechtacek/wip.png Issue 152580 - Umbrella for "New Connection" dialog UI fixes (16 open issues)
- JiriRechtacek/yes.png Issue 112137 - drop support for add column to index
- JiriRechtacek/yes.png Issue 151892 - Index is not added without any error message
- JiriRechtacek/yes.png Issue 155594 - Non editable size field shouldn't contain any value
- JiriRechtacek/yes.png Issue 155595 - "Properties" dialog doesn't display the same value as "Create Table" dialog
- JiriRechtacek/yes.png Issue 150892 - A11Y: No Accessible description in "Create MySQL Database" dialog
- JiriRechtacek/yes.png Issue 151903 - Connect where authentication fails comes brings up multiple dialogs
- JiriRechtacek/yes.png Issue 155981 - "Insert Record" dialog is closed after error
- JiriRechtacek/yes.png Issue 155987 - Focus returns to the first cell after each editing
- JiriRechtacek/yes.png Issue 153650 - SQL query window title is truncated
- JiriRechtacek/yes.png Issue 147942 - Changing the schema property has no effect
- JiriRechtacek/yes.png Issue 151171 - Nothing is shown for <Different Values>
DB Connection open issues
- JiriRechtacek/yes.png Issue 85339 - DB explorer doen't close connection to embedded database
- Issue 157199 - NullPointerException at org.netbeans.api.db.explorer.DatabaseConnection.create
- Issue 157243 - SQLException: Invalid state, the Connection object is closed.
- Issue 160831 - (67cat) java.net.SocketException: Connection reset
- JiriRechtacek/yes.png Issue 155786 - Auto-connect from SQL Editor blocks IDE while waiting for connection to complete
- Issue 108476 - Can't use Create Database dialog in a directory where server authentication is enabled
- JiriRechtacek/yes.png Issue 164145 - IllegalStateException: The Java DB (Network) driver was not found
- JiriRechtacek/yes.png Issue 151178 - Error message appears twice with wrong password
DB explorer/Showing data
- JiriRechtacek/yes.png Issue 155977 - NullPointerException at org.netbeans.modules.db.metadata.model.jdbc.JDBCTable.createJDBCIndexColumn
- Issue 157913 - NullPointerException at org.netbeans.modules.db.dataview.util.DBReadWriteHelper.readResultSet
- Issue 160809 - NullPointerException at org.netbeans.modules.db.explorer.node.ColumnNode$2.run
- Issue 163707 - (67cat) java.lang.ArrayIndexOutOfBoundsException when removing multiple rows
- Issue 156444 - 20 rows displayed when > 100 are available
- Issue 159746 - Cannot get the correct record num and pages number.
- Issue 161048 - 'Show SQL script for INSERT' returns strings for decimal values
SQL editor/generator
- JiriRechtacek/yes.png Issue 152772 - Umbrella for UI fixes of SQL editor (8 open issues)
- JiriRechtacek/yes.png Issue 121018 - Need to quote reserved words when generating SQL
- JiriRechtacek/yes.png Issue 152885 - IndexOutOfBoundsException: Invalid line index=57 >= lineCount=55
- JiriRechtacek/yes.png Issue 157309 - error: cannot select when mysql table has date or datetime field (PHP editor)
- JiriRechtacek/yes.png Issue 71231 - The Run File action does not work for SQL files
- JiriRechtacek/yes.png Issue 136833 - Not all strings can be delimiter for stored procedures
- JiriRechtacek/yes.png Issue 151300 - Delimiter statements are not being saved
- JiriRechtacek/yes.png Issue 156585 - Display / encoding problems with files of type text/x-sql
- JiriRechtacek/yes.png Issue 159197 - cannot display dates with value 0000-00-00
- JiriRechtacek/yes.png Issue 160514 - NumberFormatException: For input string: "09-3-8 ??6:43"
Code Completion
- JiriRechtacek/yes.png CC - Issue 142459 - SQL CC: No alias after quote
- JiriRechtacek/yes.png CC - Issue 151282 - SQL CC: CC doesn't work inside create stored procedure script
}}strike
- CC - Issue 156912 - SQL CC in PHP - not working with HEREDOCS and variables
}}
- JiriRechtacek/yes.png CC - Issue 156915 - SQL CC in PHP not working with incomplete NOWDOCS
- JiriRechtacek/yes.png CC - Issue 162609 - MySQL - MySQLNonTransientConnectionException while invoke code completion at "from issue a, activity b, <HERE> b.who ...."
DB-driver specific
- DB2 - Issue 76061 - Cannot view tables on DB2
- PostgreSQL - Issue 120006 - Can't connect to PostgreSQL 7
- MaxDB - Issue 156885 - MaxDB JDBC driver: database connection impossible
- MySQL - Issue 148193 - MySQL - SQLException: Can't create/write to file '/var/folders/v5/v5pVdXQPFDqXTDr+YMG-tE+++TI/-Tmp-/#sql_9b81_0.MYI'
- JiriRechtacek/yes.png MySQL - Issue 153468 - MySQL - Exception: The database command refreshDatabaseList failed with the following exception:
- MySQL - Issue 162530 - com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'timewhale_dev.users' doesn't exist (Tutorial)
- MySQL - Issue 163160 - NullPointerException at com.mysql.jdbc.StatementImpl.realClose
- MySQL - Issue 164024 - ArrayIndexOutOfBoundsException: 8 at com.mysql.jdbc.DatabaseMetaData.convertToJdbcFunctionList(DatabaseMetaData.java:757)
- JiriRechtacek/yes.png MySQL - Issue 164853 - com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error: * BEGIN NESTE
- JiriRechtacek/yes.png SQLite - Issue 151714 - SQLite - Columns aren't visible with SQLite
- JiriRechtacek/wip.png SQLite - Issue 151902 - SQLite3 - SQLite3 databasefile stays locked after disconnecting
- JiriRechtacek/yes.png SQLite - Issue 164270 - java.sql.SQLException: not yet implemented
- JiriRechtacek/yes.png SQLite - Issue 167564 - CC and most database options don't work for databases without a schema
- JiriRechtacek/yes.png Oracle - Issue 154442 - Oracle - OracleDatabaseMetaData.getDatabaseMajorVersion()
- Oracle - Issue 156949 - Oracle - UnsatisfiedLinkError: no ocijdbc9 in java.library.path
- JiriRechtacek/yes.png Oracle - Issue 160950 - NullPointerException at oracle.jdbc.driver.T4C8Oall.getNumRows
- Oracle - Issue 156010 - SQLException: ORA-00942: table or view does not exist
- Oracle - Issue 149232 - NullPointerException at oracle.jdbc.ttc7.TTC7Protocol.describe
- MS SQL - Issue 157136 - jTDS - Error message doesn't give a clue for the understanding the reconnection problem
- MS SQL - Issue 157138 - jTDS - IDE hangs when DB driver name is changed
- MS SQL - Issue 160269 - SQL Server 2005 - SQL Server 2005 JDBC has Problems
- Informix - Issue 159219 - SequeLink - java.sql.SQLException: (DataDirect)(ODBC SequeLink driver)�HY000��Informix�Found a quote for which there is no matching quote.
- Informix - Issue 159431 - NullPointerException at org.netbeans.modules.db.metadata.model.jdbc.JDBCCatalog.createSchemas
- Sybase - Issue 163817 - AbstractMethodError: com.sybase.jdbc.SybConnection.createStatement(II)Ljava/sql/Statement;
- Sybase - Issue 151724 - Stored procedure result not shown
MySQL support module
- Issue 155938 - ClassCastException: org.netbeans.modules.db.mysql.DatabaseUser
- Issue 146940 - New Entity Classes from Database bug (if set case sensitive table names)
- Issue 148116 - Changing admin properties causes connect attempt
- Issue 148527 - Unchecking 'save password' for MySQL node doesn't work
- Issue 148961 - MySQL 5.1 isn't registered by default (Is it still valid???)
- Issue 149208 - Imported password for MySQL server is invalid
- Issue 149317 - Cannot use mysql db connection defined with empty password
- Issue 155739 - Unable to edit data in a table that contains reserved word as column name
- Issue 156639 - "Create Database" dialog disappears if DB with specified name exists
- Issue 157296 - AssertionError at org.netbeans.modules.db.mysql.impl.MySQLDatabaseServer$4.execute
- Issue 158458 - register mysql without admin properties
- Issue 162236 - can't connect to MySQL server using NetBeans 6.1, 6.5, 6.5.1 on ArchLinux i686, JDK 1.6.0_12-b04
- Issue 158388 - incorrect enable to connect to the mysql server error
Arch
- Issue 54467 - Rid of impl. dependency
- Issue 139052 - Database features are enabled after uninstalling
- Issue 155396 - SQLDataObject should use Lookup instead of Cookies
Perf
- JiriRechtacek/yes.png Issue 62716 - Unable to cancel Find driver
- Issue 158094 - OutOfMemoryError: Java heap space
- Issue 152889 - Derby writes its files during first start
- Issue 163439 - SQL Query Editor uses all of memory
Matadata API
- Issue 154413 - column doesn't provide auto-increment info
- Issue 154414 - Primary key needs getPosition()
- Issue 155440 - MetaData API for returning fixed length types
- Issue 154972 - JDBCForeignKey internal name breaks hashcode
- Issue 154291 - Add refresh methods to meta data api classes
- Issue 155490 - column instance for the same column not always the same
- Issue 156304 - MetadataElementHandle doesn't support Value type
- Issue 156640 - Add remarks to metadata objects
DB Schema module
- Issue 148747 - Table can't be recreated from grabbed structure

