public boolean containsPK(List<String> cols) {
        if (cols == null) {
            return false;
        }

        List<String> pk = getPrimaryKeyOnlyName();
        if (pk.isEmpty()) {
            return false;
        }


        //at least contain one pk
        if (cols.containsAll(pk)) {
            return true;
        } else {
            return CollectionUtils.toUpperList(cols).containsAll(CollectionUtils.toUpperList(pk));
        }
    }
@Test
    public void testContainsPKWithCaseInsensitiveMatch() {
        List<String> cols = Arrays.asList("COL1", "COL2");
        assertTrue(tableMeta.containsPK(cols));
    }