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

World: r3wp

[MySQL]

Dockimbel
28-Sep-2006
[813x9]
2) Get a packet analyser tool (Ethereal for example) and try to track 
the TCP exchange on port 3306 to see what the server is really sending 
to the client.
3) Upgrade your MySQL server to latest 4.1.x version, or try with 
the latest 5.x version.
4) If all options failed, turn trace/net on, run a test, log all 
exchanges with the server and send it to me by email for analysis.
Just got an idea that should be your first thing to try :
Find the following line in the driver source :
buf-size: cache-size: 10000
and change it to :
buf-size: cache-size: 500'000
Run your tests and tell me if this fix your problem (else try the 
others options).
Luca
28-Sep-2006
[822]
Great! Changing buf-size to 500000 solved the problem.
[unknown: 9]
28-Sep-2006
[823]
Actually what I posted in Chat applies directly to MySQL, if anyone 
happens to know.
Dockimbel
28-Sep-2006
[824]
So, it looks like a bad read buffer size setting.
Luca
28-Sep-2006
[825]
The read of the buffer size is done by the 'read-int24 rule, isn't 
it?
Dockimbel
28-Sep-2006
[826x6]
True.
Luca, let's try a more cleaner fix for this issue, replace the following 
code :
;--- reading data ---
		if packet-len > pl/buf-size [

   net-log reform ["Expanding buffer, old:" pl/buf-size "new:" packet-len]
			tmp: pl/cache
			pl/buffer: make binary! pl/buf-size: packet-len
			pl/cache: make binary! pl/cache-size: pl/buf-size
			sys-insert tail pl/cache tmp
		]
by :
;--- reading data ---
		if packet-len > pl/buf-size [

   net-log reform ["Expanding buffer, old:" pl/buf-size "new:" packet-len]
			tmp: pl/cache
			pl/buffer: make binary! pl/buf-size: packet-len + length? tmp
			pl/cache: make binary! pl/cache-size: pl/buf-size
			sys-insert tail pl/cache tmp
		]
(just one line changed)
Luca
28-Sep-2006
[832]
Just a moment...
Dockimbel
28-Sep-2006
[833x2]
revert the initial buf-size to 10'000
then try again.
Luca
28-Sep-2006
[835]
Sure :-)
Dockimbel
28-Sep-2006
[836]
Going to sleep, will see the result tomorrow. Thanks for your help 
tracking this bug.
Luca
28-Sep-2006
[837x2]
Thank to help solve it :-)
Not solved using this last suggestion.
Oldes
29-Sep-2006
[839x2]
I use the protocol with MySQL 4.1.5 and 5.0.22 and never noticed 
such a problem.
But I'm not storing such a big data
Edgar
2-Oct-2006
[841]
Cal and I modified this line: 

pl/buffer: make binary! pl/buf-size: packet-len

to this:

pl/buffer: make binary! pl/buf-size: packet-len + 10 

and it works now.

Your other suggestion must have fail because tmp may have been zero 
length.
Tim
7-Oct-2006
[842x2]
I'm preparing to switch my OS to a slack partition with MySQL 4.1 
(I believe)
OOPS! didn't mean to hit ENTER. sorry. Anyway, there used to be a 
test site at http://powerofq.com- it is no longer available, I believe 
that the test module was 'mysqlprot. are those resources still available?
Webb Stone
27-Apr-2007
[844]
hi
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