<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[GMan's Mods & Stuff — Pub.ISQLDB (WIP)]]></title>
		<link>https://gprogs.com/index.php</link>
		<atom:link href="https://gprogs.com/extern.php?action=feed&amp;fid=11&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent topics at GMan's Mods & Stuff.]]></description>
		<lastBuildDate>Sat, 03 Mar 2007 18:58:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[new updates]]></title>
			<link>https://gprogs.com/viewtopic.php?id=161&amp;action=new</link>
			<description><![CDATA[<p>hey ya Gman, </p><p>Do you still update this module? was looking to use with max 1.24, havent actually treid coz dont wonna muck n e thing up&gt;</p><br /><p>fyi . your mod was the reason i returned to max :-)</p>]]></description>
			<author><![CDATA[null@example.com (gavinb)]]></author>
			<pubDate>Sat, 03 Mar 2007 18:58:05 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=161&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[rebuilt mods for BMAX v1.20]]></title>
			<link>https://gprogs.com/viewtopic.php?id=73&amp;action=new</link>
			<description><![CDATA[<p>i rebuilt and repackaged the mods for BMAX v1.20</p>]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Wed, 03 May 2006 13:15:20 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=73&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[repackaged MySQL]]></title>
			<link>https://gprogs.com/viewtopic.php?id=55&amp;action=new</link>
			<description><![CDATA[<p>i repackaged the MySQL mod to include the .a file for MySQL 5.0.18</p>]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Fri, 03 Mar 2006 02:50:12 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=55&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Blobs :S]]></title>
			<link>https://gprogs.com/viewtopic.php?id=54&amp;action=new</link>
			<description><![CDATA[<p>Hey GMan, just wonder <img src="https://gprogs.com/img/smilies/wink.png" width="15" height="15" alt="wink" /> i know its cheeky but i&#039;m kinda desperate, in the mysql u have ways of getting int val&#039;s double, long etc, but no way of getting blob data? is this something u could impletement?</p><p>a blob is a binary object (i.e used for storing images) and shouldnnt be too hard for u to do </p><p>well thanks</p>]]></description>
			<author><![CDATA[null@example.com (gavinb)]]></author>
			<pubDate>Wed, 01 Mar 2006 10:08:48 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=54&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[linux ;)]]></title>
			<link>https://gprogs.com/viewtopic.php?id=47&amp;action=new</link>
			<description><![CDATA[<p>hey ya GMan,</p><p>n e plans to launch a linux version of the mod?<br />i have got it to compile on linux by removing the #include &lt;winsock.h&gt; because as far as i can see its not used.&nbsp; however if i compile a program using the module i get:</p><div class="codebox"><pre><code>Building main
Compiling:main.bmx
flat assembler  version 1.64
3 passes, 9315 bytes.
Linking:main
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x57): In function `bmx_mysql_field_name&#039;:
mysql.cpp: undefined reference to `mysql_fetch_field_direct&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x93): In function `bmx_mysql_insert_id&#039;:
mysql.cpp: undefined reference to `mysql_insert_id&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0xab): In function `bmx_mysql_eof&#039;:
mysql.cpp: undefined reference to `mysql_eof&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x105): In function `bmx_mysql_field_length&#039;:
mysql.cpp: undefined reference to `mysql_fetch_lengths&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x136): In function `bmx_mysql_num_rows&#039;:
mysql.cpp: undefined reference to `mysql_num_rows&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x14a): In function `bmx_mysql_affected_rows&#039;:
mysql.cpp: undefined reference to `mysql_affected_rows&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x164): In function `bmx_mysql_real_query&#039;:
mysql.cpp: undefined reference to `mysql_real_query&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x187): In function `bmx_mysql_select_db&#039;:
mysql.cpp: undefined reference to `mysql_select_db&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x1bc): In function `bmx_mysql_real_connect&#039;:
mysql.cpp: undefined reference to `mysql_real_connect&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x216): In function `bmx_mysql_init&#039;:
mysql.cpp: undefined reference to `mysql_init&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x3c): In function `bmx_mysql_real_escape_string&#039;:
mysql.cpp: undefined reference to `mysql_real_escape_string&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x6c): In function `bmx_mysql_data_seek&#039;:
mysql.cpp: undefined reference to `mysql_data_seek&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x7e): In function `bmx_mysql_free_result&#039;:
mysql.cpp: undefined reference to `mysql_free_result&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0xc6): In function `bmx_mysql_fetch_row&#039;:
mysql.cpp: undefined reference to `mysql_fetch_row&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0xda): In function `bmx_mysql_use_result&#039;:
mysql.cpp: undefined reference to `mysql_use_result&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0xee): In function `bmx_mysql_store_result&#039;:
mysql.cpp: undefined reference to `mysql_store_result&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x11e): In function `bmx_mysql_num_fields&#039;:
mysql.cpp: undefined reference to `mysql_num_fields&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x1dc): In function `bmx_mysql_error&#039;:
mysql.cpp: undefined reference to `mysql_error&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x1f4): In function `bmx_mysql_errno&#039;:
mysql.cpp: undefined reference to `mysql_errno&#039;
/home/gavin/bin/BlitzMax/mod/pub.mod/mysql.mod/mysql.release.linux.a(mysql.cpp.release.linux.o)(.text+0x20a): In function `bmx_mysql_close&#039;:
mysql.cpp: undefined reference to `mysql_close&#039;
collect2: ld returned 1 exit status
Build Error: Failed to link /home/gavin/Desktop/game/main
Process complete</code></pre></div><p>i have moved the lib file to the right location as well</p>]]></description>
			<author><![CDATA[null@example.com (gavinb)]]></author>
			<pubDate>Sun, 19 Feb 2006 10:56:00 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=47&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[proposed new interface additions]]></title>
			<link>https://gprogs.com/viewtopic.php?id=33&amp;action=new</link>
			<description><![CDATA[<p>the following are additions i am proposing to the current interface.&nbsp; questions/comments would be much appreciated.<br /></p><div class="codebox"><pre><code>&#039; additions to the existing ISQLDB type
Type ISQLDB

    &#039; driver supports transactions
    Const FETR_TRANSACTIONS:Int 
    &#039; driver supports transaction save points
    Const FETR_TRANSACTION_SAVEPOINTS:Int 
    &#039; driver supports keeping results on the server
    Const FETR_FETCH_ON_DEMAND:Int 
    &#039; can prepare statements
    Const FETR_PREPARED_STMTS:Int    
    
    &#039; returns True if the implementation supports the passed feature
    Method hasFeature:Int(feature:Int) Abstract 
    
    &#039; same as the MySQL implementation, but with the addition of hasFeature can now be moved here
    Method setPrefetch:Int(bPrefetch:Int=True) Abstract 

    &#039; passed string contains only text
    Const ESCT_STRING:Int 
    &#039; passed string has binary values
    Const ESCT_BINARY_STRING:Int 
    &#039; escape a string to make it compatible with the native engine
    Method escapeString:String(stmt:String,esc_type:Int=ESCT_STRING) Abstract 

    &#039; creates a transaction object to be used with commands
    Method BeginTransaction:ISQLTransaction(Options:String) Abstract 
    &#039; creates a command object for use by the driver
    Method CreateDBCommand:ISQLCommand(Transaction:ISQLTransaction = Null) Abstract 
    
    &#039; returns the version info for the native server
    Method getNativeServerVer:String() Abstract
    &#039; returns the version info for the native client
    Method getNativeClientVer:String() Abstract
    &#039; returns the version info for the driver implementation
    Method getISQLDriverVer:String() Abstract
    &#039; returns &quot;about&quot; type information regarding the driver implementation
    Method getISQLDriverInfo:String() Abstract
EndType

&#039; type enabling transaction support and performing transaction functionality
Type ISQLTransaction
    &#039; commits a transaction
    Method Commit() Abstract
    &#039; rollsback a transaction
    Method RollBack(SavePoint:String) Abstract  &#039; Save Points are better for nesting... and method used by SQL Standards
    &#039; begins a transaction
    Method BeginTransaction(SavePoint:String) Abstract   
EndType

&#039; collection of parameters
Type ISQLParmeterCollection Extends TMap
    &#039; creates a new parameter object, sets its value, adds to collection, and returns it
    Method addParam:ISQLParameter(pname:String,value:String,ptype:Int=TYPE_STRING) Abstract
    &#039; removes a parameter from the collection.  returns true if successful.
    Method removeParam:Int(pname:String)
    &#039; gets the parameter from the collection.
    Method getParam:ISQLParameter(pname:String) Abstract
EndType

&#039; parameter for ISQLCommand
Type ISQLParameter
    
    &#039; based on this type, the underlying implementation will convert the value
    &#039; to a format supported by the SQL database engine
    Const TYPE_STRING:Int=0
    Const TYPE_BINARY:Int=1
    Const TYPE_BYTE:Int=2
    Const TYPE_BOOLEAN:Int=3
    Const TYPE_CURRENCY:Int=4
    Const TYPE_DATE:Int=5
    Const TYPE_TIME:Int=6
    Const TYPE_DATETIME:Int=7
    Const TYPE_SHORT:Int=8
    Const TYPE_INT:Int=9
    Const TYPE_LONG:Int=10
    Const TYPE_FLOAT:Int=11
    Const TYPE_DOUBLE:Int=12
    
    &#039; returns the data type of this parameter
    Method getISQLType:Int() Abstract
    &#039; sets the data type of this parameter.  default is TYPE_STRING.
    Method setISQLType(isqltype:Int=TYPE_STRING)

    &#039; gets the parameter value
    Method getVal:String() Abstract
    &#039; sets the parameter value
    Method setVal(value:String) Abstract
        
    &#039; gets the parameter name
    Method getName:String() Abstract
    &#039; sets the parameter name
    Method setName:String() Abstract
    
    &#039; returns True if the parameter accepts null values
    Method getIsNullable:Int() Abstract
    &#039; sets whether the value can be Null or not
    Method setIsNullable(bIsNullable:Int) Abstract
            
EndType

&#039; This is what you will need to do  prepared Statements
Type ISQLCommand

    &#039; this command will run an SQL statement
    Const SQLQUERYCOMMAND=1
    &#039; this command will run a stored procedure
    Const SQLSTOREDPROCEDURE=2

    &#039; returns the connection object associated with this command
    Method GetConnection:ISQLDB() Abstract
    
    &#039; sets the transaction object for this command
    Method SetTransaction(Transaction : ISQLTransaction) Abstract
    &#039; returns the transaction object for this command
    Method GetTransaction:ISQLTransaction() Abstract
    
    &#039; sets the command that will run
    Method SetCommandText(SQLStatement:String) Abstract
    &#039; returns the command set to run
    Method GetCommandText:String() Abstract
    
    &#039; sets the command type
    Method SetCommandType(SQLCommandType:Int=SQLQUERYCOMMAND) Abstract
    &#039; returns the command type
    Method GetCommandType:Int() Abstract
    
    &#039; executes the statement and returns the result set
    Method Execute:ISQLResultSet() Abstract
    &#039; executes this statement as a scaler and returns either the first row/col 
    &#039; value or the value of the field passed from the first row
    Method ExecuteScaler:String(field_nm:String=Null) Abstract

    &#039; gets the parameters collection
    Method getParameters:ISQLParmeterCollection() Abstract

    &#039; prepares a statement for better performance
    Method Prepare() Abstract
    
EndType</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Fri, 20 Jan 2006 15:42:08 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=33&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Current Releases (last updated 2006_05_03)]]></title>
			<link>https://gprogs.com/viewtopic.php?id=32&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Wed, 18 Jan 2006 13:57:59 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=32&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Dev Status]]></title>
			<link>https://gprogs.com/viewtopic.php?id=31&amp;action=new</link>
			<description><![CDATA[<p>nothing really to see yet.&nbsp; i have defined and declared the functions i wish to include in the mod and begun initial testing.&nbsp; i have successfully connected to a server, selected the DB, performed select statements and am currently working on processing the returned results.&nbsp; the goal is then to wrap usage of these functions up into types in a similar fashion as the Irrlicht mods.&nbsp; if all goes well i would like to have this mod wrapped up in the week or so.</p><p>stay tuned...</p>]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Sat, 14 Jan 2006 19:05:14 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=31&amp;action=new</guid>
		</item>
	</channel>
</rss>
