I managed to get smssrv working with oracle.
Here goes the diff of smslib-v3.3.3 Database.java
I also have created an "oracle" value for the db1.type.

The good news is that this also works for PostgreSQL.

my db interface definition:


interface.0=db1, Database
db1.url=jdbc:postgresql:sms
db1.driver=org.postgresql.Driver
db1.username=lalo
db1.password=xxxxxx
db1.type=oracle
db1.tables.sms_in=smsserver_in
db1.tables.sms_out=smsserver_out
db1.tables.calls=smssvr_calls
db1.batch_size=50
db1.retries=2
db1.update_outbound_on_statusreport=no

Database.java.diff
---------------------------------------------------------------------------------------
98c98,99
<               rs = cmd.executeQuery("select * from " + getProperty
("tables.calls", "smsserver_calls") + " where id = -1");
---
>               if (getProperty("type").equalsIgnoreCase("oracle"))     rs = 
> cmd.executeQuery("select t.* from " + getProperty("tables.calls", 
> "smsserver_calls") + " t where id = -1");
>               else rs = cmd.executeQuery("select * from " + 
> getProperty("tables.calls", "smsserver_calls") + " where id = -1");
118c119,120
<               rs = cmd.executeQuery("select * from " + getProperty
("tables.sms_in", "smsserver_in") + " where id = -1");
---
>               if (getProperty("type").equalsIgnoreCase("oracle"))     rs = 
> cmd.executeQuery("select t.* from " + getProperty("tables.sms_in", 
> "smsserver_in") + " t where id = -1");
>               else rs = cmd.executeQuery("select * from " + 
> getProperty("tables.sms_in", "smsserver_in") + " where id = -1");
221c223,225
<                       rs = cmd.executeQuery("select * from " +
getProperty("tables.sms_out", "smsserver_out") + " where status = 'U'
order by priority desc");
---
>                       if (getProperty("type").equalsIgnoreCase("mysql")) rs = 
> cmd.executeQuery("select * from " + getProperty("tables.sms_out", 
> "smsserver_out") + " where status = 'U' order by priority, id");
>                       else if 
> (getProperty("type").equalsIgnoreCase("oracle")) rs = 
> cmd.executeQuery("select t.* from " + getProperty("tables.sms_out", 
> "smsserver_out") + " t where status = 'U' order by priority desc, id");
>                       else rs = cmd.executeQuery("select * from " + 
> getProperty("tables.sms_out", "smsserver_out") + " where status = 'U' order 
> by priority desc, id");
262,263c266,267
<                                       if ((rs.getString
("originator") != null) && (rs.getString("originator").length() > 0))
msg.setFrom(rs.getString("originator").trim());
<                                       msg.setGatewayId(rs.getString
("gateway_id").trim());
---
>                                       if (rs.getString("originator") != null) 
> msg.setFrom(rs.getString("originator"));
>                                       
> msg.setGatewayId(rs.getString("gateway_id"));
287c291,292
<               rs = cmd.executeQuery("select * from " + getProperty
("tables.sms_out", "smsserver_out") + " where id = " + getMessageCache
().get(msg.getMessageId()));
---
>               if (getProperty("type").equalsIgnoreCase("oracle"))     rs = 
> cmd.executeQuery("select t.* from " + getProperty("tables.sms_out", 
> "smsserver_out") + " t where id = " + 
> getMessageCache().get(msg.getMessageId()));
>               else rs = cmd.executeQuery("select * from " + 
> getProperty("tables.sms_out", "smsserver_out") + " where id = " + 
> getMessageCache().get(msg.getMessageId()));

---------------------------------------------------------------------------
This is the first time I submit a patch, so please tell me if it needs
to be done diferent.

Lalo


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SMSLib User Group" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/SMSLib?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to