Showing entries 301 to 310 of 1145
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: General (reset)
TaskFreak! v0.6.2 – Add Unique Ticket/Task Number

Background Knowledge

TaskFreak! does not show within the interface a unique ticket/task number. Depending on the use of TaskFreak! having such a value can have it’s benefits. Since this unique value does already exist in the back end, it will be fairly trivial to render this value within the task list and task details panel. I will show you how this is done using Searcher’s solution posted in the TaskFreak! Forum. There has been some modifications but not much.

Solution

  1. Edit index.php in the root of TaskFreak!. Add the table header column just below line # 248 as follows.

    2
    
              <th width="3%" onclick="freak_sort('itemId')" class="sortable" >< …
[Read more]
Transforming end user queries to Solr

A bit less than a year ago I last did a presentation about a telephone book application where we used SQL to do some fairly advanced filtering over about 30 tables of data. The app generated SQL statements that filled pages, the more terms the more pages, but on a 10k dataset it still came back within a few milliseconds, thanks to a ton of indexing and denormalization tricks (SQL Server is a lot more powerful here than MySQL) I had applied. Now in a more recent project I am dealing with 10M+ dataset running on MySQL and so decided to learn about Solr. Wow, that thing is amazing and way more flexible in terms of query language than I expected. As a result I do not see it any more for just projects that are too big for an RDBMS, but more as the way to do search …

[Read more]
ENUM now works properly (in Drizzle)

Over at the Drizzle blog, the recent 2010-06-07 tarball was announced. This tarball release has my fixes for the ENUM type, so that it now works as it should. I was quite amazed that such a small block of code could have so many bugs! One of the most interesting was the documented limit we inherited from MySQL (see the MySQL Docs on ENUM) of a maximum of 65,535 elements for an ENUM column.

This all started out from a quite innocent comment of Jay‘s in a code review for adding support for the ENUM data type to the embedded_innodb engine. It was all pretty innocent… saying that I should use a constant instead of the magic 0×10000 number as a limit …

[Read more]
Deploying app updates to a cluster

So William was asking on twitter how to best deploy symfony apps to a cluster of servers. There are actually some nice deployment tools inside the symfony cli that ease deployment to a single server, but that doesn't really cover the cluster case. Actually I assume that if you have a cluster of servers the best deployment strategy should probably be optimized against your specific use case. But let's make this question a bit more general: How do you deploy updates to your PHP apps running a clustered setup? What architecture do you pick? How do you keep the site running with as few limitations as possible during the update? How do you distribute the new code? How do you clean and prime your caches? How do you handle DB changes? How do you ensure that the DB and code changes do not get in the way of each other?

Obviously the choice of RDBMS can play a big role …

[Read more]
Vendors: please stomp out SQL injection

I have blogged about prepared statements a few times, which is what most people rely on (too much) for SQL injection protection. I say too much because they do not really protect code fully against SQL injection attacks and they come with a lot of performance hurting baggage. To sum up: prepared statements do not handle all aspects of dynamic SQL creation, they add network I/O and memory overhead and they tend to generate less optimal query plans. Some of these issues can be solved by doing client side emulation, but that brings with itself its share of issues and I have to agree with Bill and not Brian that …

[Read more]
CLI, Roller, Jersey, JavaOne... and More GlassFish News - April 27th, 2010

Install and Run Apache Roller 4.01 on GlassFish and OpenSolaris
Dave Koelmeyer has posted Detailed Instructions on how to install Apache Roller 4.01 on GlassFish v2.1 using MySQL 5.1 for storage.  He uses OpenSolaris snv_134, the subject of a tea-leaf-reading thread.

Slides and Code Samples on Jersey and JAX-RS
The Slides and code from Paul Sandoz's presentation at Presentation at AlpesJug on Jersey, JAX-RS and Atmosphere are now  …

[Read more]
Drizzle Developer Day is TODAY!

http://drizzle.org/wiki/Drizzle_Developer_Day_2010

Upstairs in the Hyatt right near the Speaker room (down the hallway on the left from the main conference registration desk).

See you here!

[Read more]
Gimme a schema for the schema-less

One of the key features of NoSQL is the fact that its schema-less. Awesome. Of course I could just dump a serialized string of my "document" into an RDBMS and I could end up with more or less the same, but the big difference of course is that NoSQL (to me key-value stores do not fall under the NoSQL umbrella) still supports non hacky ways to interact with individual values inside a document as well as indexing. But while at first it might seem great to not have at the database enforce a specific schema, the app developer better have a good idea of his schema. Otherwise one developer might call a field "is_active" the next one might call it "isActive" and another one "enabled". I have little to no experience with CouchDB, MongoDB etc. but I am not really all that thrilled about schema-less for the above reason, what I want is no-cost-for-schema-changes, I do want a schema!

This is why I was quite thrilled back when IBM come out with top …

[Read more]
The Drizzle (and MySQL) Key tuple format

Here’s something that’s not really documented anywhere (unless you count ha_innodb.cc as a source of server documentation). You may have some idea about the MySQL/Drizzle row buffer format. This is passed around the storage engine interface: in for write_row and update_row and out for the various scan and index read methods.

If you want to see the docs for it that exist in the code, check out store_key_val_for_row in ha_innodb.cc.

However, there is another format that is passed to your engine (and that your engine is expected to understand) and for lack of a better name, I’m going to call it the key tuple format. The first place you’ll probably see this is when implementing the index_read function for a Cursor (or handler in MySQL speak).

You get two things: a pointer to the buffer and the length of the buffer. Since a key can be made up of multiple parts, some of which can be NULL and some of which can be of …

[Read more]
Obligatory NoSQL post

So everyone is blogging about NoSQL like there was just a divine intervention that handed us this epiphany just 2 weeks ago. Well I guess the term has still sort of fresh so everybody is busy making sure Google, Bing and friends get at least one hit on their blog when people search for NoSQL. Now is my turn.

A lot of the following is stating the obvious (though a lot of NoSQL posts from either side of the fence - why is there even a fence on this topic? - are not mentioning them .. so maybe not so obvious:

  • use the right tool for the job (yes I still have use cases for MyISAM)
  • NoSQL is a sucky name, because while some people also hate SQL, the key change is in dropping the relational model and/or ACID
  • So yes you can take away the SQL interface from a MySQL storage engine and its still not what people think of when they say NoSQL
  • You could stick an SQL interface in front of a NoSQL …
[Read more]
Showing entries 301 to 310 of 1145
« 10 Newer Entries | 10 Older Entries »