Queries.java

package net.metanotion.contentstore;

/** <i>This is a SQL query class generated by the SQLC compiler.</i> */
@javax.annotation.Generated("net.metanotion.sqlc.SQLC") public final class Queries {
	private final net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types;
	public Queries() { this.types = new net.metanotion.util.types.TypeDictionary(); }
	public Queries(net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types) { this.types = types; }
	public int deleteCollection(final java.sql.Connection _0, final @javax.inject.Named("id") long _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("DELETE FROM Collections WHERE CollectionID = ?")) {
			_2.setLong(1, _1);
			final int _3 = _2.executeUpdate();
			return _3;
}
	}
	public java.util.List<net.metanotion.contentstore.Header> listCollectionHeaders(final java.sql.Connection _0, final @javax.inject.Named("id") long _1, final @javax.inject.Named("pageSize") int _2, final @javax.inject.Named("pageOffset") int _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("SELECT Title, EntryID AS id\r\n\t\t\tFROM Entries\r\n\t\t\tWHERE CollectionID = ?\r\n\t\t\tORDER BY AddedDate DESC\r\n\t\t\tLIMIT ?\r\n\t\t\tOFFSET ?")) {
			_4.setLong(1, _1);
			_4.setInt(2, _2);
			_4.setInt(3, _3);
			try (final java.sql.ResultSet _5 = _4.executeQuery()) {
			final java.util.List<net.metanotion.contentstore.Header> _6 = new java.util.ArrayList<net.metanotion.contentstore.Header>();
		final net.metanotion.util.reflect.GetInitializer<net.metanotion.contentstore.Header> _7 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.contentstore.Header.class, this.types);
		while(_5.next()) {
					final net.metanotion.util.reflect.Initializer<net.metanotion.contentstore.Header> _8 = _7.initializer();
					_8.put("Title", _5.getString("Title"));
					_8.put("id", _5.getLong("id"));
					_6.add(_8.instance());
		}
			return _6;
}
}
	}
	public int addCollection(final java.sql.Connection _0, final @javax.inject.Named("name") String _1, final @javax.inject.Named("id") long _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("INSERT INTO Collections(Name, CollectionID) VALUES (?, ?)")) {
			_3.setString(1, _1);
			_3.setLong(2, _2);
			final int _4 = _3.executeUpdate();
			return _4;
}
	}
	public int updateTextEntry(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("content") String _2, final @javax.inject.Named("contentType") String _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("DELETE FROM FileItems WHERE EntryID = ?")) {
			_4.setLong(1, _1);
			final int _5 = _4.executeUpdate();
			try (final java.sql.PreparedStatement _6 = _0.prepareStatement("UPDATE TextItems SET Content = ?, ContentType = ? WHERE EntryID = ?")) {
			_6.setString(1, _2);
			_6.setString(2, _3);
			_6.setLong(3, _1);
			final int _7 = _6.executeUpdate();
			try (final java.sql.PreparedStatement _8 = _0.prepareStatement("INSERT INTO TextItems (EntryID, Content, ContentType) \r\n\t\t\tSELECT ?, ?, ?\r\n\t\t\t\tWHERE NOT EXISTS (SELECT 1 FROM TextItems WHERE EntryID = ?)")) {
			_8.setLong(1, _1);
			_8.setString(2, _2);
			_8.setString(3, _3);
			_8.setLong(4, _1);
			final int _9 = _8.executeUpdate();
			return _9;
}
}
}
	}
	public int addEntry(final java.sql.Connection _0, final @javax.inject.Named("cid") long _1, final @javax.inject.Named("eid") long _2, final @javax.inject.Named("title") String _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("INSERT INTO Entries(CollectionID, EntryID, Title) VALUES (?, ?, ?)")) {
			_4.setLong(1, _1);
			_4.setLong(2, _2);
			_4.setString(3, _3);
			final int _5 = _4.executeUpdate();
			return _5;
}
	}
	public int detachCollection(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("cid") long _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("DELETE FROM Attachments WHERE EntryID = ? AND CollectionID = ?")) {
			_3.setLong(1, _1);
			_3.setLong(2, _2);
			final int _4 = _3.executeUpdate();
			return _4;
}
	}
	public long reserveFID(final java.sql.Connection _0) throws Exception {
			try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT nextval('FileIds_FileId_seq') AS FID")) {
			try (final java.sql.ResultSet _2 = _1.executeQuery()) {
		_2.next();
			return _2.getLong(1);
}
}
	}
	public net.metanotion.contentstore.SQLEntry getEntry(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT\te.Title AS Title,\r\n\t\t\t\t\te.EntryID AS id,\r\n\t\t\t\t\te.CollectionID AS cid,\r\n\t\t\t\t\te.AddedDate AS AddedDate,\r\n\t\t\t\t\tCOALESCE(ti.ContentType, fi.ContentType) AS ContentType,\r\n\t\t\t\t\tCOALESCE(ti.UpdateDate, fi.UpdateDate) AS UpdateDate,\r\n\t\t\t\t\tti.Content AS TextValue,\r\n\t\t\t\t\tfi.OriginalFileName AS FileName,\r\n\t\t\t\t\tfi.FileID AS FileID\r\n\t\t\tFROM Entries e\r\n\t\t\t\tLEFT JOIN TextItems ti\r\n\t\t\t\t\tON (e.EntryID = ti.EntryID)\r\n\t\t\t\tLEFT JOIN FileItems fi\r\n\t\t\t\t\tON (e.EntryID = fi.EntryID)\r\n\t\t\tWHERE e.EntryID = ?")) {
			_2.setLong(1, _1);
			try (final java.sql.ResultSet _3 = _2.executeQuery()) {
		_3.next();
		final net.metanotion.util.reflect.GetInitializer<net.metanotion.contentstore.SQLEntry> _4 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.contentstore.SQLEntry.class, this.types);
		final net.metanotion.util.reflect.Initializer<net.metanotion.contentstore.SQLEntry> _5 = _4.initializer();
		_5.put("Title", _3.getString("Title"));
		_5.put("id", _3.getLong("id"));
		_5.put("cid", _3.getLong("cid"));
		_5.put("AddedDate", _3.getDate("AddedDate"));
		_5.put("ContentType", _3.getString("ContentType"));
		_5.put("UpdateDate", _3.getDate("UpdateDate"));
		_5.put("TextValue", _3.getString("TextValue"));
		_5.put("FileName", _3.getString("FileName"));
		_5.put("FileID", _3.getLong("FileID"));
		return _5.instance();
}
}
	}
	public long reserveEID(final java.sql.Connection _0) throws Exception {
			try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT nextval('Entries_EntryID_seq') AS EID")) {
			try (final java.sql.ResultSet _2 = _1.executeQuery()) {
		_2.next();
			return _2.getLong(1);
}
}
	}
	public int updateCollectionTitle(final java.sql.Connection _0, final @javax.inject.Named("id") long _1, final @javax.inject.Named("title") String _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("UPDATE Collections SET Name = ? WHERE CollectionID = ?")) {
			_3.setString(1, _2);
			_3.setLong(2, _1);
			final int _4 = _3.executeUpdate();
			return _4;
}
	}
	public int attachCollection(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("cid") long _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("INSERT INTO Attachments(EntryID, CollectionID) VALUES (?, ?)")) {
			_3.setLong(1, _1);
			_3.setLong(2, _2);
			final int _4 = _3.executeUpdate();
			return _4;
}
	}
	public int deleteEntry(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("DELETE FROM Entries WHERE EntryID = ?")) {
			_2.setLong(1, _1);
			final int _3 = _2.executeUpdate();
			return _3;
}
	}
	public int updateFileEntry(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("newFid") long _2, final @javax.inject.Named("contentType") String _3, final @javax.inject.Named("originalName") String _4) throws Exception {
			try (final java.sql.PreparedStatement _5 = _0.prepareStatement("DELETE FROM TextItems WHERE EntryID = ?")) {
			_5.setLong(1, _1);
			final int _6 = _5.executeUpdate();
			try (final java.sql.PreparedStatement _7 = _0.prepareStatement("DELETE FROM FileItems WHERE EntryID = ?")) {
			_7.setLong(1, _1);
			final int _8 = _7.executeUpdate();
			try (final java.sql.PreparedStatement _9 = _0.prepareStatement("INSERT INTO FileIds (FileId, Src) VALUES (?, 'K')")) {
			_9.setLong(1, _2);
			final int _10 = _9.executeUpdate();
			try (final java.sql.PreparedStatement _11 = _0.prepareStatement("INSERT INTO FileItems (EntryID, FileID, ContentType, OriginalFileName)\r\n\t\t\tVALUES (?, ?, ?, ?)")) {
			_11.setLong(1, _1);
			_11.setLong(2, _2);
			_11.setString(3, _3);
			_11.setString(4, _4);
			final int _12 = _11.executeUpdate();
			return _12;
}
}
}
}
	}
	public int updateEntryTitle(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("title") String _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("UPDATE Entries SET Title = ? WHERE EntryID = ?")) {
			_3.setString(1, _2);
			_3.setLong(2, _1);
			final int _4 = _3.executeUpdate();
			return _4;
}
	}
	public java.util.List<net.metanotion.contentstore.Header> listEntryHeaders(final java.sql.Connection _0, final @javax.inject.Named("id") long _1, final @javax.inject.Named("pageSize") int _2, final @javax.inject.Named("pageOffset") int _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("SELECT c.Name AS Title, c.CollectionID AS id\r\n\t\t\tFROM Attachments a\r\n\t\t\t\tJOIN Collections c\r\n\t\t\t\t\tON (a.CollectionID = c.CollectionID)\r\n\t\t\tWHERE a.EntryID = ?\r\n\t\t\tORDER BY a.AddedDate DESC\r\n\t\t\tLIMIT ?\r\n\t\t\tOFFSET ?")) {
			_4.setLong(1, _1);
			_4.setInt(2, _2);
			_4.setInt(3, _3);
			try (final java.sql.ResultSet _5 = _4.executeQuery()) {
			final java.util.List<net.metanotion.contentstore.Header> _6 = new java.util.ArrayList<net.metanotion.contentstore.Header>();
		final net.metanotion.util.reflect.GetInitializer<net.metanotion.contentstore.Header> _7 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.contentstore.Header.class, this.types);
		while(_5.next()) {
					final net.metanotion.util.reflect.Initializer<net.metanotion.contentstore.Header> _8 = _7.initializer();
					_8.put("Title", _5.getString("Title"));
					_8.put("id", _5.getLong("id"));
					_6.add(_8.instance());
		}
			return _6;
}
}
	}
	public int moveEntry(final java.sql.Connection _0, final @javax.inject.Named("eid") long _1, final @javax.inject.Named("oldCid") long _2, final @javax.inject.Named("newCid") long _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("UPDATE Entries\r\n\t\t\tSET CollectionID = ?\r\n\t\t\tWHERE EntryID = ? AND CollectionID = ?")) {
			_4.setLong(1, _3);
			_4.setLong(2, _1);
			_4.setLong(3, _2);
			final int _5 = _4.executeUpdate();
			return _5;
}
	}
	public long reserveCID(final java.sql.Connection _0) throws Exception {
			try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT nextval('Collections_CollectionID_seq') AS CID")) {
			try (final java.sql.ResultSet _2 = _1.executeQuery()) {
		_2.next();
			return _2.getLong(1);
}
}
	}
	public int finalizeFile(final java.sql.Connection _0, final @javax.inject.Named("fid") long _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("DELETE FROM FileItemDeleteQueue WHERE FileId = ?")) {
			_2.setLong(1, _1);
			final int _3 = _2.executeUpdate();
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("DELETE FROM FileIds WHERE FileId = ? AND Src = 'D'")) {
			_4.setLong(1, _1);
			final int _5 = _4.executeUpdate();
			return _5;
}
}
	}
	public java.util.List<net.metanotion.contentstore.SQLEntry> listEntries(final java.sql.Connection _0, final @javax.inject.Named("cid") long _1, final @javax.inject.Named("pageSize") int _2, final @javax.inject.Named("pageOffset") int _3) throws Exception {
			try (final java.sql.PreparedStatement _4 = _0.prepareStatement("SELECT\te.Title AS Title,\r\n\t\t\t\t\te.EntryID AS id,\r\n\t\t\t\t\te.AddedDate AS AddedDate,\r\n\t\t\t\t\tCOALESCE(ti.ContentType, fi.ContentType) AS ContentType,\r\n\t\t\t\t\tCOALESCE(ti.UpdateDate, fi.UpdateDate) AS UpdateDate,\r\n\t\t\t\t\tti.Content AS TextValue,\r\n\t\t\t\t\tfi.OriginalFileName AS FileName,\r\n\t\t\t\t\tfi.FileID AS FileID,\r\n\t\t\t\t\t? AS cid\r\n\t\t\tFROM Entries e\r\n\t\t\t\tLEFT JOIN TextItems ti\r\n\t\t\t\t\tON (e.EntryID = ti.EntryID)\r\n\t\t\t\tLEFT JOIN FileItems fi\r\n\t\t\t\t\tON (e.EntryID = fi.EntryID)\r\n\t\t\tWHERE e.CollectionID = ?\r\n\t\t\tORDER BY e.AddedDate DESC\r\n\t\t\tLIMIT ?\r\n\t\t\tOFFSET ?")) {
			_4.setLong(1, _1);
			_4.setLong(2, _1);
			_4.setInt(3, _2);
			_4.setInt(4, _3);
			try (final java.sql.ResultSet _5 = _4.executeQuery()) {
			final java.util.List<net.metanotion.contentstore.SQLEntry> _6 = new java.util.ArrayList<net.metanotion.contentstore.SQLEntry>();
		final net.metanotion.util.reflect.GetInitializer<net.metanotion.contentstore.SQLEntry> _7 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.contentstore.SQLEntry.class, this.types);
		while(_5.next()) {
					final net.metanotion.util.reflect.Initializer<net.metanotion.contentstore.SQLEntry> _8 = _7.initializer();
					_8.put("Title", _5.getString("Title"));
					_8.put("id", _5.getLong("id"));
					_8.put("AddedDate", _5.getDate("AddedDate"));
					_8.put("ContentType", _5.getString("ContentType"));
					_8.put("UpdateDate", _5.getDate("UpdateDate"));
					_8.put("TextValue", _5.getString("TextValue"));
					_8.put("FileName", _5.getString("FileName"));
					_8.put("FileID", _5.getLong("FileID"));
					_8.put("cid", _5.getLong("cid"));
					_6.add(_8.instance());
		}
			return _6;
}
}
	}
	public java.util.List<Long> readDeleteQueue(final java.sql.Connection _0, final @javax.inject.Named("fid") long _1, final @javax.inject.Named("maxFiles") int _2) throws Exception {
			try (final java.sql.PreparedStatement _3 = _0.prepareStatement("SELECT FileId\r\n\t\t\tFROM FileItemDeleteQueue\r\n\t\t\tWHERE FileId >= ?\r\n\t\t\tORDER BY FileId ASC\r\n\t\t\tLIMIT ?")) {
			_3.setLong(1, _1);
			_3.setInt(2, _2);
			try (final java.sql.ResultSet _4 = _3.executeQuery()) {
			final java.util.List<Long> _5 = new java.util.ArrayList<Long>();
		while(_4.next()) {
					_5.add(_4.getLong(1));
		}
			return _5;
}
}
	}
	public long lookupCollection(final java.sql.Connection _0, final @javax.inject.Named("name") String _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT CollectionID FROM Collections WHERE Name = ?")) {
			_2.setString(1, _1);
			try (final java.sql.ResultSet _3 = _2.executeQuery()) {
		_3.next();
			return _3.getLong(1);
}
}
	}
	public String getCollection(final java.sql.Connection _0, final @javax.inject.Named("id") long _1) throws Exception {
			try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT Name FROM Collections WHERE CollectionID = ?")) {
			_2.setLong(1, _1);
			try (final java.sql.ResultSet _3 = _2.executeQuery()) {
		_3.next();
			return _3.getString(1);
}
}
	}
}