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 |