Jump to content
torndeco

extDB (arma3 extension linux/windows)

Recommended Posts

Version 1.019
https://bitbucket.org/torndeco/extdb3/downloads
 

Changelog

  • ADDED: 9:ADD_DATETIME  info @ https://bitbucket.org/torndeco/extdb3/wiki/extDB3%20-%20System
  •  
  • FIXED: SQL_CUSTOM retrieving Double DataType
  • FIXED: SQL_CUSTOM fixed issue retrieving Number DataTypes, were the length/set size was shorter the string size of number.
  • FIXED: SQL_CUSTOM while now throw error if data result is truncated.
      

Recommended to update if you are using SQL_CUSTOM

  • Like 1

Share this post


Link to post
Share on other sites

Version 1.021
https://bitbucket.org/torndeco/extdb3/downloads
 

Changelog

 

  • FIXED: SQL_CUSTOM Input Time Option, the format is  [Year,Day,Month,Hour,Minute,Second]
       For example if you are inputing to timestamp  just use [0,0,0,Hour,Minute,Second].
  • TBBMalloc.dll is updated, important to update the dll if you are running windows 10.
      

Linux Builds, will be done later/tomorrow

  • Like 1

Share this post


Link to post
Share on other sites

Just small status update.
Think all the bugs with extDB3 have been ironed out now ;)

 

So unless there is another small bug report.
I am going to be working on new alternative method to send data to extDB3.

Current method is

"extDB3" callExtension "0:SQL:foo:arg1:arg2:arg3";

Downside is the seperator character can't be used in any of the input data.


New alternative method will be

_data = [0,"SQL",[arg1,arg2,arg3]];
"extDB3" callExtension (str _data);

Upside no more seperator character issue


This will be optional and configurable which method you use on setup stage of extBD3, to make it back compatiable.
I just need to do some coding & benchmarking to make sure there are no performance issues etc

  • Like 1

Share this post


Link to post
Share on other sites

I have a question, what Framework requirements are needed to run this? I am getting a lot of missing DLL's.

Share this post


Link to post
Share on other sites
Guest

torndeco,

 

extDB3 will work with Arma 3 64 bits?

Share this post


Link to post
Share on other sites

Yes there will be support for 64bit.
I just need to tweak my build scripts & compile a custom tbbmalloc.dll.
Can't just rename the dll as this will break tbbmalloc internal check if its loaded.
Needed to be done incase you have multiple extensions dynamically linked against the same dll.
Hopefully there will be experimental version later today.

Example of the dll file structure..

@extdb/extDB3_x64.dll
@extdb/extDB3.dll
tbbmalloc_x64.dll
tbbmalloc.dll


This way end-user doesn't need to worry about if they download the 32bit/64bit version.

  • Like 1

Share this post


Link to post
Share on other sites

Hello, 

 

Do you have an "Alpha" version to share or do you have to wait a little longer?

For the moment, I'm trying to run exile mod with extdb3 (in x84) but no success at the moment, some things are even strange ...

Quote

13:08:41 "_headgear: 1221" 13:08:41 "_goggles: 630512" 13:08:41 Error in expression <"_goggles: %1",_goggles]; if (_goggles != "") then

_headgear & _goggles is a debug line, but 1221 and 630512, wtf?! is not in my database!

 

And many thank's for you work! 

Share this post


Link to post
Share on other sites

1) Bug reports are handled on Bitbucket issues.
2) Also you need to included database backup / extdb3 debug logs to replicate the issue.

extDB3 it will be done soonish.
 

Share this post


Link to post
Share on other sites

There will be expermential update tomorrow for people to test with the arma RC Build for 64bit
I would like to use the latest Boost Library update & currently there mirror for prebuilt binary for windows is currently having issues.

  • Like 1

Share this post


Link to post
Share on other sites

There are some expermential dlls uploaded to bitbucket at   https://bitbucket.org/torndeco/extdb3/downloads

This is just a debug 64bit dll version of extDB3 
These are just for testing not meant for a live server.

The tbbmalloc_x64.dll goes in arma3 root directory.
The extDB3_x64.dll goes in your @extDB3  etc

-------------

I need todo some testing, but i have encountered a segfault on a custom server.
Looks like its just a bug in arma, but i just going to test something tomorrow, just to be sure.
I will do proper builds & sign them once i am sure its not the extension causing it.

Share this post


Link to post
Share on other sites

Version 1.024
https://bitbucket.org/torndeco/extdb3/downloads

32bit & 64bit dlls are now packaged together.
Please note that you will need to copy the tbbmalloc.dll & tbbmalloc_x64.dll to your arma3 root directory.
Dlls should hopefully be whitelisted soon aswell.
 

Changelog

  • Updated: MariaDB C Connector
  • Updated: Boost 
  • Updated: TBBMalloc
  •  
  • Added: Windows 64bit dlls
  • Added: SQL_CUSTOM SQF Parser Option (expermential) read below

 

Input SQF Parser = false  
;; Expermential  
;;   If enabled will use SQF Array Parser instead of : seperator for values  
;;   i.e   0:SQL:UpdatePlayer:["Joe",[1,2,0],0.22333,"PlayerBackpack",-3]  
;;   Advantage is that you don't need to strip : seperator from user inputted values  

 

 

  • Like 1

Share this post


Link to post
Share on other sites

@torndeco

Just downloaded Version 1.025, but it seems like you didn't include the extDB3.pbo file ?

 

Also, do you have any plans to include support for the alternative syntax of callExtension ?

It looks very similar to what you showed in October.

 

Quote

New alternative method will be


_data = [0,"SQL",[arg1,arg2,arg3]];
"extDB3" callExtension (str _data);

Upside no more seperator character issue

Edited by nesias
forgot quote

Share this post


Link to post
Share on other sites

No i will not using the new alternative syntax, will actually be avoiding it.
Its to limited (i was originally hoping for a better data structure sent to the extension).

But basically the return syntax is completely different for the alternative syntax.
Which means you need to document 2 different methods of sending / receiving data to the extension.
There is no real advantage (possible slower due to extra memory allocs in blocking thread) and it will just result in more confusion.

Anyway the seperator issue is solved by issuing SQL_CUSTOM  + 

Input SQF Parser = true

 It should work fine, if there is any issue just submit issue on bitbucket.

Share this post


Link to post
Share on other sites

It is very unlikely i will add SQLite at this time.
To my knowledge there was never a public mission or addon that used SQLite for a backend with previous extDB/2

Share this post


Link to post
Share on other sites

Is there good place to start learning this for total noobs? I have a mod in mind that I would like to make persistent, player, tents, vehicles etc ..

Share this post


Link to post
Share on other sites

It will help to have some knowledge of SQL Queries & SQF.
Otherwise it will  get confusing fairly fast. In that case i would nearly recommend (just no update for upcoming 64bit, but the source code is there)

But i don't think he is been active in awhile :(

-------------------

If you do know some SQL etc or think you be able to learn it...

Just note @extDB3, does not implement code to talk / retreive data from the extension.
This is due to several ways to implement this.

extDB3 is very similar to extDB2, i tend to the number in the name if there is a breaking change.

So the best thing is to look at other addons/missions that have implemented it
Then if you got questions try give me a shout on arma discord (might take awhile to respond, but you will need to know some SQF/SQL)

-------------------
A3Wasteland uses a mixture of defining defining SQL in .ini file & generating the rest of query in SQF. (don't recommend, is very confusing & abit more complicated queries)
Exile has a good implementation, uses pretty much all prepared statements. (secure)
AltisLifeRPG uses SQL Querys, but is prob alot easier when starting off. (not secure)

There is also 


Note: There is a test command line program, that lets you test sending the extDB3 text. Can be abit easier to use initially as you don't need to be in arma.

  • Like 2

Share this post


Link to post
Share on other sites

Version 1.026
https://bitbucket.org/torndeco/extdb3/downloads

Recommended update if you are using SQL_CUSTOM i.e modified ExileServers / a3wasteland.
 

Changelog

  • mariaDB C Connector updated + memory alloc bug fix.
  • Added 9:getUPTime2, instead of returning <number> it returns [<number>]. This is faster with upcoming parseSimpleArray
  • Like 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×