@Override public <T extends Storable> Collection<T> select(String namespace) { return executeQuery(namespace, new MySqlSelectQuery(namespace)); }
@Override public <T extends Storable> Collection<T> select(String namespace, List<OrderByField> orderByFields) { return executeQuery(namespace, new MySqlSelectQuery(namespace, orderByFields)); }
@Override public <T extends Storable> Collection<T> select(String namespace, List<OrderByField> orderByFields) { return executeQuery(namespace, new MySqlSelectQuery(namespace, orderByFields)); }
@Override public <T extends Storable> Collection<T> select(String namespace) { return executeQuery(namespace, new MySqlSelectQuery(namespace)); }
@Override public <T extends Storable> Collection<T> select(StorableKey storableKey) { return executeQuery(storableKey.getNameSpace(), new MySqlSelectQuery(storableKey)); }
@Override public <T extends Storable> Collection<T> select(StorableKey storableKey) { return executeQuery(storableKey.getNameSpace(), new MySqlSelectQuery(storableKey)); }
@Override public <T extends Storable> Collection<T> select(StorableKey storableKey, List<OrderByField> orderByFields) { return executeQuery(storableKey.getNameSpace(), new MySqlSelectQuery(storableKey, orderByFields)); }
@Override public <T extends Storable> Collection<T> select(StorableKey storableKey, List<OrderByField> orderByFields) { return executeQuery(storableKey.getNameSpace(), new MySqlSelectQuery(storableKey, orderByFields)); }
@Override public <T extends Storable> Collection<T> select(SearchQuery searchQuery) { return executeQuery(searchQuery.getNameSpace(), new MySqlSelectQuery(searchQuery, storableFactory.create(searchQuery.getNameSpace()).getSchema())); }
@Override public <T extends Storable> Collection<T> select(SearchQuery searchQuery) { return executeQuery(searchQuery.getNameSpace(), new MySqlSelectQuery(searchQuery, storableFactory.create(searchQuery.getNameSpace()).getSchema())); }
@Test public void testSelectQuery() throws Exception { MySqlSelectQuery mySqlSelectQuery = new MySqlSelectQuery(nameSpace); String parametrizedSql = mySqlSelectQuery.getParametrizedSql(); Assert.assertEquals("SELECT * FROM topic", parametrizedSql); Map<Schema.Field, Object> fieldToObjectMap = new HashMap<>(); fieldToObjectMap.put(new Schema.Field("foo", Schema.Type.LONG), 1); mySqlSelectQuery = new MySqlSelectQuery(new StorableKey(nameSpace, new PrimaryKey(fieldToObjectMap))); parametrizedSql = mySqlSelectQuery.getParametrizedSql(); Assert.assertEquals("SELECT * FROM topic WHERE `foo` = ?", parametrizedSql); }
@Test public void testSelectQueryWithOrderBy() throws Exception { List<OrderByField> orderByFields = Arrays.asList(OrderByField.of("foo", true), OrderByField.of("bar")); MySqlSelectQuery mySqlSelectQuery = new MySqlSelectQuery("topic", orderByFields); String parametrizedSql = mySqlSelectQuery.getParametrizedSql(); Assert.assertEquals("SELECT * FROM topic ORDER BY `foo` DESC, ORDER BY `bar` ASC", parametrizedSql); Map<Schema.Field, Object> fieldToObjectMap = new HashMap<>(); fieldToObjectMap.put(new Schema.Field("foo", Schema.Type.LONG), 1); mySqlSelectQuery = new MySqlSelectQuery(new StorableKey(nameSpace, new PrimaryKey(fieldToObjectMap)), orderByFields); parametrizedSql = mySqlSelectQuery.getParametrizedSql(); Assert.assertEquals("SELECT * FROM topic WHERE `foo` = ? ORDER BY `foo` DESC, ORDER BY `bar` ASC", parametrizedSql); } }