2693 |
2693 |
// -----------------------------------------------------------
|
2694 |
2694 |
// -----------------------------------------------------------
|
2695 |
2695 |
public static String getDropTableSql(DBLayerDefinition dbLayerDef) {
|
2696 |
|
return "DROP TABLE \"" + dbLayerDef.getTableName() +
|
2697 |
|
"\" CASCADE CONSTRAINTS";
|
|
2696 |
return "DROP TABLE " + dbLayerDef.getTableName() +
|
|
2697 |
" CASCADE CONSTRAINTS";
|
2698 |
2698 |
}
|
2699 |
2699 |
|
2700 |
2700 |
public static String getTableCreationSql(DBLayerDefinition dbLayerDef) {
|
... | ... | |
2703 |
2703 |
String type = "";
|
2704 |
2704 |
String name = "";
|
2705 |
2705 |
|
2706 |
|
String resp = "CREATE TABLE \"" + dbLayerDef.getTableName() + "\" ( ";
|
|
2706 |
String resp = "CREATE TABLE " + dbLayerDef.getTableName() + " ( ";
|
2707 |
2707 |
|
2708 |
2708 |
for (int i = 0; i < flds.length; i++) {
|
2709 |
2709 |
name = flds[i].getFieldName();
|
... | ... | |
2728 |
2728 |
resp = resp + "\"MDSYS\".\"SDO_GEOMETRY\"";
|
2729 |
2729 |
resp = resp + ", ";
|
2730 |
2730 |
|
2731 |
|
String pk = "CONSTRAINT \"" + dbLayerDef.getTableName() +
|
2732 |
|
"_PK\" PRIMARY KEY (\"" + OracleSpatialDriver.DEFAULT_ID_FIELD +
|
|
2731 |
String pk = "CONSTRAINT " + getDerivedNAme(dbLayerDef.getTableName(), "PK") +
|
|
2732 |
" PRIMARY KEY (\"" + OracleSpatialDriver.DEFAULT_ID_FIELD +
|
2733 |
2733 |
"\") ENABLE";
|
2734 |
2734 |
|
2735 |
2735 |
resp = resp + pk + " )";
|
2736 |
2736 |
|
2737 |
2737 |
return resp;
|
2738 |
2738 |
}
|
|
2739 |
|
|
2740 |
private static String getDerivedNAme(String tname, String suffix) {
|
|
2741 |
|
|
2742 |
int ind = tname.lastIndexOf(".");
|
|
2743 |
if (ind == -1) {
|
|
2744 |
|
|
2745 |
int l = Math.min(28, tname.length());
|
|
2746 |
return tname.substring(0, l) + "_" + suffix;
|
2739 |
2747 |
|
|
2748 |
} else {
|
|
2749 |
|
|
2750 |
String pre = tname.substring(0, ind);
|
|
2751 |
String post = tname.substring(ind + 1, tname.length());
|
|
2752 |
int lpost = Math.min(24, post.length());
|
|
2753 |
int lpre = Math.min(3, pre.length());
|
|
2754 |
return pre.substring(0, lpre) + "_" + post.substring(0, lpost) + "_" + suffix;
|
|
2755 |
}
|
|
2756 |
|
|
2757 |
}
|
|
2758 |
|
2740 |
2759 |
public static String getIndexCreationSql(DBLayerDefinition dbLayerDef) {
|
2741 |
|
String resp = "CREATE INDEX \"" + dbLayerDef.getTableName() +
|
2742 |
|
"_SX\" ON \"" + dbLayerDef.getTableName() + "\" (\"" +
|
|
2760 |
String resp = "CREATE INDEX " + getDerivedNAme(dbLayerDef.getTableName(), "SX") +
|
|
2761 |
" ON " + dbLayerDef.getTableName() + " (\"" +
|
2743 |
2762 |
OracleSpatialDriver.DEFAULT_GEO_FIELD +
|
2744 |
2763 |
"\") INDEXTYPE IS \"MDSYS\".\"SPATIAL_INDEX\" ";
|
2745 |
2764 |
|
... | ... | |
2747 |
2766 |
}
|
2748 |
2767 |
|
2749 |
2768 |
public static String getRemoveMetadataSql(DBLayerDefinition dbLayerDef) {
|
2750 |
|
return "DELETE FROM " + ORACLE_GEOMETADATA_VIEW +
|
2751 |
|
" WHERE TABLE_NAME = '" + dbLayerDef.getTableName() + "'";
|
|
2769 |
|
|
2770 |
String tname = dbLayerDef.getTableName();
|
|
2771 |
int ind = tname.lastIndexOf(".");
|
|
2772 |
if (ind != -1) {
|
|
2773 |
String schema = tname.substring(0, ind);
|
|
2774 |
tname = tname.substring(ind + 1, tname.length());
|
|
2775 |
return "DELETE FROM " + ORACLE_GEOMETADATA_VIEW +
|
|
2776 |
" WHERE TABLE_NAME = '" + tname + "' AND OWNER = '" + schema + "'";
|
|
2777 |
|
|
2778 |
} else{
|
|
2779 |
return "DELETE FROM " + ORACLE_GEOMETADATA_VIEW +
|
|
2780 |
" WHERE TABLE_NAME = '" + tname + "'";
|
|
2781 |
}
|
2752 |
2782 |
}
|
2753 |
2783 |
|
2754 |
2784 |
/**
|
... | ... | |
2835 |
2865 |
|
2836 |
2866 |
FieldDescription[] fieldsDescr = dbLayerDef.getFieldsDesc();
|
2837 |
2867 |
|
2838 |
|
String resp = "INSERT INTO \"" + dbLayerDef.getTableName() + "\" ( ";
|
|
2868 |
String resp = "INSERT INTO " + dbLayerDef.getTableName() + " ( ";
|
2839 |
2869 |
|
2840 |
2870 |
for (int i = 0; i < fieldsDescr.length; i++) {
|
2841 |
2871 |
name = fieldsDescr[i].getFieldName();
|
... | ... | |
2942 |
2972 |
Value[] atts = feat.getAttributes();
|
2943 |
2973 |
FieldDescription[] _fieldsDescr = dbLayerDef.getFieldsDesc();
|
2944 |
2974 |
|
2945 |
|
String resp = "UPDATE \"" + dbLayerDef.getTableName() + "\" SET ";
|
|
2975 |
String resp = "UPDATE " + dbLayerDef.getTableName() + " SET ";
|
2946 |
2976 |
|
2947 |
2977 |
for (int i = 0; i < _fieldsDescr.length; i++) {
|
2948 |
2978 |
name = _fieldsDescr[i].getFieldName();
|
... | ... | |
2998 |
3028 |
* @return the SQL sentence to perform the deletion
|
2999 |
3029 |
*/
|
3000 |
3030 |
public static String getRowDeleteSql(DBLayerDefinition dbLayerDef, String id) {
|
3001 |
|
String resp = "DELETE FROM \"" + dbLayerDef.getTableName() + "\"";
|
|
3031 |
String resp = "DELETE FROM " + dbLayerDef.getTableName();
|
3002 |
3032 |
resp = resp + " WHERE ROWID ='" + id + "'";
|
3003 |
3033 |
|
3004 |
3034 |
return resp;
|