From 42dd7f238cd577f1ab70804768906815bf0c7862 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Mon, 28 Jan 2013 23:24:35 +0000
Subject: [PATCH] Send newest messages first.

This removes the need to send a start time for each subscription; new
subscribers will receive old messages if and only if there's bandwidth.
---
 briar-core/src/net/sf/briar/db/JdbcDatabase.java | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/briar-core/src/net/sf/briar/db/JdbcDatabase.java b/briar-core/src/net/sf/briar/db/JdbcDatabase.java
index 96db7bd824..d96a0ae6a4 100644
--- a/briar-core/src/net/sf/briar/db/JdbcDatabase.java
+++ b/briar-core/src/net/sf/briar/db/JdbcDatabase.java
@@ -1363,8 +1363,7 @@ abstract class JdbcDatabase implements Database<Connection> {
 					+ " JOIN statuses AS s"
 					+ " ON m.messageId = s.messageId"
 					+ " WHERE m.contactId = ? AND status = ?"
-					+ " ORDER BY timestamp"
-					+ " LIMIT ?";
+					+ " ORDER BY timestamp DESC LIMIT ?";
 			ps = txn.prepareStatement(sql);
 			ps.setInt(1, c.getInt());
 			ps.setShort(2, (short) Status.NEW.ordinal());
@@ -1392,8 +1391,7 @@ abstract class JdbcDatabase implements Database<Connection> {
 					+ " AND timestamp >= expiry"
 					+ " AND status = ?"
 					+ " AND sendability > ZERO()"
-					+ " ORDER BY timestamp"
-					+ " LIMIT ?";
+					+ " ORDER BY timestamp DESC LIMIT ?";
 			ps = txn.prepareStatement(sql);
 			ps.setInt(1, c.getInt());
 			ps.setShort(2, (short) Status.NEW.ordinal());
@@ -1621,7 +1619,7 @@ abstract class JdbcDatabase implements Database<Connection> {
 					+ " JOIN statuses AS s"
 					+ " ON m.messageId = s.messageId"
 					+ " WHERE m.contactId = ? AND status = ?"
-					+ " ORDER BY timestamp";
+					+ " ORDER BY timestamp DESC";
 			ps = txn.prepareStatement(sql);
 			ps.setInt(1, c.getInt());
 			ps.setShort(2, (short) Status.NEW.ordinal());
@@ -1653,7 +1651,7 @@ abstract class JdbcDatabase implements Database<Connection> {
 					+ " AND timestamp >= expiry"
 					+ " AND status = ?"
 					+ " AND sendability > ZERO()"
-					+ " ORDER BY timestamp";
+					+ " ORDER BY timestamp DESC";
 			ps = txn.prepareStatement(sql);
 			ps.setInt(1, c.getInt());
 			ps.setShort(2, (short) Status.NEW.ordinal());
-- 
GitLab