[pgsqlclient-checkins] pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/DbSchema PgColumnsSchema.cs
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-08-02 23:45:02
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/DbSchema In directory sc8-pr-cvs1:/tmp/cvs-serv7181 Modified Files: PgColumnsSchema.cs Log Message: Added new column for know if a field is autoincrement. Index: PgColumnsSchema.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/DbSchema/PgColumnsSchema.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PgColumnsSchema.cs 2 Aug 2003 21:11:37 -0000 1.2 --- PgColumnsSchema.cs 2 Aug 2003 23:44:59 -0000 1.3 *************** *** 56,59 **** --- 56,60 ---- AddDataColumn("pg_attrdef.adsrc" , "COLUMN_DEFAULT"); AddDataColumn("pg_attribute.attnotnull" , "IS_NOT_NULL"); + AddDataColumn("(pg_depend.objid is not null)", "IS_AUTOINCREMENT"); AddDataColumn(getStorageExpression("pg_attribute.attstorage"), "STORAGE"); AddDataColumn("pg_description.description", "DESCRIPTION"); *************** *** 64,69 **** AddJoin("left join", "pg_class" , "pg_attribute.attrelid = pg_class.oid"); AddJoin("left join", "pg_namespace" , "pg_class.relnamespace = pg_namespace.oid"); ! AddJoin("left join", "pg_attrdef" , "pg_class.oid = pg_attrdef.adrelid AND pg_attribute.attnum = pg_attrdef.adnum"); ! AddJoin("left join", "pg_description", "pg_attribute.attrelid = pg_description.objoid AND pg_attribute.attnum = pg_description.objsubid"); } --- 65,73 ---- AddJoin("left join", "pg_class" , "pg_attribute.attrelid = pg_class.oid"); AddJoin("left join", "pg_namespace" , "pg_class.relnamespace = pg_namespace.oid"); ! AddJoin("left join", "pg_attrdef" , "(pg_class.oid = pg_attrdef.adrelid AND pg_attribute.attnum = pg_attrdef.adnum)"); ! AddJoin("left join", "pg_description", "(pg_attribute.attrelid = pg_description.objoid AND pg_attribute.attnum = pg_description.objsubid)"); ! AddJoin("left join", ! "pg_depend", ! "(pg_attribute.attrelid = pg_depend.objid AND pg_depend.deptype = 'i')"); } *************** *** 97,100 **** --- 101,116 ---- #region PRIVATE_METHODS + + private string getSerialExpression(string fieldName) + { + StringBuilder expression = new StringBuilder(); + + expression.AppendFormat(" case {0} ", fieldName); + expression.Append(" when 0 THEN true"); + expression.Append(" default THEN false"); + expression.Append(" END "); + + return expression.ToString(); + } private string getStorageExpression(string fieldName) |