You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(19) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(3) |
Feb
(35) |
Mar
|
Apr
(10) |
May
(3) |
Jun
|
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(13) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(7) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(26) |
2013 |
Jan
(6) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(10) |
Jul
(1) |
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2020 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Andreas K. <and...@ac...> - 2012-05-30 15:47:12
|
[[ Notes: Colin Walker of F5 is confirmed as our Keynote speaker. http://www.f5.com ]] 19th Annual Tcl/Tk Conference (Tcl'2012) http://www.tcl.tk/community/tcl2012/ November 12 - 16, 2012 Holiday Inn Chicago Mart Plaza 350 West Mart Center Drive Chicago, Illinois, USA Important Dates: Abstracts and proposals due August 27, 2012 Notification to authors September 10, 2012 WIP and BOF reservations open August 6, 2012 Author materials due October 29, 2012 Tutorials Start November 12, 2012 Conference starts November 14, 2012 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2012 will be held in Chicago, Illinois, USA from November 12 - 16, 2012. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 27, 2012. Authors of accepted abstracts will have until October 29, 2012 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 6, 2012. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2012. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2012/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Site/Facilities Chair Arjen Markus Deltares Brian Griffin Mentor Graphics Donal Fellows University of Manchester Gerald Lester KnG Consulting, LLC Jeffrey Hobbs ActiveState Software Inc. Kevin Kenny GE Global Research Center Larry Virden Mike Doyle National Museum of Health & Medicine, Chicago Ron Fox NSCL/FRIB Michigan State University Steve Landers Digital Smarties Contact Information tcl...@go... Tcl'2012 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2012-04-02 19:13:11
|
19th Annual Tcl/Tk Conference (Tcl'2012) http://www.tcl.tk/community/tcl2012/ November 12 - 16, 2012 Holiday Inn Chicago Mart Plaza 350 West Mart Center Drive Chicago, Illinois, USA Important Dates: Abstracts and proposals due August 27, 2012 Notification to authors September 10, 2012 WIP and BOF reservations open August 6, 2012 Author materials due October 29, 2012 Tutorials Start November 12, 2012 Conference starts November 14, 2012 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2012 will be held in Chicago, Illinois, USA from November 12 - 16, 2012. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 27, 2012. Authors of accepted abstracts will have until October 29, 2012 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 6, 2012. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2012. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2012/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Site/Facilities Chair Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle National Museum of Health & Medicine, Chicago Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Contact Information tcl...@go... Tcl'2012 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2011-08-05 21:00:44
|
[[ Get your papers in. The deadline for abstracts and proposals is three weeks away. ]] 18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 26, 2011. Authors of accepted abstracts will have until October 9, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. TCLCA receives first publication rights, and expects that this is the first time the paper is published. Not a retread from another conference, etc. TCLCA further receives subsequent publication rights, to handle the Publish-On-Demand nature of Lulu, our vendor for the dissemination of the conference proceedings. All other rights are retained by the author. You can put this on your website, include it in a book, expand it into a novel, sell the movie rights, etc. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites can be made by calling (703) 686-1100. Be certain to mention that you are with the Tcl/Tk Conference to get the Tcl/Tk Conference room rate. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2011-06-17 16:19:25
|
[[ Important Changes: The Conference Registration Page is live. Regarding special events we are looking into arranging a trip to the Air and Space Museum out near Dulles. This is currently a very tentative thing. If a local person would like to help with this please talk to "cl...@cf...". ]] 18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 26, 2011. Authors of accepted abstracts will have until October 9, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites can be made by calling (703) 686-1100. Be certain to mention that you are with the Tcl/Tk Conference to get the Tcl/Tk Conference room rate. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: <to...@tu...> - 2011-04-13 06:16:47
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, Apr 12, 2011 at 09:16:00AM -0400, Kevin Kenny wrote: > On 04/12/2011 09:21 AM, to...@tu... wrote: [...] >> Thanks, and I'll report back any insights. Turns out "something" corrupted my template1 (this "something" being most probably myself :-/ Thus, there were some bogus entries in pg_cast in all databases I was using to do the tests. I'm very sorry for the noise. Thanks and regards - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFNpUTlBcgs9XrR2kYRAlp0AJ9VuRm+dbx4P95hUNeG5SMofLqqKgCdGlrx cEok6CSqGGj4AKJIZU3yTzs= =Qx12 -----END PGP SIGNATURE----- |
From: <to...@tu...> - 2011-04-12 13:00:00
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, Apr 12, 2011 at 08:50:35AM -0400, Kevin Kenny wrote: > On 04/12/2011 02:05 AM, to...@tu... wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On Mon, Apr 11, 2011 at 10:48:09PM -0400, Kevin Kenny wrote: >>> On 04/11/2011 02:48 AM, to...@tu... wrote: >>>> What happens is that PostgreSQL sets the type of the parameter to >>>> "unspecified" [...] >> >>> Can you give me the schema for the 'besitzer' table? >> >> Yes, sorry. Here it is: >> >> CREATE TABLE besitzer ( >> id SERIAL PRIMARY KEY, >> b_name VARCHAR >> ); >> >> ...just cut down to bare minimum (it's wht I used in preparing this >> example, though)- > > This is feeling more and more like a PostgreSQL bug. Here is what I'm > doing from the command line, and I'm not seeing your issue. Are you > doing something different? I guess the difference is in the PostgreSQL version. I took the question to the PostgreSQL general mailing list, in any case (I'd have to install a newer PostgreSQL here to check my guess and are a bit tight on time the next couple of days, but I'll do eventually, for sure). > $ psql tdbc_test > psql (8.4.7) > Type "help" for help. > > tdbc_test=# create table example(id serial primary key, name varchar); > NOTICE: CREATE TABLE will create implicit sequence "example_id_seq" for > serial column "example.id" > NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index > "example_pkey" for table "example" > CREATE TABLE > tdbc_test=# prepare foo as select id, name from example where name = $1; > PREPARE > tdbc_test=# insert into example(name) values('fred'); > INSERT 0 1 > tdbc_test=# execute foo('fred'); > id | name > ----+------ > 1 | fred > (1 row) > > tdbc_test=# drop table example; > DROP TABLE > tdbc_test=# \q No, that's exactly the example which fails on my version (8.4.5). Since it's reproducible with psql alone and no tdbc, I'd say it's a missing entry in pg_cast which got added between 8.4.5 and 8.4.7. Tdbc is innocent :-) Thanks, and I'll report back any insights. Regards - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFNpFHiBcgs9XrR2kYRApg/AJ46Cjxi8D8KuOq8RuymQUGxwkRRdACcCLe6 RePbE/bUCQgiM4dsmOtvBnE= =24XX -----END PGP SIGNATURE----- |
From: Kevin K. <kk...@ny...> - 2011-04-12 12:50:42
|
On 04/12/2011 02:05 AM, to...@tu... wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Mon, Apr 11, 2011 at 10:48:09PM -0400, Kevin Kenny wrote: >> On 04/11/2011 02:48 AM, to...@tu... wrote: >>> What happens is that PostgreSQL sets the type of the parameter to >>> "unspecified" [...] > >> Can you give me the schema for the 'besitzer' table? > > Yes, sorry. Here it is: > > CREATE TABLE besitzer ( > id SERIAL PRIMARY KEY, > b_name VARCHAR > ); > > ...just cut down to bare minimum (it's wht I used in preparing this > example, though)- This is feeling more and more like a PostgreSQL bug. Here is what I'm doing from the command line, and I'm not seeing your issue. Are you doing something different? $ psql tdbc_test psql (8.4.7) Type "help" for help. tdbc_test=# create table example(id serial primary key, name varchar); NOTICE: CREATE TABLE will create implicit sequence "example_id_seq" for serial column "example.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "example_pkey" for table "example" CREATE TABLE tdbc_test=# prepare foo as select id, name from example where name = $1; PREPARE tdbc_test=# insert into example(name) values('fred'); INSERT 0 1 tdbc_test=# execute foo('fred'); id | name ----+------ 1 | fred (1 row) tdbc_test=# drop table example; DROP TABLE tdbc_test=# \q -- 73 de ke9tv/2, Kevin |
From: <to...@tu...> - 2011-04-12 05:44:14
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, Apr 11, 2011 at 10:48:09PM -0400, Kevin Kenny wrote: > On 04/11/2011 02:48 AM, to...@tu... wrote: >> What happens is that PostgreSQL sets the type of the parameter to >> "unspecified" [...] > Can you give me the schema for the 'besitzer' table? Yes, sorry. Here it is: CREATE TABLE besitzer ( id SERIAL PRIMARY KEY, b_name VARCHAR ); ...just cut down to bare minimum (it's wht I used in preparing this example, though)- > I'm not seeing the same phenomenon that you are. I *do* get it > for a statement like: > > prepare foo as select $1 > > where there is actually no information about $1's data type. (Please > log a bug at tdbc.tcl.tk about the cast syntax :foo::VARCHAR -- that's > an easy change.) > > But I don't get the error for statements like > > select id from people where name = $1 > > In that case, it correctly infers the 'text' type for 'name' and > transfers it successfully. Aha. So it seems it'd work if b_name above were TEXT instead of VARCHAR [runs away for testing...] HAH. That's it. Declaring the colum as TEXT instead of VARCHAR does the trick. This one doesn't make trouble :-) So a workaround would be to use TEXT instead of VARCHAR. They are the same for PostgreSQL anyway. > For what it's worth, my PostgreSQL server reports 8.4.7 and not 8.4.5, > so maybe there was a bug fixed along the way? Hm. I don't know. What's interesting is that psql doesn't complain in this case either: | tomas@floh:~$ psql foo => psql (8.4.5) => Type "help" for help. | | foo=# prepare muh as select id, b_name from blub where b_name = $1; => PREPARE (sorry for the name changes :-/ > Are you set up to build tdbc? If I give you source patches, can you > test them? I have a few ideas for potential fixes. I'd glad to help in any way, I'm a big fan of Tdbc. On the other hand, it's strange VARCHAR and TEXT behave so differently, so the right thing might be to take it to the PostgreSQL folks. I'll keep you in the loop. Thanks for looking into it - -- tomás > > -- > 73 de ke9tv/2, Kevin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD4DBQFNo+u/Bcgs9XrR2kYRAg51AJ9/N/kqIKBuKAYV5qpPf6XkzErtMACUDIA+ p+yJptjlnCjktLho7CJ49Q== =S3WK -----END PGP SIGNATURE----- |
From: Kevin K. <kk...@ny...> - 2011-04-12 02:48:16
|
On 04/11/2011 02:48 AM, to...@tu... wrote: > What happens is that PostgreSQL sets the type of the parameter to > "unspecified" and has not enough hints to make better guesses. With psql > you can see something similar: > > | tomas@floh:~$ psql husch > => psql (8.4.5) > => Type "help" for help. > | > | husch=# prepare foo as select id, b_name from besitzer where b_name = $1; > => ERROR: could not determine data type of parameter $1 > > But this, for example, works: > > | husch=# prepare foo as select id, b_name from besitzer where b_name = '$1'; > | PREPARE > > I have an ugly work-around for that at the moment (concatenating strings > with '' as in SELECT ... WHERE b_name = :foo || ''. Traditional > PostgreSQL casting (à la :foo::VARCHAR) is even uglier and dies a > horrible death because the driver tries to make another parameter out of > that). Can you give me the schema for the 'besitzer' table? I'm not seeing the same phenomenon that you are. I *do* get it for a statement like: prepare foo as select $1 where there is actually no information about $1's data type. (Please log a bug at tdbc.tcl.tk about the cast syntax :foo::VARCHAR -- that's an easy change.) But I don't get the error for statements like select id from people where name = $1 In that case, it correctly infers the 'text' type for 'name' and transfers it successfully. For what it's worth, my PostgreSQL server reports 8.4.7 and not 8.4.5, so maybe there was a bug fixed along the way? Are you set up to build tdbc? If I give you source patches, can you test them? I have a few ideas for potential fixes. -- 73 de ke9tv/2, Kevin |
From: Andreas K. <and...@ac...> - 2011-04-11 19:08:51
|
18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 30, 2011. Authors of accepted abstracts will have until October 14, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: <to...@tu...> - 2011-04-11 06:27:02
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Since Postgresql about 8.3 (maybe its 8.2, I'm not quite sure), type guessing has become more stringent [1]. This has a nasty effect on prepared statements as TDBC usually does them: | tomas@floh:~$ tclsh8.6 | % package require tdbc => 1.0b14 | % package require tdbc::postgres => 1.0b14 | % set dbconn [tdbc::postgres::connection new -database husch -host localhost -user husch -password liuwah3U] => ::oo::Obj9 | % set stmt [$dbconn prepare {select id, b_name from besitzer where b_name = :foo}] => could not determine data type of parameter $1 What happens is that PostgreSQL sets the type of the parameter to "unspecified" and has not enough hints to make better guesses. With psql you can see something similar: | tomas@floh:~$ psql husch => psql (8.4.5) => Type "help" for help. | | husch=# prepare foo as select id, b_name from besitzer where b_name = $1; => ERROR: could not determine data type of parameter $1 But this, for example, works: | husch=# prepare foo as select id, b_name from besitzer where b_name = '$1'; | PREPARE I have an ugly work-around for that at the moment (concatenating strings with '' as in SELECT ... WHERE b_name = :foo || ''. Traditional PostgreSQL casting (à la :foo::VARCHAR) is even uglier and dies a horrible death because the driver tries to make another parameter out of that). I've read about paramtype, but I'm stuck on how to use that *before* I've got a statement object. Any hints? Thanks - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFNoqRCBcgs9XrR2kYRAlHLAJ43QTXMk678Prr3+ldbGOvV3INeZgCeL8FQ rONBBI5esDXFYTO3m5QOC4Q= =aJpL -----END PGP SIGNATURE----- |
From: Kevin K. <kk...@ny...> - 2011-02-21 04:35:05
|
Dirk, I've finally managed to make a version of TDBC that I think will allow for you to work around stored procedure limitations. (I'm still working on making OUT and INOUT parameters work; that turns out to be seriously tricky, since ODBC isn't really willing to tell a caller in advance whether a parameter in an unknown statement is IN, OUT or INOUT.) But you should be able to do what you suggested and set up a call like: set name fred set data [$connection allrows { DECLARE @x INTEGER; EXECUTE lookup_person :name, @x; SELECT @x AS result; }] and get a row like {result 1-518-555-1212} Essentially, the changes are: - @ is no longer a special character in the SQL accepted by tdbc::odbc (or tdbc::postgres or tdbc::mysql). This allows for user variables on those three drivers. - tdbc::odbc and tdbc::sqlite3 now allow semicolons in statements. - All drivers now have a 'nextresults' method on result sets so that a statement can return multiple groups of results (either because it has multiple semicolon-separated pieces, or because a stored procedure returns multiple cursors). 'nextresults' is called after processing a set of rows ('nextrow', 'nextlist' or 'nextdict' has returned 0) and returns 1 if there's another set of rows to process, or 0 if the statement is completely finished. - columns and rowcount on result sets are updated at 'nextresults' - 'allrows' and 'foreach' methods continue as long as 'nextresults' returns 1. The '-columnsvariable' gets updated every time 'nextresults' is called. If this gives you enough to make progress, let me know and I'll try to roll up another beta release. And I'll try to keep plugging on real OUTPUT parameters! -- 73 de ke9tv/2, Kevin |
From: Kevin K. <kk...@ny...> - 2011-01-16 22:42:10
|
Gentlebeings, I've managed thoroughly to embarrass myself by letting TDBC escape with its stored procedure support thought out only very incompletely. The following document details what's wrong, and my best guesses about how to fix it. I welcome comments; I welcome programming assistance even more. -- 73 de ke9tv/2, Kevin -- TDBC, Stored Procedures and Multiple Results ===== ====== ========== === ======== ======= Introduction. Recent user reports that stored procedures with output parameters don't work in tdbc::odbc have led me to investigate the reasons - and discover, much to my chagrin, that the implementation of the 'preparecall' method and associated handling simply was never completed, and the specification is quite loose - too loose to be usable. For this reason, I'm circulating this email to explore the ideas of how it ought to work, and try to move toward specifying the missing pieces. I've half a mind just to leave them out, on the grounds that they are not part of the "95% solution" that tdbc was intended to be, but I've had more than my share of experience with the "jackbooted thug" style of database administrator who supports access to his database only through SP calls, and so I'm fairly convinced that we need to have *some* sort of support for them. I. Multiple result sets: the easy part. The first, and easiest, missing piece to full stored-procedure support is to recognize that several databases (at least SQL Server, MySQL and Oracle) allow stored procedures to return multiple result sets. (Note: I am not referring to 'refcursors' in this discussion, just to stored procedures that, for instance, return in order the result of each statement that they execute.) Fortunately, it appears that a fairly simple change to the TDBC API can cover multiple returns from stored procedures: to the result set object, we add the method: $resultSet nextResults which does the following: - discards any unfetched rows in the current result set. - checks if there are further results and returns 0 if there are not. - advances to the next result set - adjusts the internal state so that the 'columns' and 'rowcount' methods act on the next result set - returns 1 The 'foreach' and 'allrows' methods on result sets, statements and connections will be adjusted to have an outer loop that calls 'nextResults', updates any '-columnsvar' with the columns of the next result, and continues to iterate. Only when all results are retrieved will 'foreach' and 'allrows' return. (This behaviour is entirely analogous to what the sqlite3 Tcl bindings do in the case of multiple semicolon-separated statements.) Compatibility of multiple result sets: ODBC and SQL/CLI: The SQLMoreResults call is precisely analogous to the '$resultSet nextResults' method. Some internal changes to the tdbc::odbc driver will be needed to rebind the result set after '$resultSet nextResults' is called. The 'prepare' method on connections will also be changed to allow semicolons in the statement; given that all the result sets can be handled, there is no reason to forbid them. MySQL: The MySQL prepared statement interface does not support multiple result sets, so MySQL stored procedures that return them must be invoked through the unprepared 'mysql_query'. Given the risks of SQL injection attacks, 'mysql_query' shall be used only for stored procedure calls; these will be discussed at greater length below. The 'prepare' method on connections will continue to forbid semicolons in statements. PostgreSQL: All PostgreSQL statements return single results. For PostgreSQL, therefore, the 'nextResults' method will always return 0. The 'prepare' method on connections will continue to forbid semicolons in statements. SQLite: SQLite does not have stored procedures in the ISO sense; it has no CALL statement that potentially expects OUT or INOUT parameters. (It does have SELECT statements that invoke user-defined functions, but these present no problem to the current API.) The proposal here, since SQLite can do it readily, is to allow semicolons in the SQL string presented to the 'prepare' method, and to allow for multiple results if the given statement contains semicolons. Other databases: At present, SQL Server and Oracle are accessed only through the ODBC layer. ODBC provides full stored-procedure support for both of these, and one must imagine that what an ODBC driver can do, a native driver can do as well. Similarly, SQL/CLI (essentially, ODBC) is the primary way to access DB/2. Compatibility with hypothetical drivers for other databases is not considered. II. The 'preparecall' method. Recall that the 'preparecall' method accepts only a simpleminded syntax: :result = functionname(:arg1, :arg2, ...) and procedurename(:arg1, :arg2, ...) A. ODBC and SQL/CLI. The two calls map precisely onto the ODBC 'procedure call escape sequence': {?=call functionname(?, ?, ...)} {call procedurename(?, ?, ...)} Once this mapping is done, the only further requirement is correct handling of multiple results and of OUT and INOUT parameters, which is discussed below. B. MySQL MySQL is rather in disarray with respect to the support of stored procedures. Stored functions are easy: the call :result = functionname(:arg1, :arg2, ...) can be replaced with SELECT functionname(:arg1, :arg2, ...) followed by storing the singleton result of the call into :result. But procedures face the problem that parameter types cannot be determined readily, and this determination is necessary to figure out whether :arg1 needs to be replaced with a quoted string (suitably escaped) or a numeric value. (Remember that stored procedure calls cannot be prepared because of the possibility of multiple result sets.) In MySQL 5.5 and beyond, the parameter data are readily available by querying INFORMATION_SCHEMA.PARAMETERS, and once MySQL 5.5 is more widely deployed, this approach will probably be the best. Nevertheless, MySQL 5.1 is still in widespread use (current Debian and Red Hat Enterprise systems still have it), so this approach does not appear entirely feasible at present. The workaround in MySQL 5.1 is for the client to retrieve the procedure definition and parse it for the parameter types. The definition can be retrieved in one of two ways: either a query of the 'mysql.proc' table or executing a 'SHOW CREATE PROCEDURE' statement. The former requires a DBA to give the user SELECT permission on 'mysql.proc' - something that database hosting providers are likely to be unwilling to do. The latter requires either SELECT permission on 'mysql.proc' or else that the user be the owner of the procedure - again, something that cannot be presumed with a hosted database. The ultimate fallback is to require the Tcl program to do 'paramtype' calls on the statement to supply parameter type information itself. This method is at least guaranteed to work, but is likely to be cumbersome and poorly received. My inclination for MySQL is to depend on INFORMATION_SCHEMA.PARAMETERS, and if a query to this table fails, then require the user to specify the parameters explicitly. Once the parameters are known, the translation of a stored procedure call will work with session variables. A call like procedurename(:param1, :param2, :param3) where :param1 is an IN VARCHAR, :param2 is an INOUT INTEGER, and :param3 is an OUT VARCHAR, would translate to a sequence like: @param1 = 'escaped string' @param2 = numeric-value CALL procedurename(@param1, @param2, @param3) followed by: SELECT @param2, @param3 Support for MySQL stored procedures, because of its complexity (including the fact that prepared statements don't work with stored procedure calls) is likely to be the lowest-priority of anything discussed in this document. As an interim step, I propose to modify the tdbc::mysql driver so that @variable gets passed through into the queries, so that client code can use session variables. I also propose to implement an 'execdirect' method that provides a simple escape to mysql_real_query() so that a client application can invoke SQL code that cannot appear in a prepared statement. (This method will do no parameter substitution, and will return a result set where every column type is 'string': there will be no corresponding 'statement' object.) This will at least provide a workaround so that TDBC client code can access stored procedures, albeit with an inconvenient API (and the need to escape strings - for which an 'escape' method on the 'connection' object will also be provided). C. PostgreSQL Just as with MySQL, stored function calls can be handled readily by translating :result = function(:param1, :param2, ...); into a SELECT statememt. PostgreSQL's view of stored procedures is also slightly eccentric. While procedures can be declared as having OUT and INOUT parameters, they actually have only IN parameters expressed in the CALL statement: the OUT and INOUT parameters appear as columns in the procedure's final result set. A simple CALL procedure(:param1, :param2, ...) where only IN and INOUT parameters are listed, is all that is needed. Once again, parameter type determination is problematic, but in this case, a third party has solved most of the problem for us by providing code at http://www.alberton.info/postgresql_meta_info.html that retrieves a procedure or function's parameter definitions from the somewhat awkward form that they appear in the 'pg_catalog.pg_proc' table. D. SQLite SQLite lacks stored procedures in the SQL/CLI sense. As with the other two databases, function calls :result = functionname(:param1, :param2, ...) can be mapped to SELECT statements. Procedure calls passed to 'preparecall' will return an error with a SQLstate of 42000 (syntax error or access denied). III. Output parameters PostgreSQL and SQLite have no need for specific support of output parameters, since procedure and function outputs appear in the result set. MySQL could also be implemented that way, since we use session variables to stage the output parameters, and then execute a SELECT statement to retrieve them. But ODBC or SQL/CLI requires output parameters to be retrieved using a different API. For ODBC, the parameters will be stored in client-provided buffers after the final result is retrieved (SQLMoreResults returns SQL_NO_DATA or, equivalently, the 'nextresults' method on the result set returns 0.) It is tempting to put output parameters directly into Tcl variables, but it is also quite wrong for several reasons: (1) If the 'execute' call that created a result set supplied a dictionary, then the program does not wish to have parameters in variables at all. (2) If the 'execute' call that created the result set is in a different context from the 'nextresults' call that finally made the output parameters available for inspection, there is no obvious right place to store the parameters. (3) In any case, storing them directly in variables pollutes the namespace. Rather, the 'resultset' object will support an 'outputparams' method that will return a dictionary whose keys are the names of OUT and INOUT parameters, and whose values are the returned parameter values. This method may be called at any time, but values are promised to be present only after 'nextresults' has returned 0. If output parameters in variables are desired, converting them is a simple matter: dict for {name value} [$resultset outputparams] {set $name $value} IV. Timing of the changes. Obviously, all of this is a fair amount of work, and I have little time to spare at the moment. I propose that initially the 'preparecall' method be modified in all drivers to return an error with SQLstate = IM001 (driver does not support the requested function). I next propose to do multiple result sets and output parameters in ODBC (since that is used for the "big iron" databases where stored procedures are most likely to be unavoidable). Next step will be implementing 'escape' and 'execdirect' in MySQL, allowing for session variables in MySQL and PostgreSQL, and perhaps doing stored function calls. Full-up 'preparecall' functionality for PostgreSQL and MySQL will have to come last (with MySQL trailing the pack). Obviously, I welcome comments about whether this is headed in the right direction. And I beg for implementation assistance from any C programmers who are interested in speeding up the work! V. Summary of API changes. connection: preparecall Immediately, return an error with SQLstate=IM001 on all platforms. Lift this restriction as correct implementations of stored procedure calls become available. They will be implemented as sketched above. escape (MySQL only) New method that accepts a string and returns the string with MySQL metacharacters replaced with escape sequences. (Used to protect 'evaldirect' against SQL injection attacks.) evaldirect (MySQL only) New method that accepts a single parameter - a string of SQL code to execute, and evaluates it without preparing. The method will yield a result set, and all columns of the result set will have the 'string' data type. foreach allrows These two convenience methods will be modified to concatenate multple results if multiple results are present. statement: foreach allrows These two convenience methods will be modified to concatenate multple results if multiple results are present. resultset: nextresults This method will advance to the next group of rows in the result set, returning 0 if the current group was the last and 1 if more rows remain. It will also adjust the internal state of the object so that 'columns' and 'rowcount' will reflect the data pertaining to the next set of rows. outputparams After 'nextresults' returns 0, this method may be called to retrieve a dictionary of the OUT and INOUT parameters (keys are parameter names, and values are parameter values). foreach allrows These two convenience methods will be modified to concatenate multple results if multiple results are present. |
From: Andreas K. <and...@ac...> - 2010-09-09 15:48:30
|
17th Annual Tcl/Tk Conference (Tcl'2010) http://www.tcl.tk/community/tcl2010/ October 11 - 15, 2010 Hilton Suites/Conference Center Chicago/Oakbrook Terrace, Illinois, USA Registration for the Conference is open at http://www.tcl.tk/community/tcl2010/reg.html To book a room at the conference hotel at reduced rates follow the link on that page. Note that this offer expires on September 26. Book early. Our schedule can be found at http://www.tcl.tk/community/tcl2010/schedule.html We have special social activites October 15, 2010 - Friday afternoon -- Tour of Fermilab Fermi National Accelerator Laboratory, http://www.fnal.gov/ Tour signup is at the conference, Wednesday, Oct 13. A tour lasts about two hours and begins in Wilson Hall. Visitors view the Laboratory from the 15th floor windows and visit various displays located there. The tour moves to the Linear Accelerator building where visitors see the Cockcroft-Walton, the components in the linear accelerator gallery and the Main Control Room. There is a docent for every 20 people. Registration required since tours must be arranged in advance. October 15, 2010 - Friday evening Dinner-theater at the award winning Drury Lane theater located next to our hotel. Special package price for dinner and theater at $44.00 per person. Regularly $64 per person. Please make reservation and payment at time of registration, or by Wednesday Oct 13 latest (at the conference). "Seven Brides for Seven Brothers" http://www.drurylaneoakbrook.com/ Bill Jenkins is one of the newest and most exciting new directors on the Chicago scene. As Chairman of the Department of Theatre and Dance at Ball State University, he heads one of the nation's largest theatre programs. After admiring his work with other Chicago area theatres, we are very pleased for this opportunity to showcase his talent at Drury Lane. Once Bill shared some of the fresh ideas and insights he had for ÂSeven Brides for Seven BrothersÂ, we knew we would have a great show for the holidays. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Facilities Coordination Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2010 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2010-07-20 19:31:26
|
[[ Get your papers in. The deadline for abstracts and proposals is less than two weeks away. ]] 17th Annual Tcl/Tk Conference (Tcl'2010) http://www.tcl.tk/community/tcl2010/ October 11 - 15, 2010 Hilton Suites/Conference Center Chicago/Oakbrook Terrace, Illinois, USA Important Dates: Abstracts and proposals due August 1, 2010 Notification to authors August 15, 2010 WIP and BOF reservations open August 1, 2010 Author materials due October 1, 2010 Tutorials Start October 11, 2010 Conference starts October 13, 2010 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2010 will be held in Chicago/Oakbrook Terrace, Illinois USA from October 11 - 15, 2010. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the third year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2010. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 15, 2010. Authors of accepted abstracts will have until October 1, 2010 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2010. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2010. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2010/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites and $25 airport shuttle rides can be made at http://www.hilton.com/en/hi/groups/personalized/CHIOTHS-TCL-20101010/index.jhtml?WT.mc_id=POG To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Special Social Activites October 15, 2010 - Friday afternoon -- Tour of Fermilab Fermi National Accelerator Laboratory, http://www.fnal.gov/ A tour lasts about two hours and begins in Wilson Hall. Visitors view the Laboratory from the 15th floor windows and visit various displays located there. The tour moves to the Linear Accelerator building where visitors see the Cockcroft-Walton, the components in the linear accelerator gallery and the Main Control Room. There is a docent for every 20 people. Registration required since tours must be arranged in advance. October 15, 2010 - Friday evening Dinner-theater at the award winning Drury Lane theater located next to our hotel. . Special package price for dinner and theater at $44.00 per person. Regularly $64 per person. "Seven Brides for Seven Brothers" http://www.drurylaneoakbrook.com/ Bill Jenkins is one of the newest and most exciting new directors on the Chicago scene. As Chairman of the Department of Theatre and Dance at Ball State University, he heads one of the nation's largest theatre programs. After admiring his work with other Chicago area theatres, we are very pleased for this opportunity to showcase his talent at Drury Lane. Once Bill shared some of the fresh ideas and insights he had for ÂSeven Brides for Seven BrothersÂ, we knew we would have a great show for the holidays. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Facilities Coordination Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2010 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2010-06-25 14:54:06
|
[[ Important Changes: More information about registration at the hotel. Our location chair has organized special social activities, both geeky (FermiLab Tour) and cultured (Theatre). See below for more. ]] 17th Annual Tcl/Tk Conference (Tcl'2010) http://www.tcl.tk/community/tcl2010/ October 11 - 15, 2010 Hilton Suites/Conference Center Chicago/Oakbrook Terrace, Illinois, USA Important Dates: Abstracts and proposals due August 1, 2010 Notification to authors August 15, 2010 WIP and BOF reservations open August 1, 2010 Author materials due October 1, 2010 Tutorials Start October 11, 2010 Conference starts October 13, 2010 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2010 will be held in Chicago/Oakbrook Terrace, Illinois USA from October 11 - 15, 2010. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the third year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2010. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 15, 2010. Authors of accepted abstracts will have until October 1, 2010 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2010. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2010. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2010/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites and $25 airport shuttle rides can be made at http://www.hilton.com/en/hi/groups/personalized/CHIOTHS-TCL-20101010/index.jhtml?WT.mc_id=POG To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Special Social Activites October 15, 2010 - Friday afternoon -- Tour of Fermilab Fermi National Accelerator Laboratory, http://www.fnal.gov/ A tour lasts about two hours and begins in Wilson Hall. Visitors view the Laboratory from the 15th floor windows and visit various displays located there. The tour moves to the Linear Accelerator building where visitors see the Cockcroft-Walton, the components in the linear accelerator gallery and the Main Control Room. There is a docent for every 20 people. Registration required since tours must be arranged in advance. October 15, 2010 - Friday evening Dinner-theater at the award winning Drury Lane theater located next to our hotel. . Special package price for dinner and theater at $44.00 per person. Regularly $64 per person. "Seven Brides for Seven Brothers" http://www.drurylaneoakbrook.com/ Bill Jenkins is one of the newest and most exciting new directors on the Chicago scene. As Chairman of the Department of Theatre and Dance at Ball State University, he heads one of the nation's largest theatre programs. After admiring his work with other Chicago area theatres, we are very pleased for this opportunity to showcase his talent at Drury Lane. Once Bill shared some of the fresh ideas and insights he had for ÂSeven Brides for Seven BrothersÂ, we knew we would have a great show for the holidays. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Facilities Coordination Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2010 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Steve L. <st...@di...> - 2010-05-19 08:26:11
|
On 19/05/2010, at 4:08 PM, Donal K. Fellows wrote: > On 19/05/2010 07:38, Arnulf Wiedemann wrote: >> I vote for making them tcl'ish then and I was thinking about asking you to >> make the proposed interfaces, so you are talking exactly what I will need for >> my ATWF project > > I also prefer making them Tcl-ish. No need to import other people's > ugliness when we know we don't have to! The documentation could refer to the ugly equivalents for those coming from ODBC et al Steve |
From: Donal K. F. <don...@ma...> - 2010-05-19 08:08:32
|
On 19/05/2010 07:38, Arnulf Wiedemann wrote: > I vote for making them tcl'ish then and I was thinking about asking you to > make the proposed interfaces, so you are talking exactly what I will need for > my ATWF project I also prefer making them Tcl-ish. No need to import other people's ugliness when we know we don't have to! Donal. |
From: Arnulf W. <ar...@wi...> - 2010-05-19 06:38:59
|
Am Dienstag 18 Mai 2010 05:34:42 schrieb Kevin Kenny: > Larry McVoy wrote: > > On Mon, May 17, 2010 at 11:09:50PM -0400, Kevin Kenny wrote: > >> Larry McVoy wrote: > >>> I am _so_ not an expert in all this stuff. > >>> > >>> The only question I have is has anyone looked at what perl/python/etc > >>> do in this area? > >> > >> Yes. > > > > And? What was learned? > > ODBC implements this stuff with the SQLGetPrimaryKeys, > SQLGetForeignKeys, and SQLGetStatistics calls. > Perl's DBI essentially copies what ODBC does directly: it has > 'primary_key_info', 'foreign_key_info' and the (misleadingly named) > 'statistics_info' to query primary keys, foreign keys, and indices > respectively. JDBC also does the same thing -- in a typically > Byzantine fashion. Its 'DatabaseMetaData' interface - which must > be constructed/retrieved by a separate call upon the connection > object - supports 'getPrimaryKeys', 'getImportedKeys', > 'getExportedKeys', 'getCrossReference', and 'getIndexInfo'. > > All three of these define a very similar API to what I propose, with > perhaps slightly more awkward names of things. Perl's documentation > also warns that 'statistics_info' is 'experimental and subject to > change. > > Caveat - All three seem to use the ODBC names for things. > I dislike them - all uppercase, and not always as mnemonic as > they should be, and think them un-Tclish. I'm willing to be convinced > that they are the True Names, if enough people feel strongly > about it. > > The JDBC, ODBC and Perl API's require negotiating a result set > rather than returning lists-of-dicts directly. That interface > seemed rather like overkill to me. > > Python's DB-API has no support for schema introspection. It > appears to be under consideration for dbApi3. > http://wiki.python.org/moin/DbApi3#SchemaInformation > > PHP, predictably enough, is a hodgepodge. I'm not even going to > discuss it. > I vote for making them tcl'ish then and I was thinking about asking you to make the proposed interfaces, so you are talking exactly what I will need for my ATWF project Arnulf (apw) |
From: Kevin K. <kev...@gm...> - 2010-05-19 00:38:48
|
Tom Jackson wrote: > SQL has an information_schema, a set of views which describe the user > databases. Nice things about the information_schema is that all the > values are strings and the names of columns are not as cryptic as say > the pg_* tables. Indeed it does. But the vendors are quite lax in actually implementing it consistently. (As they are about a lot of the SQL standard, actually!) My plan is to have the tdbc::connection base class provide versions of [$db primarykeys] and [$db foreignkeys] that query the INFORMATION_SCHEMA.TABLE_CONSTRAINTS and INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS views, respectively. Individual database drivers must have the ability to override these, since as I mentioned above, database are pretty haphazard about the completeness of their implementations of INFORMATION_SCHEMA. While I'm on it, I might also provide default implementations of [db tables] and [db columns] that get the information from the appropriate INFORMATION_SCHEMA views. Alas, the ISO committee left out an INFORMATION_SCHEMA.STATISTICS view. (MySQL has one, but it's MySQL-specific.) For this reason, even though SQL/CLI has SQLStatistics, there isn't a comparable "portable" way to ask the database for index column usage at the SQL level. So the current plan is to do nothing in the base class and require that drivers implement [db indices]. Drivers facing databases with incomplete or nonconformant implementations of INFORMATION_SCHEMA will of course have to override the base class methods with ones that get the information another way. Of course, the tdbc::odbc driver will implement all three methods by making calls to the SQL/CLI SQLGetPrimaryKeys, SQLGetForeignKeys and SQLGetStatistics functions, respectively. In other words, tdbc::odbc will punt the problem a further level down into the vendor-supplied ODBC driver. I've already looked at the vendor docs, and it's at least possible to provide all the proposed functionality in the MySQL, ODBC, Postgres and SQLite3 drivers (and the unreleased Oracle driver as well). The fact that the functionality has all been in ODBC since version 1.0 also bodes well for its being available on other databases. -- 73 de ke9tv/2, Kevin |
From: Tom J. <tom...@gm...> - 2010-05-18 22:24:38
|
On Mon, May 17, 2010 at 8:34 PM, Kevin Kenny <ke...@ac...> wrote: > Larry McVoy wrote: >> On Mon, May 17, 2010 at 11:09:50PM -0400, Kevin Kenny wrote: >>> Larry McVoy wrote: >>>> I am _so_ not an expert in all this stuff. >>>> >>>> The only question I have is has anyone looked at what perl/python/etc >>>> do in this area? >>> Yes. >> >> And? What was learned? > > ODBC implements this stuff with the SQLGetPrimaryKeys, > SQLGetForeignKeys, and SQLGetStatistics calls. > Perl's DBI essentially copies what ODBC does directly: it has > 'primary_key_info', 'foreign_key_info' and the (misleadingly named) > 'statistics_info' to query primary keys, foreign keys, and indices > respectively. JDBC also does the same thing -- in a typically > Byzantine fashion. Its 'DatabaseMetaData' interface - which must > be constructed/retrieved by a separate call upon the connection > object - supports 'getPrimaryKeys', 'getImportedKeys', > 'getExportedKeys', 'getCrossReference', and 'getIndexInfo'. > > All three of these define a very similar API to what I propose, with > perhaps slightly more awkward names of things. Perl's documentation > also warns that 'statistics_info' is 'experimental and subject to > change. > > Caveat - All three seem to use the ODBC names for things. > I dislike them - all uppercase, and not always as mnemonic as > they should be, and think them un-Tclish. I'm willing to be convinced > that they are the True Names, if enough people feel strongly > about it. > > The JDBC, ODBC and Perl API's require negotiating a result set > rather than returning lists-of-dicts directly. That interface > seemed rather like overkill to me. > > Python's DB-API has no support for schema introspection. It > appears to be under consideration for dbApi3. > http://wiki.python.org/moin/DbApi3#SchemaInformation > > PHP, predictably enough, is a hodgepodge. I'm not even going to > discuss it. SQL has an information_schema, a set of views which describe the user databases. Nice things about the information_schema is that all the values are strings and the names of columns are not as cryptic as say the pg_* tables. I have started an introspection system based upon the information_schema. Right now I only use it for browsing a database and getting table information, but this information can be used to write Tcl code using any object system, or just pure Tcl code. I've done this before using the pg_* tables, but these tables change too often and my code is outdated now. Using info from the information_schema I plan on generating mapping data which will allow table and object names to differ as well as column and attribute names to differ. Implementing a mapping system doesn't mean that you can't use defaults and it also protects against future changes on either side of the map (you don't change code, just the mapping). Mapping also allow you to define multiple views of the same base table. |
From: Kristoffer L. <se...@fi...> - 2010-05-18 09:32:44
|
On 18 May 2010, at 11:42, Donal K. Fellows wrote: > On 18/05/2010 07:31, Kristoffer Lawson wrote: >> Sounds cool. You may want to have a look at 'Storm', which I just >> released yesterday, and built on XOTcl. The idea is to have virtually > > That's taking the opposite approach to me (ORM is my baby). Storm > seems > to be an object-first model, whereas ORM is a database-first model; I > want to be able to just point it at a database connection and have it > generate all the classes and methods for me. (Neither is superior to > the > other; they're different problem-spaces that both happen to involve > coupling objects and databases.) Yes, absolutely. I wasn't offering it as any kind of 'replacement' to what you are doing. Just as a heads up that I've been thinking about some stuff — albeit at the other end of the pipe (and with XOTcl versus TclOO). -- Kristoffer Lawson, Co-Founder, Scred // http://www.scred.com/ |
From: Donal K. F. <don...@ma...> - 2010-05-18 09:06:05
|
On 18/05/2010 07:31, Kristoffer Lawson wrote: > Sounds cool. You may want to have a look at 'Storm', which I just > released yesterday, and built on XOTcl. The idea is to have virtually > transparent queryable object storage. Ie. object loading and storing > is done automatically, as needed. While the version I put up is very > early, and does not do a lot of things optimally, it still might be > useful to just take a look at. Oh and it also does not even try to > look like an RDBMS (the object-relational mismatch is often a source > for headaches, especially with small projects). So not really what you > are trying to do, but it does work for what it is. That's taking the opposite approach to me (ORM is my baby). Storm seems to be an object-first model, whereas ORM is a database-first model; I want to be able to just point it at a database connection and have it generate all the classes and methods for me. (Neither is superior to the other; they're different problem-spaces that both happen to involve coupling objects and databases.) I don't claim that my code works yet. Need to get a build of 8.6 with DB drivers (which isn't my normal deployment) before I can test... Donal. |
From: Kristoffer L. <se...@fi...> - 2010-05-18 06:31:55
|
On 17 May 2010, at 18:38, Kenny, Kevin B (GE, Research) wrote: > Donal Fellows has been experimenting with an extremely > simple object-relational mapping engine for TclOO and TDBC, which he's > begun to discuss at http://wiki.tcl.tk/26254. In a conversation on the > Tcl'ers Chat, he and I have discussed characteristics of TDBC's > introspection of the database - or rather, its lack thereof - that get > in the way. The purpose of this message is to open up discussion of > how best to add the needed functionality to TDBC. Sounds cool. You may want to have a look at 'Storm', which I just released yesterday, and built on XOTcl. The idea is to have virtually transparent queryable object storage. Ie. object loading and storing is done automatically, as needed. While the version I put up is very early, and does not do a lot of things optimally, it still might be useful to just take a look at. Oh and it also does not even try to look like an RDBMS (the object-relational mismatch is often a source for headaches, especially with small projects). So not really what you are trying to do, but it does work for what it is. http://github.com/Setok/Storm -- Kristoffer Lawson, Co-Founder, Scred // http://www.scred.com/ |
From: Kevin K. <ke...@ac...> - 2010-05-18 03:34:53
|
Larry McVoy wrote: > On Mon, May 17, 2010 at 11:09:50PM -0400, Kevin Kenny wrote: >> Larry McVoy wrote: >>> I am _so_ not an expert in all this stuff. >>> >>> The only question I have is has anyone looked at what perl/python/etc >>> do in this area? >> Yes. > > And? What was learned? ODBC implements this stuff with the SQLGetPrimaryKeys, SQLGetForeignKeys, and SQLGetStatistics calls. Perl's DBI essentially copies what ODBC does directly: it has 'primary_key_info', 'foreign_key_info' and the (misleadingly named) 'statistics_info' to query primary keys, foreign keys, and indices respectively. JDBC also does the same thing -- in a typically Byzantine fashion. Its 'DatabaseMetaData' interface - which must be constructed/retrieved by a separate call upon the connection object - supports 'getPrimaryKeys', 'getImportedKeys', 'getExportedKeys', 'getCrossReference', and 'getIndexInfo'. All three of these define a very similar API to what I propose, with perhaps slightly more awkward names of things. Perl's documentation also warns that 'statistics_info' is 'experimental and subject to change. Caveat - All three seem to use the ODBC names for things. I dislike them - all uppercase, and not always as mnemonic as they should be, and think them un-Tclish. I'm willing to be convinced that they are the True Names, if enough people feel strongly about it. The JDBC, ODBC and Perl API's require negotiating a result set rather than returning lists-of-dicts directly. That interface seemed rather like overkill to me. Python's DB-API has no support for schema introspection. It appears to be under consideration for dbApi3. http://wiki.python.org/moin/DbApi3#SchemaInformation PHP, predictably enough, is a hodgepodge. I'm not even going to discuss it. -- 73 de ke9tv/2, Kevin |