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)
|