Обсуждение: New eRServer patch/fork release
A new build of my modifications to eRServer is available at http://grayling.ravensfield.com. Changes/fixes: * Fixed existing column as unique problem I had a bug in the replication threads that manifested itself if you used existing columns as the unique column. Caused everything to stop. * Added RMI signaling structure There is now an RMI-based signaling structure to the whole thing. Currently, it only supports shutdown, but will eventually support reseting the various column caches and table maps so you can modify table schemas without having to restart erserver. There is no security at all on it yet. I probably ought to require the master password for remote operations. * Added org.psotgresql.ers.ERSCtl Signaling app. * Modified ers_ctl to use the shutdown signal Cleaner way to shut the thing down. Using the current ers_ctl will still work fine (except when it screws up on its own accord). * Added org.postgresql.ers.ERSExecSQL This will execute an arbitrary SQL statement on the master and slaves (default is slaves first). When I get the signaling down proper, this will allow you to add columns etc. on the fly. * Added by-table unique column setting while adding multiple tables from a file or command line So you can do the following things: java org.postgresql.ers.ERSAddTable table1 table2,col1 which will add table1 using '_ers_uniq' and table2 using 'col1', or: java org.postgresql.ers.ERSAddTable -u _uniq table1 table2,col1 table3 which will add table1 and table3 with '_uniq' and table2 with col1. Questions, comments, bugs, flames, etc. let me know. -------------------- Andrew Rawnsley President The Ravensfield Digital Resource Group, Ltd. (740) 587-0114 www.ravensfield.com
On Thu, Nov 06, 2003 at 10:21:32AM -0500, Andrew Rawnsley wrote: > > A new build of my modifications to eRServer is available at > http://grayling.ravensfield.com. Changes/fixes: Could you add these patches to the gborg site? That way people who go there to test it out won't overlook it. > * Added org.postgresql.ers.ERSExecSQL > This will execute an arbitrary SQL statement on the master and slaves > (default is slaves first). When I get the signaling down proper, this > will allow > you to add columns etc. on the fly. You'll need to change the engine. The engine currently only looks for columns at the time of start-up. After that, it never looks again, so the columns will be added, but not replicated. A ---- Andrew Sullivan 204-4141 Yonge Street Afilias Canada Toronto, Ontario Canada <andrew@libertyrms.info> M2P 2A8 +1 416 646 3304 x110
On Nov 6, 2003, at 10:48 AM, Andrew Sullivan wrote: > On Thu, Nov 06, 2003 at 10:21:32AM -0500, Andrew Rawnsley wrote: >> >> A new build of my modifications to eRServer is available at >> http://grayling.ravensfield.com. Changes/fixes: > > Could you add these patches to the gborg site? That way people who > go there to test it out won't overlook it. > Sure. Should have thought to do that. >> * Added org.postgresql.ers.ERSExecSQL >> This will execute an arbitrary SQL statement on the master and slaves >> (default is slaves first). When I get the signaling down proper, this >> will allow >> you to add columns etc. on the fly. > > You'll need to change the engine. The engine currently only looks > for columns at the time of start-up. After that, it never looks > again, so the columns will be added, but not replicated. > Yeah, actually reseting the column cache in the slave processor and the table map in the master is easy. Getting to those objects through the rather obtuse layering of classes from where I put the signaling point is the trickier part. > > A > ---- > Andrew Sullivan 204-4141 Yonge Street > Afilias Canada Toronto, Ontario Canada > <andrew@libertyrms.info> M2P 2A8 > +1 416 646 3304 x110 > > _______________________________________________ > Erserver-general mailing list > Erserver-general@gborg.postgresql.org > http://gborg.postgresql.org/mailman/listinfo/erserver-general > -------------------- Andrew Rawnsley President The Ravensfield Digital Resource Group, Ltd. (740) 587-0114 www.ravensfield.com