From ba62135f17e07a1c3a4f73502fd5ac3a3ebc4120 Mon Sep 17 00:00:00 2001
From: Matthew Lam <minghinmatthew.lam@gmail.com>
Date: Sat, 2 Nov 2024 15:18:52 -0400
Subject: [PATCH 1/2] postgres updates

---
 core/src/adapters/postgres.ts | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/core/src/adapters/postgres.ts b/core/src/adapters/postgres.ts
index d7180c0a363..ceecb140982 100644
--- a/core/src/adapters/postgres.ts
+++ b/core/src/adapters/postgres.ts
@@ -107,6 +107,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
     }): Promise<Memory[]> {
         const client = await this.pool.connect();
         try {
+            if (params.roomIds.length === 0) return [];
             const placeholders = params.roomIds
                 .map((_, i) => `$${i + 2}`)
                 .join(", ");
@@ -304,7 +305,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
       `;
 
             if (params.unique) {
-                sql += " AND unique = true";
+                sql += ` AND "unique" = true`;
             }
 
             sql += ` AND 1 - (embedding <-> $3) >= $4
@@ -360,7 +361,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
             }
 
             if (params.unique) {
-                sql += " AND unique = true";
+                sql += ` AND "unique" = true`;
             }
 
             if (params.agentId) {
@@ -382,9 +383,9 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
             return rows.map((row) => ({
                 ...row,
                 content:
-                    typeof rows.content === "string"
-                        ? JSON.parse(rows.content)
-                        : rows.content,
+                    typeof row.content === "string"
+                        ? JSON.parse(row.content)
+                        : row.content,
             }));
         } finally {
             client.release();
@@ -759,7 +760,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
         try {
             let sql = `SELECT COUNT(*) as count FROM memories WHERE type = $1 AND "roomId" = $2`;
             if (unique) {
-                sql += " AND unique = true";
+                sql += ` AND "unique" = true`;
             }
 
             const { rows } = await client.query(sql, [tableName, roomId]);
@@ -796,7 +797,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
     async getRoomsForParticipants(userIds: UUID[]): Promise<UUID[]> {
         const client = await this.pool.connect();
         try {
-            const placeholders = userIds.map((_, i) => `${i + 1}`).join(", ");
+            const placeholders = userIds.map((_, i) => `$${i + 1}`).join(", ");
             const { rows } = await client.query(
                 `SELECT DISTINCT "roomId" FROM participants WHERE "userId" IN (${placeholders})`,
                 userIds

From 3b2d1295665ff8f34fa991f9f5fc6e3dfbf7a94e Mon Sep 17 00:00:00 2001
From: Matthew Lam <minghinmatthew.lam@gmail.com>
Date: Sat, 2 Nov 2024 15:21:55 -0400
Subject: [PATCH 2/2] fix timestamps

---
 core/src/adapters/postgres.ts | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/core/src/adapters/postgres.ts b/core/src/adapters/postgres.ts
index ceecb140982..d3375eeb641 100644
--- a/core/src/adapters/postgres.ts
+++ b/core/src/adapters/postgres.ts
@@ -350,14 +350,14 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
 
             if (params.start) {
                 paramCount++;
-                sql += ` AND "createdAt" >= to_timestamp($${paramCount / 1000})`;
-                values.push(params.start);
+                sql += ` AND "createdAt" >= to_timestamp($${paramCount})`;
+                values.push(params.start/1000);
             }
 
             if (params.end) {
                 paramCount++;
-                sql += ` AND "createdAt" <= to_timestamp($${paramCount / 1000})`;
-                values.push(params.end);
+                sql += ` AND "createdAt" <= to_timestamp($${paramCount})`;
+                values.push(params.end/1000);
             }
 
             if (params.unique) {