• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Project Idea, Input needed.

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
This is from a discussion in my personal messages ...
Originally Posted by W1zzard
sometimes i wonder if you are desperately looking for new programming projects ..

As you can see, our fearless leader is pretty perceptive.
I've been looking for a project that I can happily code on for the rest of my life.
I have an idea, but I need your input to see if anyone would be interested.

It's a database based TPU management application.
Here are some of the features I had in mind ...
- A BST manager that would allow you to keep track of, and rate, all of your activity in the BST forum.
- Secure Key storage for your apps and games (think Key-Z)
- A private message manager for downloaded PM files. (like when your PM area gets full and you want to save the old stuff)
- A thread manager, that would store TPU threads for reference offline.
- An upload manager. This would allow you to keep track of uploads to TPU (for example, the urls of image uploads and the image, so you can find them again and re-reference them from the TPU server without having to re-upload because you know longer know the URL on TPU)
- An RSS feed reader for the TPU RSS feed.
- An application launcher so you could attach and launch any external program from this app.
- A save game backup utility that could be scheduled to copy your game saves on a regular basis.
- A TPU MMORPG that pits you against the mods (just kidding, but it would hysterically funny)
- Anything else you think would be useful.

App would require the installation of SQL Server Express (Free) or MySql (Free) database.
I can compile it for both 32 and 64 bit machines (or you could just run the 32 bit one in the x86 Program Files directory).

Here's the best part ... any one of you who knows C# or anyone willing to learn it can participate (Yes, I would like to keep it in managed code, unless someone comes up with a feature that would be better served with unmanaged code .. like the TPU MMO :D ).
I would simply send you the requirement doc for a module, method or class, you write it and send back the source to be included in the app.
You source code will be reviewed and optimization suggestions sent back before it is included..
No deadlines, no pressure and a great learning experience, if it takes forever so be it.
I, and probably others, will provide assistance when you need it.
Everyone who helps will be credited in the app help section.
Free to pick whatever area interests you (DB programming, GUI, etc.)

a lot of the code I already have from writing this stuff when I was bored and trying to come up with projects, but will happily have anyone else take a shot at it for a learning experience.
I'll keep track of who is working on what, as well as revision control.

To be involved you will need .Net 4.0 and at least C# 2010 Express. (It's free too).
When modules are released, they will be tested by others. If you wrote the code, have a thick skin. Nothing is above scrutiny.

Mini FAQ:
Can I help? : Yes.
Will I get paid? : No.
Do I get college credits? : No
I'm a girl, can I have your baby? : Send PM with picture

So what do you think? Useful? Am I insane?
Did Elvis really have a baby with Bigfoot that was taken by Aliens?

All comments appreciated.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
- A save game backup utility that could be scheduled to copy your game saves on a regular basis.
I'm working on an app that does that right now. It's about half done. Here's the last pic I took of the interface:


Mind you, every back up it makes gets a unique name. It is meant to create multiple save-points in games that have autosave only.


Edit: What do you mean by "module?"
 
Last edited:

olithereal

New Member
Joined
May 24, 2008
Messages
1,262 (0.22/day)
System Name Geometro
Processor i5 760 @ Stock (need 1156 brackets for my cooler)
Motherboard MSI P55A-G55
Cooling Kingwin RVT-12025 HDT
Memory 2x4GB Mushkin Blackline Frostbyte 1600 C9-9-9-24
Video Card(s) GTX 275 MSI Twin Frozr OC
Display(s) Samsung 2333SW 23"
Case Lancool PC-K62
Power Supply Corsair VX550W 550W ATX 12V
Software Windows 7 64 bit / Arch Linux x64
Where's all the input?!

I think it's a good idea, and I'd be willing to help. As you said, great learning experience..
I'm fairly good (keep in mind--I'm still a student, second year) with with C# and SQL Server.
 
Last edited:

JrRacinFan

Served 5k and counting ...
Joined
Mar 17, 2007
Messages
20,073 (3.21/day)
Location
Youngstown, OH
System Name Dual Build Streamer
Processor Ryzen 7900x3d : Ryzen 4600G
Motherboard AsRock B650E Steel Legend : Giga B450i Aorus
Cooling Custom Water 1x420 : Stock
Memory 32GB T-Force Deltas : 16GB Dominator Platinums
Video Card(s) PowerColor 7900 XTX Liquid Devil: iGPU
Storage 20+ TB
Display(s) Sammy 49" 5k Ultrawide
Case Custom White Painted Phanteks Enthoo Pro 2
Audio Device(s) Onboard : Onboard
Power Supply EVGA 1200W P2
Mouse Corsair M65 RGB Elite White
Keyboard Hyperx Origins 65
Software Windows 10
- A private message manager for downloaded PM files. (like when your PM area gets full and you want to save the old stuff)

That would be like an "Outlook for TPU". Very interesting and I would donate to the project just to see this get light of day.
 
Joined
Mar 1, 2010
Messages
3,565 (0.69/day)
Location
By the Channel Tunnel, Kent, England
System Name Benny
Processor Phenom II 1055t @ 3.3GHz; 300x11; 1.380v; NB 2700; HT 2400
Motherboard ASUS Crosshair IV Formula (2002 BIOS)
Cooling Thermalright TRUE 120 Black + 2 Xilence Red Wing PWM 120mm (push/pull) + polycarbonate fan holders
Memory 8GB GeIL Ultra 2133MHZ C9 running at 1600MHz @ 7-7-7-21 1T 1.5v
Video Card(s) MSI Twin Frozr II GTX470 @ Stock w/CPU fan cable-tied on, as one of the GPU fans broke.
Storage 60GB OCZ Agility3 (OS);500GB WDC Grn; 1x1TB WDC Blk (Backup)
Display(s) ASUS PA823Q
Case Silverstone Raven 2 (all cables custom sleeved with velcro mod on side panel...)
Audio Device(s) X-Fi (Onboard) + Harmon Kardon HK6100 amp powering JVC HA-RX700's with Zalman mic
Power Supply Corsair HX650W
Software Win7 Pro x64
Benchmark Scores No benchies so making this space useful! Corsair M90, Logitech G19. Phobya FlexLight LED's (gawjus)
- A BST manager that would allow you to keep track of, and rate, all of your activity in the BST forum.
- A private message manager for downloaded PM files. (like when your PM area gets full and you want to save the old stuff)
- A thread manager, that would store TPU threads for reference offline.
- An upload manager. This would allow you to keep track of uploads to TPU (for example, the urls of image uploads and the image, so you can find them again and re-reference them from the TPU server without having to re-upload because you know longer know the URL on TPU)
- A save game backup utility that could be scheduled to copy your game saves on a regular basis.

I would use most of these on a daily basis, so needless to say, I'm all for it :toast:
 

char[] rager

New Member
Joined
Jun 9, 2010
Messages
310 (0.06/day)
Location
Massachusetts Institute of Technology, Computer Sc
System Name Obsidianight
Processor Intel Core i7 950 @ ~ 4 GHz
Motherboard Asus P6T Deluxe
Cooling Custom Liquid Cooling
Memory 6GB (3 x 2GB) Corsair XMS3 DDR3 Triple-Channel @ ~ 1.6 GHz (9-9-9-24-1T)
Video Card(s) Zotac AMP! GTX 580 @ 900 MHz Core / 1025 MHz Memory / 1800 MHz Shader
Storage 180 GB OCZ Vertex 2 SSD
Display(s) Sceptre 24 Inch (1920 x 1200) 2 MS Response
Case Corsair Obsidian 800D
Audio Device(s) Onboard
Power Supply 1 kW Antec TruePower Quattro
Software Microsoft Windows 7 Ultimate 64-Bit / Linux Mint 9 And Fedora 13 KDE Through VirtualBox
I would also be willing to assist. I think it is a wonderful idea to have a community-created project for techPowerUp!
 
Joined
Sep 15, 2004
Messages
1,583 (0.22/day)
Location
Poland,Slask
System Name HAL
Processor Core i5 2500K
Motherboard Asus P8P67 Pro Rev3.1
Cooling stock
Memory 2x4GB Kingston 1600Mhz Blu
Video Card(s) Asus 560Ti DirectCuII TOP
Storage Kingston 120 3K SSD,WD Black WD1502FAEX
Display(s) LG 1440x900
Case Chieftec Mesh Midi
Audio Device(s) onboard
Power Supply Corsair TX750V2
Software w8
Shouldn't the app be parted so you can install the autobackup thingies or others as a service for example and forget about it?
Why not Java?
Why install a DB over at clients machine (or is this for developer purpuses ) ?
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Shouldn't the app be parted so you can install the autobackup thingies or others as a service for example and forget about it?

This is just a high level description of my ideas. Specifics are ironed out in the requirements phase.
I'm not even sure this is worth it. Over 190 view and only 4 replies saying they like the idea.

Why not Java?

I like working in C# and the VS IDE better. If someone would like to port it all to Java, I'm fine with that.

Why install a DB over at clients machine (or is this for developer purposes ) ?
This is an offline app, data will be stored locally. Using a database is fast and efficient.
Modifying the data structures of the database to support added features can be accomplished with simple SQL scripts.
By using a database, the user would have the ability to install it anywhere on their LAN and access it from any machine that is running the client.
Multiple users' data could be stored in the same database and kept private through individual logins (if so desired).
It could be written as a web app, but then the data would have to be hosted somewhere (read : not free).

Or am I off base and not understanding your question, caleb?

@Ford : In this context I am using the term module to indicate a higher level function embedded within the overall application. For instance, the BST manager would be considered a module, as well as would the PM Manager.
 

streetfighter 2

New Member
Joined
Jul 26, 2010
Messages
1,655 (0.33/day)
Location
Philly
You know I'm down :)

What version control are we using? git?

Just an idea for aiding in brainstorming: https://bubbl.us/

Also, I was thinking about whipping up a nasty shell script (using wget and lots of grep) that would scan score threads for scores then output a list sorted by member (then sorted by score per member) with the highest score per member auto checked, allowing the user to approve or modify the list as needed. Then when they're happy it would output the score list in coded table form for vBulletin and easy posting. I think a feature like that (but implemented using SQL) would be nice to have in the watchamahoosit you're describing :D.

Also, what the hell is a "BST Manager"? Binary Search Tree Manager :roll:?
 
Last edited:

xbonez

New Member
Joined
Nov 29, 2010
Messages
1,182 (0.24/day)
Location
Philly, PA (US)
System Name Winter
Processor AMD Phenom II x4 965 BE @ 4.0Ghz
Motherboard MSI 790FX-GD70
Cooling Corsair H50 Liquid Cooling
Memory 2 x 2Gb Gskill Ripjaws 1600Mhz (7-7-7-24@1.6V)
Video Card(s) Asus GTX 470 @ Stock (Zalman VF3000 cooler)
Storage 2 x Samsung Spinpoint F3 500GB (RAID 0)
Display(s) Hanns G 28" @ 1920x1200
Case Antec 1200
Audio Device(s) Onboard -- TosLink --> Z5500
Power Supply Corsair 850TX 850W PSU
Software Win 7 64-bit Ultimate
I'd definitely interested in participating. I am comfortable around C#, and work as a .NET developer. I have .NET 4.0 and Visual Studio 2010 Professional at home on my desktop and laptop.
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Also, what the hell is a "BST Manager"? Binary Search Tree Manager ?

Buy/Sell/Trade Manager for people who do a lot in that section and want to keep accurate records of things.

I do like Binary Search Tree Manager, though. :laugh:

So far, four people offered to help. That's a team in my book.
I need to look into a few things ... more soon.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
Doesn't Visual Studio come with some form of SQL server?

Would you be interested in that Automatic File Backup code? It is intended to run as a tray application.

This sounds mostly like database work which I'm not all that fond of. My expertice is in writing fully formed classes so if you got something in that area you want me to do, I'll probably do it.
 

streetfighter 2

New Member
Joined
Jul 26, 2010
Messages
1,655 (0.33/day)
Location
Philly
Doesn't Visual Studio come with some form of SQL server?
Not that I'm presently aware of, but the last version of VS I installed was an Express edition...

Since we're using SQL I'd suggest SQLite, which has bindings in C# and wouldn't require the user to install any background services.

This sounds mostly like database work which I'm not all that fond of. My expertice is in writing fully formed classes so if you got something in that area you want me to do, I'll probably do it.
I'm fairly new to SQL myself but it's actually pretty simple. Also, the interface is going to contain a lot more than querying :).
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
This is some of what Express installs:


Might just be means to access a remote SQL server and not actually an instance of SQL Server itself.
 
Joined
Jan 27, 2010
Messages
4,158 (0.80/day)
Location
USA
System Name ASUS ROG Zephrus M15
Processor AMD Rhyzen 7 4800HS
Memory 16GB
Video Card(s) Geforce RTX 2060
Storage 1TB
sounds like a sweet little project. I will keep an eye on it
 

xbonez

New Member
Joined
Nov 29, 2010
Messages
1,182 (0.24/day)
Location
Philly, PA (US)
System Name Winter
Processor AMD Phenom II x4 965 BE @ 4.0Ghz
Motherboard MSI 790FX-GD70
Cooling Corsair H50 Liquid Cooling
Memory 2 x 2Gb Gskill Ripjaws 1600Mhz (7-7-7-24@1.6V)
Video Card(s) Asus GTX 470 @ Stock (Zalman VF3000 cooler)
Storage 2 x Samsung Spinpoint F3 500GB (RAID 0)
Display(s) Hanns G 28" @ 1920x1200
Case Antec 1200
Audio Device(s) Onboard -- TosLink --> Z5500
Power Supply Corsair 850TX 850W PSU
Software Win 7 64-bit Ultimate
@Ford: yeah, I'm pretty sure those are just the assemblies to connect to a remote sql server
 

streetfighter 2

New Member
Joined
Jul 26, 2010
Messages
1,655 (0.33/day)
Location
Philly
This is some of what Express installs:
http://img.techpowerup.org/110202/express.png

Might just be means to access a remote SQL server and not actually an instance of SQL Server itself.
Interesting. I forgot to check the uninstall list...:eek:

I checked with VS2010:Express and I only have these two SQL components:
Microsoft SQL Server Compact 3.5 SP2 ENU
Microsoft SQL Server Compact 3.5 SP2 x64 ENU

Though I custom install everything and I might have deselected the CLR and Management Objects :laugh:

Honestly I've started using Mono and I prefer it to VS :laugh:.
 
Joined
Sep 15, 2004
Messages
1,583 (0.22/day)
Location
Poland,Slask
System Name HAL
Processor Core i5 2500K
Motherboard Asus P8P67 Pro Rev3.1
Cooling stock
Memory 2x4GB Kingston 1600Mhz Blu
Video Card(s) Asus 560Ti DirectCuII TOP
Storage Kingston 120 3K SSD,WD Black WD1502FAEX
Display(s) LG 1440x900
Case Chieftec Mesh Midi
Audio Device(s) onboard
Power Supply Corsair TX750V2
Software w8
Or am I off base and not understanding your question, caleb?

No.

Was just wondering if such a "big" database engine is a good choice. Having your data mobile seems a nice feature and I think preferable over installing local db.
 

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
Connecting to different databases is basically just changing the connection string and making sure you have the driver (system data source) loaded.
Syntax for SQL commands can vary a little depending on what you are doing. Multiple choices is fine with me.

As far as portable data, I have no problem with giving the users the option to serialize their data in some other manner than in a database (it's a bit more work, but we're in no hurry.).
I'm not nuts about having separate files for each module and would prefer to see all of the data in one data file of some type (and a backup of it to help prevent accidental deletion).
Any preferences on data serialization (binary, XML, etc.)?

RE: Compact Edition for MS website ...
Microsoft SQL Server Compact is a free SQL Server embedded database ideal for building standalone and occasionally connected applications for mobile devices, desktops, and Web clients.

Top Features
Free to use and distribute
Supports desktops and mobile devices
Small footprint for easy deployment
Fully embeddable architecture
No administration required
Single file, code-free database format
Support for ClickOnce, XCopy, MSI, CAB, and non-admin embedded installation options
Supports all Microsoft Windows embedded, mobile, desktop, and server operating systems
Supports a rich subset of Transact-SQL syntax and SQL Server data types
Microsoft Visual Studio 2008 integration
Supports ADO.NET, LINQ to SQL, LINQ to Entities, and the ADO.NET Entity Framework
Supports multiple concurrent local connections

This would also be fine to use, but I'm not sure if we could get remote connections (TCP/IP) to work with this version.
They keep refering to the fact that it integrates and communicates with (a full version of) SQL Server.
Actually, the Express version comes set as local only and you have to tweak it to allow connections from remote computers.
It may be possible to tweak Compact in a similar manner using SQL Management Studio Express (I've not looked into it).

Oh I almost forgot ... we need a name for the project. Ideas?
 
Last edited:

streetfighter 2

New Member
Joined
Jul 26, 2010
Messages
1,655 (0.33/day)
Location
Philly
As far as portable data, I have no problem with giving the users the option to serialize their data in some other manner than in a database (it's a bit more work, but we're in no hurry.).
I'm not nuts about having separate files for each module and would prefer to see all of the data in one data file of some type (and a backup of it to help prevent accidental deletion).
Any preferences on data serialization (binary, XML, etc.)?
This is why I think SQLite would be better than going with MySQL or SQL Server Express. Creating a database file is as easy as SQLiteConnection.CreateFile("mydatabasefile.db3") and the runtime is contained in the executable (though I'm not sure if it requires a dll or something). I'm obsessed with eliminating background processes so only running the database when I need it is very appealing to me.

This would also be fine to use, but I'm not sure if we could get remote connections (TCP/IP) to work with this version.
They keep refering to the fact that it integrates and communicates with (a full version of) SQL Server.
Actually, the Express version comes set as local only and you have to tweak it to allow connections from remote computers.
It may be possible to tweak Compact in a similar manner using SQL Management Studio Express (I've not looked into it).
I wasn't aware that we were looking to setup remote connections to the database. SQLite could still work but it'd need a manager to run on the host computer.

Anyway, I'm not at all ashamed to admit I know f*ckel about SQL so I could be wrong about everything. :laugh:
Oh I almost forgot ... we need a name for the project. Ideas?
TPyou :roll:
 

xbonez

New Member
Joined
Nov 29, 2010
Messages
1,182 (0.24/day)
Location
Philly, PA (US)
System Name Winter
Processor AMD Phenom II x4 965 BE @ 4.0Ghz
Motherboard MSI 790FX-GD70
Cooling Corsair H50 Liquid Cooling
Memory 2 x 2Gb Gskill Ripjaws 1600Mhz (7-7-7-24@1.6V)
Video Card(s) Asus GTX 470 @ Stock (Zalman VF3000 cooler)
Storage 2 x Samsung Spinpoint F3 500GB (RAID 0)
Display(s) Hanns G 28" @ 1920x1200
Case Antec 1200
Audio Device(s) Onboard -- TosLink --> Z5500
Power Supply Corsair 850TX 850W PSU
Software Win 7 64-bit Ultimate

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
This is why I think SQLite would be better than going with MySQL or SQL Server Express. Creating a database file is as easy as SQLiteConnection.CreateFile("mydatabasefile.db3") and the runtime is contained in the executable (though I'm not sure if it requires a dll or something). I'm obsessed with eliminating background processes so only running the database when I need it is very appealing to me.

I can understand that. Many here on TPU want to eliminate all processes being unused at the moment. Personally, I don't worry about it.

I wasn't aware that we were looking to setup remote connections to the database. SQLite could still work but it'd need a manager to run on the host computer.

Anyway, I'm not at all ashamed to admit I know f*ckel about SQL so I could be wrong about everything. :laugh:

lol ... Since the SQLite database is a single disk file, other computers would only need to map the directory it's in to access it from the app. SQLite does entire file locking on reads and writes so there could be concurrency issues. As they state in the documentation, most locks do not last for more than a few dozen milliseconds, so it would probably not be a big issue, and the effects could be mitigated in code.


No comment. :laugh:

xbonez said:
My vote goes for XML.

Why? Just curious.
 

streetfighter 2

New Member
Joined
Jul 26, 2010
Messages
1,655 (0.33/day)
Location
Philly
I can understand that. Many here on TPU want to eliminate all processes being unused at the moment. Personally, I don't worry about it.
If I had 8GB of ram I wouldn't care much either! :laugh:
lol ... Since the SQLite database is a single disk file, other computers would only need to map the directory it's in to access it from the app. SQLite does entire file locking on reads and writes so there could be concurrency issues. As they state in the documentation, most locks do not last for more than a few dozen milliseconds, so it would probably not be a big issue, and the effects could be mitigated in code.
Are you sure it locks on reads? I've been reading the wiki and some docs and so far as I can tell it only locks on writes but there is also a write/fail/retry ability in the API.
From wikipedia entry on SQLite
Several computer processes or threads may access the same database without problems. Several read accesses can be satisfied in parallel. A write access can only be satisfied, if no other accesses are currently being serviced. Otherwise, the write access fails with an error code (or can automatically be retried until a configurable timeout expires). This concurrent access situation would change when dealing with temporary tables.
Apparently Firefox uses SQLite so the concurrency issues can't possibly be critical.:confused:*

*why is the confused face sad? Can't it be happy and confused? And no, this isn't a gay joke . . .

@ Kreij Ah, good. The way you wrote your other post had me wondering if it locked on parallel reads (which would definitely cause problems). My vote definitely goes for SQLite then, assuming this is a votable decision :laugh:. No supplementary installs; just a single standalone executable that generates a single file database; definitely sounds nice to me...
 
Last edited:

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
I was going by this from the SQLite documentation on their site ...
•High Concurrency

SQLite uses reader/writer locks on the entire database file. That means if any process is reading from any part of the database, all other processes are prevented from writing any other part of the database. Similarly, if any one process is writing to the database, all other processes are prevented from reading any other part of the database. For many situations, this is not a problem. Each application does its database work quickly and moves on, and no lock lasts for more than a few dozen milliseconds. But there are some applications that require more concurrency, and those applications may need to seek a different solution.

So yes, concurrent reads can occur, but reading locks out writing and writing locks out everything. As I said, probably inconsequential.
 

xbonez

New Member
Joined
Nov 29, 2010
Messages
1,182 (0.24/day)
Location
Philly, PA (US)
System Name Winter
Processor AMD Phenom II x4 965 BE @ 4.0Ghz
Motherboard MSI 790FX-GD70
Cooling Corsair H50 Liquid Cooling
Memory 2 x 2Gb Gskill Ripjaws 1600Mhz (7-7-7-24@1.6V)
Video Card(s) Asus GTX 470 @ Stock (Zalman VF3000 cooler)
Storage 2 x Samsung Spinpoint F3 500GB (RAID 0)
Display(s) Hanns G 28" @ 1920x1200
Case Antec 1200
Audio Device(s) Onboard -- TosLink --> Z5500
Power Supply Corsair 850TX 850W PSU
Software Win 7 64-bit Ultimate
Top