Index: src/test/java/org/apache/jackrabbit/core/query/SQLTest.java
===================================================================
--- src/test/java/org/apache/jackrabbit/core/query/SQLTest.java	(revision 1214119)
+++ src/test/java/org/apache/jackrabbit/core/query/SQLTest.java	(working copy)
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.query;
 
+import static javax.jcr.query.Query.JCR_SQL2;
+
 import javax.jcr.Node;
 import javax.jcr.query.Query;
 import javax.jcr.query.QueryResult;
@@ -65,5 +67,39 @@
         checkResult(result, 1);
     }
 
+    public void testVersionStoreQuery() throws Exception {
+        String select = "SELECT NODE.* FROM [nt:base] AS NODE WHERE ISCHILDNODE(NODE, [/jcr:system/jcr:versionStorage/17/66/ea/1766eaef-f0f5-4cf6-95ef-a1d7290257f9])";
+        Query q = qm.createQuery(select, JCR_SQL2);
+        QueryResult result = q.execute();
+        assertNotNull(result);
+    }
+
+    /**
+     * JCR-3182
+     */
+    public void testVersionStoreQuotedQuery() throws Exception {
+        String select = "SELECT NODE.* FROM [nt:base] AS NODE WHERE ISCHILDNODE(NODE, ['/jcr:system/jcr:versionStorage/17/66/ea/1766eaef-f0f5-4cf6-95ef-a1d7290257f9'])";
+        Query q = qm.createQuery(select, JCR_SQL2);
+        QueryResult result = q.execute();
+        assertNotNull(result);
+    }
+
+    /**
+     * JCR-3182
+     */
+    public void testVersionStoreWNumberQuery() throws Exception {
+        String select = "SELECT NODE.* FROM [nt:base] AS NODE WHERE ISCHILDNODE(NODE, [/jcr:system/jcr:versionStorage/00])";
+        Query q = qm.createQuery(select, JCR_SQL2);
+        assertEquals(select.toLowerCase(), q.getStatement().toLowerCase());
+    }
+
+    /**
+     * JCR-3182
+     */
+    public void testVersionStoreWNumberQuotedQuery() throws Exception {
+        String select = "SELECT NODE.* FROM [nt:base] AS NODE WHERE ISCHILDNODE(NODE, ['/jcr:system/jcr:versionStorage/00'])";
+        Query q = qm.createQuery(select, JCR_SQL2);
+        assertEquals(select.toLowerCase().replaceAll("'", ""), q.getStatement().toLowerCase());
+    }
 
 }
