r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[MySQL]

Dockimbel
1-May-2007
[845x5]
MySQL Driver 1.1.0 will be released today. The new features are :
- There's now a new preferred way to query data, the SEND-SQL global 
function. The INSERT/COPY methods are still available for cases where 
finer-grained control or ressources optimization is required. Example:


send-sql [ /flat ] [ /named ] [ /raw ] db "SQL query or server command"
- New "named fields" mode in the driver produce recordsets with named 
field. Example :


author: send-sql/named db "SELECT id, name, birthyear FROM authors 
WHERE id=1"
print [author/name "is born in" author/birthyear]
- Support for multiple statements in queries has been added (separated 
by semicolons). Now, you can, for example :

	send-sql db read %setup.sql
I'm currently updating the documentation, I'll post in [Announce] 
when it will be ready for download.
Gregg
1-May-2007
[850]
Excellent Doc! Thanks for continuing to improve it.
Dockimbel
1-May-2007
[851]
Thanks Gregg for your support !
Maxim
1-May-2007
[852]
doc, would you allow rebol.org to host your msq libs?  just in an 
attempt to increase awareness of the size and quality of the rebol 
code out there?
Dockimbel
1-May-2007
[853x3]
rebol.org is RT's property. My driver is a free concurrent to RT's 
commercial one.
don't you think it would be a problem for RT ?
sorry, concurrent => competitor
Maxim
1-May-2007
[856]
I don't think so... people buy command for the ODBC  IMHO.
Henrik
1-May-2007
[857]
AFAIK this problem will go away with R3 anyway
Maxim
1-May-2007
[858x3]
but in any case, rebol.org is a community space.  although the site 
H/W and domain is "owned" by RT ,  the actual service has no useage 
limits AFAIK.
henrik, maybe not... who says RT won't offer plugins for a fee?
but in general, it does seem like the concept of /pro will change 
or disapear.
Dockimbel
1-May-2007
[861]
If you think it's ok with RT, you can put a copy of the new driver 
in rebol.org once I release it (should be tonight).
Sunanda
1-May-2007
[862]
I think that's a great idea, Doc!
***

RT own the domain for rebol.org (and pay all the hosting charges).

They have never vetoed any scripts .... the topic has never come 
up.


Publishing to REBOL.org leaves you with all your ownership rights 
(unlike some libraries that claim ownership on any contributions). 
All REBOL.org requires is the non-exclusive right to publish the 
script and its documentation:

http://www.rebol.org/cgi-bin/cgiwrap/rebol/boiler.r?display=script-owner-faq
Maxim
1-May-2007
[863]
cool ! :-)
Dockimbel
1-May-2007
[864]
I didn't made it before because I wanted to keep track of the download 
stats (usefull info to estimate the size and activity of the community), 
but it's no more necessary, the community seems to be stable since 
several years now.
Maxim
1-May-2007
[865]
I think many of us don't use rebol.org as much as we should.
Sunanda
1-May-2007
[866]
As a script owner on REBOL.org you have access to up-to-the-minute 
access and download stats.
Dockimbel
1-May-2007
[867x2]
I see that rebol.org has improved a lot. Good work guys!
Is there a top 10 most downloaded scripts ? (could be usefull to 
newcomers)
Sunanda
1-May-2007
[869]
There's a top 250 most popular scripts -- available if you are logged 
on:

http://www.rebol.org/cgi-bin/cgiwrap/rebol/script-popularity.r?top=250

The popularity rating is an imperfect attempt to factor out downloads 
by bots (and many other factors) and arrive at something meaningful.
Maxim
1-May-2007
[870]
wow glayout is in the top 10   :-)  I'm proud  :-)
Sunanda
1-May-2007
[871]
[maybe we should switch to Library -- we're off-topic for MySQL]
Dockimbel
1-May-2007
[872]
Can I upload a ZIP archive or does it require to upload only a single 
REBOL script ?
Sunanda
1-May-2007
[873]
{switching to Library to answer that]
Will
1-May-2007
[874]
great! Thanks Doc 8)
Dockimbel
1-May-2007
[875]
MySQL Driver for REBOL version 1.1.0 released.


    Changes : http://softinnov.org/rebol/mysql-usage.html#sect2.1.
    Download: http://rebol.softinnov.org/mysql/
TimW
4-May-2007
[876]
I really like the new preferred method.  Thanks for adding that.
Maarten
6-May-2007
[877x2]
Me too. Should we add /prevent-sql-injection with send/sql?
*send-sql
Dockimbel
6-May-2007
[879x2]
The prepared statements mode should protect from SQL injection : 
send-sql db [ "...?..." argument ]
I've hesitated between 'send-sql and 'do-sql. I've used 'do-sql for 
the Cheyenne/RSP database API, so the driver had 'send-sql.
Maarten
6-May-2007
[881]
even if 'argument is a SQL query in its own?
Dockimbel
6-May-2007
[882x4]
the query (string!) will be properly quoted and escaped, so it should 
do no harm.
for example :
argument: "SQL injection code"
send-sql db [ "SELECT * FROM table WHERE field like ?" argument ]

will produce 

 SELECT * FROM table WHERE field like 'SQL injection code' 
if 'argument itself, contains quotes, they will be escaped.
Maarten
6-May-2007
[886]
As always, smarter than I thought. And it is amazing what level of 
abstraction one can provide with so few lines of REBOL
Dockimbel
6-May-2007
[887]
You remind me that I should add a few lines about secure programming 
practices in the driver documentation.
Pekr
7-May-2007
[888x2]
Doc, I would try to apply to be listed here - http://www.mysql.com/products/connector/
note that there are also community drivers mentioned ...
Will
7-May-2007
[890x5]
now you can:
node: first send-sql/named db {select * from `node` where id=1 LIMIT 
0,1}
what about this?
node: db-get 'node [] {id=1}
and this: