db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject svn commit: r1683493 - in /db/jdo/trunk/tck/src: java/org/apache/jdo/tck/pc/query/ java/org/apache/jdo/tck/query/jdoql/methods/ jdo/applicationidentity/org/apache/jdo/tck/pc/query/ jdo/datastoreidentity/org/apache/jdo/tck/pc/query/ orm/applicationident...
Date Thu, 04 Jun 2015 09:00:58 GMT
Author: andyj
Date: Thu Jun  4 09:00:58 2015
New Revision: 1683493

URL: http://svn.apache.org/r1683493
Log:
JDO-701 Tests for Math log, exp, acos, asin, atan, ceil, floor methods

Modified:
    db/jdo/trunk/tck/src/java/org/apache/jdo/tck/pc/query/MathSample.java
    db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
    db/jdo/trunk/tck/src/jdo/applicationidentity/org/apache/jdo/tck/pc/query/package.jdo
    db/jdo/trunk/tck/src/jdo/datastoreidentity/org/apache/jdo/tck/pc/query/package.jdo
    db/jdo/trunk/tck/src/orm/applicationidentity/org/apache/jdo/tck/pc/query/package-standard.orm
    db/jdo/trunk/tck/src/orm/datastoreidentity/org/apache/jdo/tck/pc/query/package-standard.orm
    db/jdo/trunk/tck/src/sql/derby/applicationidentity/schema.sql
    db/jdo/trunk/tck/src/sql/derby/datastoreidentity/schema.sql

Modified: db/jdo/trunk/tck/src/java/org/apache/jdo/tck/pc/query/MathSample.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/java/org/apache/jdo/tck/pc/query/MathSample.java?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/java/org/apache/jdo/tck/pc/query/MathSample.java (original)
+++ db/jdo/trunk/tck/src/java/org/apache/jdo/tck/pc/query/MathSample.java Thu Jun  4 09:00:58
2015
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License.
  */
- 
 package org.apache.jdo.tck.pc.query;
 
 import java.io.Serializable;
@@ -26,6 +25,11 @@ public class MathSample implements Seria
 	/** Angle in radians. */
 	BigDecimal angle;
 
+    BigDecimal trigValue;
+    Double doubleValue;
+    Float floatValue;
+    Integer intValue;
+
 	public long getId() {
 		return id;
 	}
@@ -37,15 +41,46 @@ public class MathSample implements Seria
 	public BigDecimal getAngle() {
 		return angle;
 	}
-
 	public void setAngle(BigDecimal angle) {
 		this.angle = angle;
 	}
 
+	public BigDecimal getTrigValue() {
+		return trigValue;
+	}
+	public void setTrigValue(BigDecimal val) {
+		this.trigValue = val;
+	}
+
+	public Double getDoubleValue() {
+		return doubleValue;
+	}
+	public void setDoubleValue(Double val) {
+		this.doubleValue = val;
+	}
+
+	public Float getFloatValue() {
+		return floatValue;
+	}
+	public void setFloatValue(Float val) {
+		this.floatValue = val;
+	}
+
+	public Integer getIntValue() {
+		return intValue;
+	}
+	public void setIntValue(Integer val) {
+		this.intValue = val;
+	}
+
 	@Override
 	public int hashCode() {
 		final int prime = 31;
 		int result = 1;
+		result = prime * result + ((intValue == null) ? 0 : intValue.hashCode());
+		result = prime * result + ((floatValue == null) ? 0 : floatValue.hashCode());
+		result = prime * result + ((doubleValue == null) ? 0 : doubleValue.hashCode());
+		result = prime * result + ((trigValue == null) ? 0 : trigValue.hashCode());
 		result = prime * result + ((angle == null) ? 0 : angle.hashCode());
 		result = prime * result + (int) (id ^ (id >>> 32));
 		return result;
@@ -60,14 +95,39 @@ public class MathSample implements Seria
 		if (getClass() != obj.getClass())
 			return false;
 		MathSample other = (MathSample) obj;
+
+		if (intValue == null) {
+			if (other.intValue != null)
+				return false;
+		} else if (!intValue.equals(other.intValue))
+			return false;
+
+		if (floatValue == null) {
+			if (other.floatValue != null)
+				return false;
+		} else if (!floatValue.equals(other.floatValue))
+			return false;
+
+		if (doubleValue == null) {
+			if (other.doubleValue != null)
+				return false;
+		} else if (!doubleValue.equals(other.doubleValue))
+			return false;
+
+		if (trigValue == null) {
+			if (other.trigValue != null)
+				return false;
+		} else if (!trigValue.equals(other.trigValue))
+			return false;
+
 		if (angle == null) {
 			if (other.angle != null)
 				return false;
 		} else if (!angle.equals(other.angle))
 			return false;
+
 		if (id != other.id)
 			return false;
 		return true;
 	}
-
 }

Modified: db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
(original)
+++ db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
Thu Jun  4 09:00:58 2015
@@ -48,6 +48,9 @@ import org.apache.jdo.tck.util.BatchTest
  * <li>Math.sin(numeric)</li>
  * <li>Math.cos(numeric)</li>
  * <li>Math.tan(numeric)</li>
+ * <li>Math.asin(numeric)</li>
+ * <li>Math.acos(numeric)</li>
+ * <li>Math.atan(numeric)</li>
  * </ul>
  */
 public class SupportedMathMethods extends QueryTest {
@@ -459,6 +462,290 @@ public class SupportedMathMethods extend
         }
     }
 
+    /** 
+     * Tests for Math.asin()
+     */
+    @SuppressWarnings("unchecked")
+	public void testArcSin() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.asin(trigValue) < 0.1 && Math.asin(trigValue)
> -0.1";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.asin(trigValue) < 1.5714 && Math.asin(trigValue) >
1.570";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.asin(trigValue) < -1.570 && Math.asin(trigValue) >
-1.5714";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath3));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.acos()
+     */
+    @SuppressWarnings("unchecked")
+	public void testArcCos() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.acos(trigValue) < 1.5714 && Math.acos(trigValue)
> 1.570";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.acos(trigValue) < 0.1 && Math.acos(trigValue) >
-0.1";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.acos(trigValue) < 3.147 && Math.acos(trigValue) >
3.14";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath3));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.atan()
+     */
+    @SuppressWarnings("unchecked")
+	public void testArcTan() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.atan(trigValue) < 0.5 && Math.atan(trigValue)
> -0.5";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.ceil()
+     */
+    @SuppressWarnings("unchecked")
+	public void testCeil() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.ceil(doubleValue) == 5";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.ceil(floatValue) == 3";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath3));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.ceil(intValue) == 5";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.floor()
+     */
+    @SuppressWarnings("unchecked")
+	public void testFloor() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.floor(doubleValue) == 4";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath1));
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.floor(floatValue) == 2";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath3));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            filter = "Math.floor(intValue) == 4";
+            expectedResult.clear();
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.exp()
+     */
+    @SuppressWarnings("unchecked")
+	public void testExp() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.exp(doubleValue) < 85.63 && Math.exp(doubleValue)
> 85.62";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
+    /** 
+     * Tests for Math.log()
+     */
+    @SuppressWarnings("unchecked")
+	public void testLog() {
+    	insertMathSampleData(getPM());
+
+        PersistenceManager pm  = getPM();
+        Transaction tx = pm.currentTransaction();
+        try {
+            tx.begin();
+
+            String filter = "Math.log(doubleValue) < 1.4935 && Math.log(doubleValue)
> 1.491";
+            Collection expectedResult = new ArrayList();
+            expectedResult.add(pm.getObjectById(oidOfMath2));
+            Query q =  pm.newQuery();
+            q.setClass(MathSample.class);
+            q.setFilter(filter);
+            Collection results = (Collection)q.execute();
+            checkQueryResultWithoutOrder(ASSERTION_FAILED, filter, results, expectedResult);
+
+            tx.commit();
+            tx = null;
+        } 
+        finally {
+            if ((tx != null) && tx.isActive())
+                tx.rollback();
+        }
+    }
+
     /**
      * @see JDO_Test#localSetUp()
      */
@@ -478,18 +765,30 @@ public class SupportedMathMethods extend
             MathSample ms1 = new MathSample();
             ms1.setId(1);
             ms1.setAngle(new BigDecimal(Math.PI));
+            ms1.setTrigValue(new BigDecimal(0.0));
+            ms1.setDoubleValue(new Double(4.55));
+            ms1.setFloatValue(new Float(4.55));
+            ms1.setIntValue(new Integer(5));
             pm.makePersistent(ms1);
 
             // Sample 2 : angle=PI/2 (90 degrees)
             MathSample ms2 = new MathSample();
             ms2.setId(2);
             ms2.setAngle(new BigDecimal(Math.PI/2.0));
+            ms2.setTrigValue(new BigDecimal(1.0));
+            ms2.setDoubleValue(new Double(4.45));
+            ms2.setFloatValue(new Float(4.45));
+            ms2.setIntValue(new Integer(4));
             pm.makePersistent(ms2);
 
             // Sample 3 : angle=0 (0 degrees)
             MathSample ms3 = new MathSample();
             ms3.setId(3);
             ms3.setAngle(new BigDecimal(0));
+            ms3.setTrigValue(new BigDecimal(-1.0));
+            ms3.setDoubleValue(new Double(2.49));
+            ms3.setFloatValue(new Float(2.49));
+            ms3.setIntValue(new Integer(3));
             pm.makePersistent(ms3);
 
             tx.commit();

Modified: db/jdo/trunk/tck/src/jdo/applicationidentity/org/apache/jdo/tck/pc/query/package.jdo
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/jdo/applicationidentity/org/apache/jdo/tck/pc/query/package.jdo?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/jdo/applicationidentity/org/apache/jdo/tck/pc/query/package.jdo (original)
+++ db/jdo/trunk/tck/src/jdo/applicationidentity/org/apache/jdo/tck/pc/query/package.jdo Thu
Jun  4 09:00:58 2015
@@ -40,6 +40,10 @@
     <class name="MathSample" identity-type="application">
       <field name="id" primary-key="true"/>
       <field name="angle" persistence-modifier="persistent"/>
+      <field name="trigValue" persistence-modifier="persistent"/>
+      <field name="doubleValue" persistence-modifier="persistent"/>
+      <field name="floatValue" persistence-modifier="persistent"/>
+      <field name="intValue" persistence-modifier="persistent"/>
     </class>
   </package>
 </jdo>

Modified: db/jdo/trunk/tck/src/jdo/datastoreidentity/org/apache/jdo/tck/pc/query/package.jdo
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/jdo/datastoreidentity/org/apache/jdo/tck/pc/query/package.jdo?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/jdo/datastoreidentity/org/apache/jdo/tck/pc/query/package.jdo (original)
+++ db/jdo/trunk/tck/src/jdo/datastoreidentity/org/apache/jdo/tck/pc/query/package.jdo Thu
Jun  4 09:00:58 2015
@@ -30,6 +30,10 @@
 
     <class name="MathSample">
       <field name="angle" persistence-modifier="persistent"/>
+      <field name="trigValue" persistence-modifier="persistent"/>
+      <field name="doubleValue" persistence-modifier="persistent"/>
+      <field name="floatValue" persistence-modifier="persistent"/>
+      <field name="intValue" persistence-modifier="persistent"/>
     </class>
   </package>
 

Modified: db/jdo/trunk/tck/src/orm/applicationidentity/org/apache/jdo/tck/pc/query/package-standard.orm
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/orm/applicationidentity/org/apache/jdo/tck/pc/query/package-standard.orm?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/orm/applicationidentity/org/apache/jdo/tck/pc/query/package-standard.orm
(original)
+++ db/jdo/trunk/tck/src/orm/applicationidentity/org/apache/jdo/tck/pc/query/package-standard.orm
Thu Jun  4 09:00:58 2015
@@ -39,6 +39,18 @@
       <field name="angle">
         <column name="ANGLE" precision="18" scale="8"/>
       </field>
+      <field name="trigValue">
+        <column name="TRIG_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="doubleValue">
+        <column name="DOUBLE_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="floatValue">
+        <column name="FLOAT_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="intValue">
+        <column name="INT_VALUE"/>
+      </field>
     </class>
   </package>
 </orm>

Modified: db/jdo/trunk/tck/src/orm/datastoreidentity/org/apache/jdo/tck/pc/query/package-standard.orm
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/orm/datastoreidentity/org/apache/jdo/tck/pc/query/package-standard.orm?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/orm/datastoreidentity/org/apache/jdo/tck/pc/query/package-standard.orm
(original)
+++ db/jdo/trunk/tck/src/orm/datastoreidentity/org/apache/jdo/tck/pc/query/package-standard.orm
Thu Jun  4 09:00:58 2015
@@ -46,6 +46,18 @@ This file contains the schema informatio
       <field name="angle">
         <column name="ANGLE" precision="18" scale="8"/>
       </field>
+      <field name="trigValue">
+        <column name="TRIG_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="doubleValue">
+        <column name="DOUBLE_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="floatValue">
+        <column name="FLOAT_VALUE" precision="12" scale="8"/>
+      </field>
+      <field name="intValue">
+        <column name="INT_VALUE"/>
+      </field>
     </class>
 
     </package>

Modified: db/jdo/trunk/tck/src/sql/derby/applicationidentity/schema.sql
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/sql/derby/applicationidentity/schema.sql?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/sql/derby/applicationidentity/schema.sql (original)
+++ db/jdo/trunk/tck/src/sql/derby/applicationidentity/schema.sql Thu Jun  4 09:00:58 2015
@@ -157,6 +157,10 @@ CREATE TABLE TimeSample (
 CREATE TABLE MathSample (
     ID INTEGER NOT NULL,
     ANGLE DECIMAL(18,8),
+    TRIG_VALUE DECIMAL(12,8),
+    DOUBLE_VALUE DECIMAL(12,8),
+    FLOAT_VALUE DECIMAL(12,8),
+    INT_VALUE INTEGER,
     CONSTRAINT MATHSAMPLE_PK PRIMARY KEY (ID)
 );
 

Modified: db/jdo/trunk/tck/src/sql/derby/datastoreidentity/schema.sql
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/sql/derby/datastoreidentity/schema.sql?rev=1683493&r1=1683492&r2=1683493&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/sql/derby/datastoreidentity/schema.sql (original)
+++ db/jdo/trunk/tck/src/sql/derby/datastoreidentity/schema.sql Thu Jun  4 09:00:58 2015
@@ -147,6 +147,10 @@ CREATE TABLE MathSample (
     DATASTORE_IDENTITY INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
     ID INTEGER NOT NULL,
     ANGLE DECIMAL(18,8),
+    TRIG_VALUE DECIMAL(12,8),
+    DOUBLE_VALUE DECIMAL(12,8),
+    FLOAT_VALUE DECIMAL(12,8),
+    INT_VALUE INTEGER,
     CONSTRAINT MATHSAMPLE_PK PRIMARY KEY (DATASTORE_IDENTITY)
 );
 



Mime
View raw message