Add support for Greenplum : http://www.greenplum.com/ ; http://en.wikipedia.org/wiki/Greenplum
From Greenplumn docs :
"Greenplum Database is built upon the PostgreSQL 8.2.5 code base and has many similarities to PostgreSQL."
"Data Query and Manipulation Language (DQL/DML) is essentially supported as it is in PostgreSQL. SELECT, INSERT, UPDATE, and DELETE are DQL/DML commands. All other SQL commands are considered Data Definition Language (DDL) or utility commands. Most DDL and utility SQL statements are supported in Greenplum Database as they are in PostgreSQL, with a few minor exceptions. See “SQL Support” on page 24 for more information."
Getting Started Docs : http://www.scribd.com/doc/91332245/28/Greenplum-Database-System-Catalogs
To get started look at :
1. ConnectionProperties.isGreenplum()
2. ConnectionDialog
3. DirConnectionNode.connected()
> Getting Started Docs : http://www.scribd.com/doc/91332245/28/Greenplum-Database-System-Catalogs
Do you have a copy that I can share? To download this document, I need to be a Premium Reader. I was trying to sign up as a Premium Reader but our proxy server prevents me from accessing the signup URL.
> To get started look at :
> 1. ConnectionProperties.isGreenplum()
I did not see this method and any Greenplum related implementation in ConnectionPropreties. I am assuming I need to implement this method and everything else.
> 2. ConnectionDialog
Well, I started from here, and then found that I cannot register a Greenplum server due to lack of support in (1) above.
Here's a direct link to the greenplum admin guide:
http://media.gpadmin.me/wp-content/uploads/2011/05/GP-4100-AdminGuide.pdf
Addl docs: http://gpadmin.me/docs/
Here's a direct link to the greenplum admin guide:
http://media.gpadmin.me/wp-content/uploads/2011/05/GP-4100-AdminGuide.pdf
Addl docs: http://gpadmin.me/docs/
ERROR: current transaction is aborted, commands ignored until end of transaction block
ERROR: current transaction is aborted, commands ignored until end of transaction block
> In Create & Alter table GUI, BigSerial & serial datatypes should always have "allow nulls" option be set to "false". Is this possible w/ in the current Studio framework?
I ran into this problem while working on the Table visual editor, I don't know whether it is possible to disable it in ADS; I don't have time to look into this at the moment. Per PostgreSQL documentation, 'serial' data type is not a real data type, and should never be NULL.
> ERROR: current transaction is aborted, commands ignored until end of transaction block
I ran into this problem while working on the Table visual editor, I don't have time to look into this at the moment; it has something to do with executing DDL. For the time being, you need to 'reconnect' to work around this problem.
> Drop the following data types from Create table GUI as they are just aliases: bigint, boolean, character, decimal, double precision, integer, smallint
These data types are not aliases, they are listed in the Greenplum documentation.
*** NOTE: Table visual editor is still work in progress, has not been done yet.
> In Create & Alter table GUI, BigSerial & serial datatypes should always have "allow nulls" option be set to "false". Is this possible w/ in the current Studio framework?
I ran into this problem while working on the Table visual editor, I don't know whether it is possible to disable it in ADS; I don't have time to look into this at the moment. Per PostgreSQL documentation, 'serial' data type is not a real data type, and should never be NULL.
> ERROR: current transaction is aborted, commands ignored until end of transaction block
I ran into this problem while working on the Table visual editor, I don't have time to look into this at the moment; it has something to do with executing DDL. For the time being, you need to 'reconnect' to work around this problem.
> Drop the following data types from Create table GUI as they are just aliases: bigint, boolean, character, decimal, double precision, integer, smallint
These data types are not aliases, they are listed in the Greenplum documentation.
*** NOTE: Table visual editor is still work in progress, has not been done yet.
> To support Distribution keys in create table, each column in general tab should have a YES/NO option for Distribution key. In the Storage tab, there should be an option for controlling distribution key method: "Default", "By Column", "Random".
This has been done and checked in as SVN r30134, but not exactly as what you described above. r30134 basically follows ParAccel implementation pattern.
> To support Distribution keys in create table, each column in general tab should have a YES/NO option for Distribution key. In the Storage tab, there should be an option for controlling distribution key method: "Default", "By Column", "Random".
This has been done and checked in as SVN r30134, but not exactly as what you described above. r30134 basically follows ParAccel implementation pattern.
SVN r30071 - Register Server - initial implementation is done.
SVN r30089 - Visual Edit: Create/View/Drop Database/Schema is done. (note that Create Database takes time to complete)
SVN r30114/r30130/r30132/r30134/r30147 - Initial work for Create/View/Alter/Drop Table is done.
* Greenplum does not support 'FOREIGN KEY' table constraints, not listed in CREATE TABLE clause.
* Greenplum specific features:
General tab: Column tab: Distribution Key field
Storage tab: General: Storage Parameters, Distribution Key
* Permissions related implementation yet to be completed.
SVN r30148 - File Options - done
SVN r30172 - Visual Edit: Create/Alter/View/Drop View, System Tables node
SVN r30175 - Visual Edit: Create/View/Drop Sequence, System Views node
SVN r30176 - Schema Tree: Constraints node
SVN r30200 - Visual Edit: Create/Alter/View/Drop Index (including EDatabaseType related change which is required by Index)
SVN r30201 - Visual Edit: Create/Alter/View/Drop Function (including AFSQLPreprossesor related change which is required by Function)
SVN r30208 - Visual Edit: Create/Alter/View/Drop Procedure/Trigger, System Functions tree node
SVN r30209 - Schema Tree: Languages, Aggregates, Operators
SVN r30210 - Visual Edit: Create/Alter/View/Drop Rule; Schema Tree: Datatypes node
SVN r30211 - Script Object To ...: Database, Schema
SVN r30212 - Script Object To ...: Table Column, Constraint, View, Procedure
('Script Object To ...' for all of schema objects should work now, including multi-selection; GRANT/REVOKE not not supported at the moment)
SVN r30213 - Tablespace: Visual Editor-Create/Alter/View/Drop and Script Object To...
SVN r30214 - Management: Process Info
SVN r30233 - Edit Table Data
SVN r30234 - Tools: Import/Export Data
SVN r30235 - Tools: Object Search
SVN r30236 - Tools: Schema Script Generator
SVN r30255 - Query Analyzer
SVN r30281 - Visual Edit: Create/Alter/View/Drop Group/User without Membership and Permission support
SVN r30287 - Visual Edit: Group/User - grant/revoke Group Membership, Database Access, Tablespace/Schema Privileges
SVN r30323 - Visual Edit: Group/User - support Object Permissions (Table, View, Function, Sequence)
SVN r30325 - Visual Edit: Table/View/Function/Procedure/Sequence dialogs - support Permissions tab
SVN r30326 - Script Object to...: Group/User, including multi-selection
SVN r30327 - Script Object to...: GRANT/REVOKE - Function
('Script Object To ...' for all of schema tree nodes should work now, including multi-selection and GRANT/REVOKE)
SVN r30328 - Server Script Generator
SVN r30337 - Query Builder
SVN r30338 - \sqldump command
SVN r30359 - Open API support
SVN r30364 - Tablespace Dialog: renamed Location to Filespace
SVN r30373 - Function/Procedure - Parameters - Detail View (fix for Known Problem (9) below)
SVN r30381 - Create Schema from a Database node - schema tree refresh problem (fix for Known Problem (1) below)
SVN r30396 - Alter Table: allow to change distribution policy and keys (fix for Known Problem (4) below)
Known Problems:
(1) Create Schema from an expanded database node won't display the newly created schema node as a child node but collapse the database node. 11/29/12: This problem also occurs for PostgreSQL/ParAccel/NCluster database nodes; all of these nodes should work after SVN r30381.
(2) In most cases, exception is generated when execution of DDL failed (logged as issue #7941); when this happened, you need to 'Reconnect' to work around the problem.
(3) Table - Create 'Primary Key'/Unique constraints with Tablespace specified (Constraint Details tab), then followed by 'Alter Table', the Tablespace field won't have correct value displayed. (Exists in PG too.)
(4) Table - Alter 'Distribution Policy/Key' is not supported at the moment. 11/30/12: This is now supported. SVN r30396.
(5) Table - Alter Greenplum specific 'Storage Parameters' (the first 5 parameters, APPENDONLY, BLOCKSIZE, ..., etc.) is not supported, they are silently ignored if modified. (We are not sure if GP supports modifying these attributes.)
(6) Table - Implementation of data types and their attributes is based on PostgreSQL (added Distribution Key), does not seem to be complete. (Our PG impl doesn't support some attributes on data types such as on interval field, range, etc.)
(7) Sequence - View Sequence Dialog - incomplete - sequence attributes are not displayed. (Impl matches PG.)
(8) Function/Procedure - the data type of function/procedure parameter is displayed as server internal code in the Tree View and Detail View (same as PG.)
(9) Function|Procedure/Parameters node - the Detail view does not work (same as PG.) 11/29/12: This is a bug, fixed in Greenplum only. SVN r30373.
(10) User/Role dialogs - cannot grant/revoke Procedure permissions (same as PG.)
(11) Greenplum does not support 'FOREIGN KEY' table constraint, but 'ER Diagram -> Edit -> New Relationship...' menu item is still displayed.
(12) Greenplum uses PostgreSQL jdbc Driver to access DB server, the ConnectionPropreties instance created for Greenplum will have the following attributes ConnectionProperties._productName/_productVersion/_productMajorVersion/_productMinorVersion set based on PostgreSQL's version info but not Greenplum's version info, see ConnectionProperties.obtainDatabaseVersion() for more info (this is why Greenplum is displayed as 'RDBMS: Greenplum 8.2' in the ER Diagram dialog, Greenplum is based on PostgreSQL 8.2). (logged as issue #7988)
SVN r30071 - Register Server - initial implementation is done.
SVN r30089 - Visual Edit: Create/View/Drop Database/Schema is done. (note that Create Database takes time to complete)
SVN r30114/r30130/r30132/r30134/r30147 - Initial work for Create/View/Alter/Drop Table is done.
* Greenplum does not support 'FOREIGN KEY' table constraints, not listed in CREATE TABLE clause.
* Greenplum specific features:
General tab: Column tab: Distribution Key field
Storage tab: General: Storage Parameters, Distribution Key
* Permissions related implementation yet to be completed.
SVN r30148 - File Options - done
SVN r30172 - Visual Edit: Create/Alter/View/Drop View, System Tables node
SVN r30175 - Visual Edit: Create/View/Drop Sequence, System Views node
SVN r30176 - Schema Tree: Constraints node
SVN r30200 - Visual Edit: Create/Alter/View/Drop Index (including EDatabaseType related change which is required by Index)
SVN r30201 - Visual Edit: Create/Alter/View/Drop Function (including AFSQLPreprossesor related change which is required by Function)
SVN r30208 - Visual Edit: Create/Alter/View/Drop Procedure/Trigger, System Functions tree node
SVN r30209 - Schema Tree: Languages, Aggregates, Operators
SVN r30210 - Visual Edit: Create/Alter/View/Drop Rule; Schema Tree: Datatypes node
SVN r30211 - Script Object To ...: Database, Schema
SVN r30212 - Script Object To ...: Table Column, Constraint, View, Procedure
('Script Object To ...' for all of schema objects should work now, including multi-selection; GRANT/REVOKE not not supported at the moment)
SVN r30213 - Tablespace: Visual Editor-Create/Alter/View/Drop and Script Object To...
SVN r30214 - Management: Process Info
SVN r30233 - Edit Table Data
SVN r30234 - Tools: Import/Export Data
SVN r30235 - Tools: Object Search
SVN r30236 - Tools: Schema Script Generator
SVN r30255 - Query Analyzer
SVN r30281 - Visual Edit: Create/Alter/View/Drop Group/User without Membership and Permission support
SVN r30287 - Visual Edit: Group/User - grant/revoke Group Membership, Database Access, Tablespace/Schema Privileges
SVN r30323 - Visual Edit: Group/User - support Object Permissions (Table, View, Function, Sequence)
SVN r30325 - Visual Edit: Table/View/Function/Procedure/Sequence dialogs - support Permissions tab
SVN r30326 - Script Object to...: Group/User, including multi-selection
SVN r30327 - Script Object to...: GRANT/REVOKE - Function
('Script Object To ...' for all of schema tree nodes should work now, including multi-selection and GRANT/REVOKE)
SVN r30328 - Server Script Generator
SVN r30337 - Query Builder
SVN r30338 - \sqldump command
SVN r30359 - Open API support
SVN r30364 - Tablespace Dialog: renamed Location to Filespace
SVN r30373 - Function/Procedure - Parameters - Detail View (fix for Known Problem (9) below)
SVN r30381 - Create Schema from a Database node - schema tree refresh problem (fix for Known Problem (1) below)
SVN r30396 - Alter Table: allow to change distribution policy and keys (fix for Known Problem (4) below)
Known Problems:
(1) Create Schema from an expanded database node won't display the newly created schema node as a child node but collapse the database node. 11/29/12: This problem also occurs for PostgreSQL/ParAccel/NCluster database nodes; all of these nodes should work after SVN r30381.
(2) In most cases, exception is generated when execution of DDL failed (logged as issue #7941); when this happened, you need to 'Reconnect' to work around the problem.
(3) Table - Create 'Primary Key'/Unique constraints with Tablespace specified (Constraint Details tab), then followed by 'Alter Table', the Tablespace field won't have correct value displayed. (Exists in PG too.)
(4) Table - Alter 'Distribution Policy/Key' is not supported at the moment. 11/30/12: This is now supported. SVN r30396.
(5) Table - Alter Greenplum specific 'Storage Parameters' (the first 5 parameters, APPENDONLY, BLOCKSIZE, ..., etc.) is not supported, they are silently ignored if modified. (We are not sure if GP supports modifying these attributes.)
(6) Table - Implementation of data types and their attributes is based on PostgreSQL (added Distribution Key), does not seem to be complete. (Our PG impl doesn't support some attributes on data types such as on interval field, range, etc.)
(7) Sequence - View Sequence Dialog - incomplete - sequence attributes are not displayed. (Impl matches PG.)
(8) Function/Procedure - the data type of function/procedure parameter is displayed as server internal code in the Tree View and Detail View (same as PG.)
(9) Function|Procedure/Parameters node - the Detail view does not work (same as PG.) 11/29/12: This is a bug, fixed in Greenplum only. SVN r30373.
(10) User/Role dialogs - cannot grant/revoke Procedure permissions (same as PG.)
(11) Greenplum does not support 'FOREIGN KEY' table constraint, but 'ER Diagram -> Edit -> New Relationship...' menu item is still displayed.
(12) Greenplum uses PostgreSQL jdbc Driver to access DB server, the ConnectionPropreties instance created for Greenplum will have the following attributes ConnectionProperties._productName/_productVersion/_productMajorVersion/_productMinorVersion set based on PostgreSQL's version info but not Greenplum's version info, see ConnectionProperties.obtainDatabaseVersion() for more info (this is why Greenplum is displayed as 'RDBMS: Greenplum 8.2' in the ER Diagram dialog, Greenplum is based on PostgreSQL 8.2). (logged as issue #7988)
Known problems 1, 2, 4, 9, 12 have been resolved; discussed with Sachin, we are not going to take any action for the rest of known problem at the moment.
Known problems 1, 2, 4, 9, 12 have been resolved; discussed with Sachin, we are not going to take any action for the rest of known problem at the moment.
Greenplum Database is now supported in ADS v13.0
Greenplum Database is now supported in ADS v13.0
Issue #7919 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build trunk/30071-30364 |
No time estimate |
1 issue link |
is blocked by #7941
Issue #7941For Greenplum, If create table GUI encounters server error, transaction is not rolled back correctly. |
> Getting Started Docs : http://www.scribd.com/doc/91332245/28/Greenplum-Database-System-Catalogs
Do you have a copy that I can share? To download this document, I need to be a Premium Reader. I was trying to sign up as a Premium Reader but our proxy server prevents me from accessing the signup URL.
> To get started look at :
> 1. ConnectionProperties.isGreenplum()
I did not see this method and any Greenplum related implementation in ConnectionPropreties. I am assuming I need to implement this method and everything else.
> 2. ConnectionDialog
Well, I started from here, and then found that I cannot register a Greenplum server due to lack of support in (1) above.